在发布者和订阅者上复制数据库时执行命令?

时间:2012-10-16 15:11:50

标签: sql-server-2008 sql-server-2012

我有两个MSSQL 2012数据库。 我配置了快照复制,其中第一个服务器是发布者和分发者,另一个是订阅者。

我希望能够在复制作业发生之前在发布者上执行命令,然后在复制完成后立即在订阅者上执行另一个命令。

我相信这应该是拉快照复制,以便代理位于订阅服务器上。

这甚至可能吗?

EDIT。由于快照复制的性质,我转而使用事务复制,从而无法在复制启动和停止时执行脚本。

1 个答案:

答案 0 :(得分:0)

我在数据复制时从未找到成功执行命令的方法,因为我切换到事务复制。处理此事务类型的作业将启动,然后继续运行,而不是像作业启动时的快照复制 - 复制数据 - 停止。

相反,我使用任务调度程序设置了我需要执行的作业。我的服务通过数据库将文件传输到Web服务器或从Web服务器传输文件。并且只会传输文件(如果尚未存在)。

使用任务调度程序工作得非常好,并且它比执行sql脚本更简单和稳定,然后执行一个PowerShell远程处理命令来连接到服务器并执行服务。

我只是想如果其他人偶然遇到类似的问题我会加上这个:)