欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SqlException 服务器主体无法在当前安全上下文下访问数据库

程序员文章站 2022-08-29 21:06:07
遇到一个错误如下 System.Data.SqlClient.SqlException HResult=0x80131904 Message=服务器主体 "用户名" 无法在当前安全上下文下访问数据库 "数据库名"。 Source=.Net SqlClient Data Provider StackT ......

    遇到一个错误如下

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 [用户名]