如何以只读方式打开SQL Server数据库?

时间:2013-01-29 21:48:17

标签: c# sql-server

我有一个Windows服务写入单表SQL Server数据库(2008)。

我希望其他应用程序以只读模式读取表。

如何通过应用程序正确打开数据库,以便它是只读的?

服务打开数据库的方式有何变化?

显然我不能将数据库改为只读,因为服务必须写入它。

2 个答案:

答案 0 :(得分:2)

无需更改服务。只提供一个只被授予db_reader角色的登录名。如果您有任何存储过程,则必须向具有GRANT EXEC ON <proc> TO <user>命令的用户授予访问权限。

答案 1 :(得分:1)

让该应用程序与仅具有db_datareader角色的用户连接,发现@ Server Fault:

  

在安全&gt;登录,创建新登录,并在用户映射中   部分,勾选两个数据库,并为每个选择db_datareader   角色成员资格。

     

这将提供对每个数据库中所有数据的读访问权。

     

...

https://serverfault.com/a/116273