我需要在2个数据库之间创buildSQL日志传送,
源位于运行Windows Server 2008 R2和SQL Server 2008的AWS EC2实例上
目标位于运行Windows数据中心2012和SQL Server 2012的Azure虚拟机上
这个过程需要以下几点:
A.源服务器写入一个文件
B.目标服务器将文件复制到本地文件夹上
C.目标服务器使用该文件
所有这些任务都由sql server进程完成
现在我有创build实例之间的一些共享文件夹的问题,我试图做到以下几点:
步骤A完成到机器上的本地文件夹,
在步骤b sql服务器试图访问该文件夹使用这种格式(并将文件从它复制到本地文件夹):
\\serveraddress\drive$\folder
在授予对源服务器中的该文件夹的访问权限并启用共享和启用来宾用户之后
然而,我不断有访问问题,复制过程失败。
应该怎么做?
谢谢
编辑:
我最终没有成功尝试任何build议的解决scheme,一些如何SQL服务器无法访问用户有权访问的文件夹,
所以,而不是深入到我已经select使用第三方软件来同步2个服务器之间的信息,如dropbox / svn等..并通过使用相同的位置共享文件夹在两台服务器上,我可以在一个非常简单的方法使用networking位置:
\\localhost\...
并且两台计算机都会像在networking上那样工作,但是文件夹在本地实例上同步并共享,所以没有许可问题。
不是理想的解决scheme,但它的作品。
用户和服务器是否都在同一个Active Directory域中,或者在源服务器所信任的域中? 如果没有,用户正试图通过networking匿名login。 在从2003 / XP开始的Windows版本中,“所有人”组不会为此授予权限。 您需要授予对匿名login和NETWORK组的权限。
步骤1。 不要使用<drive> $ shares – 这些是pipe理共享,需要pipe理员权限。
然后在目标服务器上:
创build你自己的份额,例如:
net share LOG_SHIPPING=d:\data\log_shipping /grant:everyone,full /cache:none /remark:"something meaningful"
在目标服务器上创build一个本地帐户:
net user log_shipping_user <PASSWORD> /comment:"something meaningful" /passwordchq:no /add
设置权限approrpriately,例如:
icacls d:\data\log_shipping /grant "log_shipping_user:(OI)(CI)(M)"
然后在源服务器上,使用上述用户进行入站连接:
net use \\<TARGET SERVER>\log_shipping /user:<TARGET_SERVER>\log_shipping_user /password:<PASSWORD>
这应该工作。 另一方面,在相反的方向进行连接。