我有两个MSSQL 2012数据库。 我配置了快照复制,其中第一个服务器是发布者和分发者,另一个是订阅者。
我希望能够在复制作业发生之前在发布者上执行命令,然后在复制完成后立即在订阅者上执行另一个命令。
我相信这应该是拉快照复制,以便代理位于订阅服务器上。
这甚至可能吗?
EDIT。由于快照复制的性质,我转而使用事务复制,从而无法在复制启动和停止时执行脚本。
答案 0 :(得分:0)
我在数据复制时从未找到成功执行命令的方法,因为我切换到事务复制。处理此事务类型的作业将启动,然后继续运行,而不是像作业启动时的快照复制 - 复制数据 - 停止。
相反,我使用任务调度程序设置了我需要执行的作业。我的服务通过数据库将文件传输到Web服务器或从Web服务器传输文件。并且只会传输文件(如果尚未存在)。
使用任务调度程序工作得非常好,并且它比执行sql脚本更简单和稳定,然后执行一个PowerShell远程处理命令来连接到服务器并执行服务。
我只是想如果其他人偶然遇到类似的问题我会加上这个:)