我希望能够只读访问我的
sql Server 2008
数据库服务器.特别是两个
数据库,一个称为“实时”,一个称为“阶段”.
基本上,收到此用户名和密码的人应该能够从任何表中进行选择,但不能执行任何更新,删除或插入.当然,他们不应该执行DDL操作.如果必须的话,我可能会禁止它们运行存储过程.
任何建议?
在安全>
登录,创建新
登录,并在“
用户映射”部分中,勾选两个
数据库,并为每个选择db_datareader角色成员身份.
这将提供对每个DB中所有数据的读访问权限.
如果要在脚本中执行此操作,则需要启动GRANT命令.
另一种方法是通过存储过程提供对数据的访问,而不是为它们提供对原始数据的读取权限,授予它们对所选SProcs的执行权限.
最终装饰:如果设置这些权限是繁琐的,您可能想要创建自己的数据库角色,并且可以如上所述分配这些权限.对于每个用户(现在和将来),您只需将它们分配给该角色即可.