Msg 916:The server principal "user" is not able to access the database "DBTest" under the current security context.
创建了一个存储过程,以用户[user]执行,但是在执行的过程中报以上错误 :根据当前安全上下文,用户不能访问Database “DBTest” 。
原因:激活执行上下文只在当前库中有效,在整个服务器并不有效,而恰好在存储过程中需要往DBTest中的表里写入数据, 所以就报错了,
最简单的处理方式就是开启TRUSTWORTHY 标志,
ALTER DATABASE CURDB SET TRUSTWORTHY ON
查看状态:
SELECT is_trustworthy_on,* FROM sys.databases WHERE name=’CURDB’;