我有一个Windows服务写入单表SQL Server数据库(2008)。
我希望其他应用程序以只读模式读取表。
如何通过应用程序正确打开数据库,以便它是只读的?
服务打开数据库的方式有何变化?
显然我不能将数据库改为只读,因为服务必须写入它。
答案 0 :(得分:2)
无需更改服务。只提供一个只被授予db_reader角色的登录名。如果您有任何存储过程,则必须向具有GRANT EXEC ON <proc> TO <user>
命令的用户授予访问权限。
答案 1 :(得分:1)
让该应用程序与仅具有db_datareader角色的用户连接,发现@ Server Fault:
在安全&gt;登录,创建新登录,并在用户映射中 部分,勾选两个数据库,并为每个选择db_datareader 角色成员资格。
这将提供对每个数据库中所有数据的读访问权。
...