运送SQL Server 2005事务日志的权限

我试图将事务日志从服务器A发送到服务器B.当代理尝试运行时,我不断收到权限被拒绝的错误,因为它没有使用正确的凭据连接到备份文件夹共享。

  • 两个服务器都不在域中(这不是一个选项)。
  • 我在服务器B上设置了放置文件的共享文件夹,但服务器A需要访问才能写入文件。 (反之亦然,服务器B需要从服务器A提供的共享中读取。)
  • 我无法将服务器B的共享权限授予服务器A的SQL代理,因为服务器是分开的。

有什么办法可以指定服务器A连接到服务器B时使用的login凭据?

我指的是这个屏幕上的第一个文本框:

替代文字

我想如果你让login凭证在每个服务器上都有相同的用户名和密码,它可能会工作。 或者你已经试过这个?

您需要在两台具有相同名称和相同密码的服务器上创build一个帐户。 您将需要configurationSQL Server和SQL代理程序在这些login名下运行,在这些login名上,服务器将要将这些文件推送/拉出到另一台计算机上。

在源系统上设置本地用户帐户。

在目标系统上使用完全相同的用户名和密码设置本地用户帐户。

将源系统的MSSQLSERVER服务(或该服务的相应实例)服务帐户设置为使用新创build的本地帐户。

在目标系统上创build共享,并为新创build的帐户提供对该文件夹的读/写权限。

目标服务器不一定需要使用该服务帐户运行,它是可选的。

作为替代,您也可以执行以下操作。 它需要在作业中使用明文密码,所以不build议这样做。 在您的备份脚本中,执行以下操作:

exec sp_configure'xp_cmdshell',1重新configuration

exec'xp_cmdshell'net use \ targetserver \ path / user:shareusername / password:shareuserpassword'''

exec sp_configure'xp_cmdshell',0重新configuration

replace您在目标服务器上创build的用户/密码。 它应该是只能访问该共享的帐户,而不是pipe理员或任何其他用户,以最大限度地降低明文密码的安全影响。

理论上你可以做到这一点作为系统启动SP,它应该工作。 我可能会坚持到备份工作。

这也假定你正在closuresxp_cmdshell,这是默认的,正确的和高安全性的选项。 如果您将它一直打开,则可以删除sp_configure并重新configuration语句。