2009-04-28 41 views
1

我们在2个Sql Server 2005机器上建立了一个logshipping scenairo。辅助数据库处于STANDBY模式。 我们希望将此辅助服务器用于报告目的,因为报告查看者将根据它们的给定执行权限来查询此STANDBY数据库。所以我们需要这个辅助服务器上的多个用户,在STANDBY数据库上拥有不同的执行权限。在SANDBY服务器上登录新Sql登录

问题是,在设置日志传送后,我们无法授予备用数据库所需的权限,因为它是只读的。

你有什么建议吗?

感谢, 了Umut

回答

2

由于某种原因,直到我们设置了一个更好的报告系统,我们需要使用备用服务器进行报告。 还有一种方法可以创建新用户,并为备用服务器上的该用户提供必要的sp执行权限。 简单的解决方案是,在主服务器上创建登录并从主表中选择其SID。然后使用“sp_addlogin”在备用数据库上使用相同的SID创建相同的登录名。 然后,在主服务器上为数据库上的用户提供所需的权限。使用恢复的事务日志,执行权将发送到备用服务器。两台服务器上的密码不需要相同,因此备用报告查看器用户无法使用相同的凭据访问主服务器。

+0

太棒了!有用.. – IamCP 2013-07-02 06:11:52

1

可悲的是,你需要寻找到比日志传送以外的东西。

日志传送的工作原理是在辅助服务器上以“连续”恢复/恢复状态保持最新的日志副本。因此,数据库永远不会实际上处于活动状态或活动状态,因为它始终只是应用越来越多的日志并等待命令使其启动。

换句话说,日志传送仅用于高可用性 - 它不支持以USABLE格式复制数据。

要了解更多关于什么目的测井服务,看看这个视频: http://www.sqlservervideos.com/video/logging-essentials/

如果你真的需要一个辅助服务器报告的目的,那么我会建议使用像事务复制。 (它不适合高可用性解决方案,因为您必须做出一些模式更改和限制......但它确实很好,可以将数据库的多个副本“发布”到不同的服务器/位置报告目的)。