Maison  >  Article  >  base de données  >  sqlserver 服务器主体 无法在当前安全上下文下访问数据库

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

WBOY
WBOYoriginal
2016-06-07 15:44:352569parcourir

今天使用sqlserver,发现了一个问题,就是使用 insert into 数据库名.dbo.表名(字段) values(值) 这样语句的时候,会返回错误: sqlserver 服务器主体 无法在当前安全上下文下访问数据库。 于是在网上找了一下资料,发现是因为trustworthy数据库属性用于指明

今天使用sqlserver,发现了一个问题,就是使用 insert into 数据库名.dbo.表名(字段) values(值) 这样语句的时候,会返回错误:

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

于是在网上找了一下资料,发现是因为trustworthy数据库属性用于指明 SQL Server 实例是否信任该数据库以及其中的内容。默认情况下,此设置为 OFF,但是可以使用 ALTER DATABASE 语句将其设置为 ON。

查看看到哪些数据库开了trustworthy属性,命令如下:

SELECT name, database_id, is_trustworthy_on FROM sys.databases,默认就msdb开的有。

要打开数据库trustworthy属性,命令如下:

ALTER DATABASE 数据库名 SET TRUSTWORTHY ON

授权用户访问,命令如下:

ALTER AUTHORIZATION ON DATABASE::数据库名 TO [用户名]

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn