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


    遇到一个错误如下

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM