复制支持为事务性发布和合并发布的订阅服务器按需执行脚本。 此功能将脚本复制到复制工作目录,然后使用 sqlcmd 在订阅服务器上应用脚本。 默认情况下,如果在将用于订阅的脚本应用于事务性发布时发生失败,分发代理将停止。 您可以指定一个 Transact-SQL 脚本,通过复制存储过程以编程方式执行。
指定要为快照发布、事务发布或合并发布的所有订阅者运行的脚本
编写并测试将按需执行的 Transact-SQL 脚本。
将脚本文件保存到快照代理可以访问的发布位置。
在发布者的发布数据库上,执行sp_addscriptexec(Transact-SQL)。 指定@publication、@scriptfile的名称(即步骤 2 中创建的完整 UNC 路径的脚本文件),以及@skiperror以下值之一:
0 - 如果遇到错误,代理将停止执行脚本。
1 - 代理将记录错误,并在遇到错误时继续执行脚本。
下次运行代理以同步订阅时,将在每个订阅服务器上执行指定的脚本。