SQL 2005快照安全性
时间:2020-03-05 18:57:37 来源:igfitidea点击:
在SQL Server 2005中,可以创建数据库快照,该快照允许对数据库的只读访问,即使该数据库处于"恢复挂起"模式下也是如此。此功能的一个用例是创建一个引用生产数据库副本的报告数据库,该数据库通过日志传送保持最新。
在这种情况下,如何在与"生产"源数据库不同的"快照"数据库上实现安全性?
例如,在生产数据库中,所有对数据的访问都是通过存储过程进行的,而在快照数据库中,允许用户从数据库的表中进行选择以进行报告。我看到的问题是快照数据库的安全性是从源数据库继承的,并且不能更改,因为快照严格是只读的。
解决方案
回答
我们可以管理该数据库的权限吗?对于这种情况,添加仅具有对数据库的读取访问权限的单独用户就足够了吗?这可能是主数据库上的只读用户,但仅在快照数据库上有效使用。
也就是说,将新用户,readerMan5000(仅具有选择访问权限)添加到相关数据库。然后要求用户通过该新凭据进行身份验证。
未来评论者的注意事项,我们可能需要阅读以下内容:
http://www.simple-talk.com/sql/database-administration/sql-server-2005-snapshots/
或者
http://msdn.microsoft.com/zh-CN/library/ms187054(SQL.90).aspx
在像我一样张大嘴之前:)
回答
拍摄快照后无法更改权限,但这是一种解决方法:与其让他们直接访问表,不如让他们使用视图。如果视图仅用于报告,则可以在原始数据库中对其设置严格的安全性,然后让用户在快照中访问这些视图。但是,如果我们希望有效,则需要限制对基础表的访问。