拓扑中的所有复制组件都应作为灾难恢复计划的一部分编写脚本,并且脚本还可用于自动执行重复任务。 脚本包含实现复制组件(如发布或订阅)所需的 Transact-SQL 系统存储过程。 可以在向导(如新建发布向导)或创建组件后Microsoft SQL Server Management Studio 中创建脚本。 可以使用 SQL Server Management Studio 或 sqlcmd 查看、修改和运行脚本。 可以使用备份文件存储脚本,以便在必须重新配置复制拓扑时使用。
如果进行了任何属性更改,则应重新编写组件脚本。 如果将自定义存储过程用于事务复制,则应使用脚本存储每个过程的副本;如果过程发生更改(过程通常因架构更改或更改应用程序要求而更新),则应更新副本。 有关自定义过程的详细信息,请参阅 指定如何传播事务项目的更改。
对于使用参数化筛选器的合并发布,发布脚本包含用于创建数据分区的存储过程调用。 该脚本提供了对创建的分区的引用,以及在必要时重新创建一个或多个分区的方法。
使用脚本自动执行任务的示例
请考虑 Adventure Works Cycles,这家公司通过合并复制技术将数据分发给其远程销售团队。 销售代表使用拉取订阅下载与其区域内客户相关的所有数据。 脱机工作时,销售代表会更新数据,并输入新的客户和订单。 由于 Adventure Works Cycles 在不同区域有超过五十名销售代表,因此在每个订阅者处使用“新建订阅向导”创建不同的订阅会非常耗时。 相反,复制管理员可以按照以下步骤进行操作:
根据销售代表或其区域,设置必要的合并出版物和分区。
为一个订阅者创建拉取订阅。
基于该请求订阅生成脚本。
修改脚本,更改例如订阅者名称等值。
在多个订阅服务器上运行脚本以生成所需的请求订阅。
脚本复制对象
从复制向导或Microsoft SQL Server Management Studio 中的 复制 文件夹编写复制对象脚本。 如果通过向导编写脚本,可以选择创建对象和编写脚本,也可以仅选择编写脚本。
重要
所有密码都被设定为 NULL。 如果可能,请提示用户在运行时输入安全凭据。 如果将凭据存储在脚本文件中,则必须确保文件的安全以防受到未经授权的访问。
有关使用复制向导的详细信息,请参阅:
从复制向导编写对象脚本
在某个向导的“向导操作”页上,选中适合该向导的复选框:
生成包含创建发布的步骤的脚本文件
生成包含创建订阅的步骤的脚本文件
使用配置分发的步骤生成脚本文件
在 “脚本文件属性 ”页上指定选项。
完成安装向导。
从 Management Studio 编写对象脚本
在 Management Studio 中连接到分发服务器、发布服务器或订阅服务器,然后展开服务器节点。
展开 “复制 ”文件夹,然后展开 “本地发布 ”文件夹或 “本地订阅 ”文件夹。
右键单击发布或订阅,然后单击“ 生成脚本”。
在 “生成 SQL 脚本 - <ReplicationObject> ”对话框中指定选项。
单击“ 脚本到文件”。
在“ 脚本文件位置 ”对话框中输入文件名,然后单击“ 保存”。 将显示状态消息。
单击 “确定” ,再单击 “关闭” 。
从 Management Studio 编写多个对象的脚本
在 Management Studio 中连接到分发服务器、发布服务器或订阅服务器,然后展开服务器节点。
右键单击 “复制 ”文件夹,然后单击“ 生成脚本”。
在 “生成 SQL 脚本 ”对话框中指定选项。
单击“导出脚本到文件”。
在“ 脚本文件位置 ”对话框中输入文件名,然后单击“ 保存”。 将显示状态消息。
单击“ 确定”,然后单击 “ 关闭”。