遇到一个错误如下
system.data.sqlclient.sqlexception
hresult=0x80131904
message=服务器主体 “用户名” 无法在当前安全上下文下访问数据库 “数据库名”。
source=.net sqlclient data provider
stacktrace:
<无法计算异常堆栈跟踪>
解决方案
查看看到哪些数据库开了trustworthy属性,命令如下:
select name, database_id, is_trustworthy_on from sys.databases,默认就msdb开的有。
要打开数据库trustworthy属性,命令如下:
alter database 数据库名 set trustworthy on
授权用户访问,命令如下:
alter authorization on database::数据库名 to [用户名]