0

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

我希望另一个应用程序以只读模式读取表。

我必须做什么才能通过应用程序适当地打开数据库,使其成为只读的?

服务打开数据库的方式有什么变化吗?

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

4

2 回答 2

2

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

于 2013-01-29T21:50:36.010 回答
1

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

在 Security > Logins 下,创建一个新登录名,然后在 User Mapping 部分中,勾选两个数据库,并为每个数据库选择 db_datareader 角色成员资格。

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

...

https://serverfault.com/a/116273

于 2013-01-29T21:50:56.633 回答