日期:2014-05-17  浏览次数:20498 次

如何让所有SQLServer用户只读访问某数据库?
数据库服务器下面有很多用户,按道理说只要grant connect,select to public就可以了
但是运行报错:

消息 4627,级别 16,状态 1,第 1 行
无法对角色和应用程序角色授予、拒绝或撤消连接数据库的权限。

请问如何才能让所有用户都可以只读访问数据库,而不是另开一个只读用户呢?
SQL?Server 数据库 权限

------解决方案--------------------
不行的,Public是Role不是用户或者用户组。Grant的对象是TO <某个用户、登录名或组>,所以你要新建一个用户然后给权限。
------解决方案--------------------
请问如何才能让所有用户都可以只读访问数据库,而不是另开一个只读用户呢?
--> 授予数据库用户db_datareader角色即可.
------解决方案--------------------
引用:
Quote: 引用:

不行的,Public是Role不是用户或者用户组。Grant的对象是TO <某个用户、登录名或组>,所以你要新建一个用户然后给权限。


grant connect to public 这句会报错
grant select to public 但这句是可以的

GRANT CONNECT TO guest;
GO