编写复制脚本
制订灾难恢复计划时,应要求为拓扑中的所有复制组件编写脚本,另外,脚本还可以用来自动处理重复性的任务。脚本包含为实现要为其编写脚本的复制组件所需的 Transact-SQL 系统存储过程,如发布或订阅。创建完组件后,可以在向导(如新建发布向导)或 Microsoft SQL Server Management Studio 中创建脚本。您可以使用 SQL Server Management Studio 或 sqlcmd 查看、修改和运行脚本。脚本可以与备份文件存储在一起,以便在必须重新配置复制拓扑时使用。
如果更改了属性,便需要为组件重新编写脚本。如果对事务性复制使用自定义存储过程,则应与脚本一起存储每个过程的副本。如果过程发生更改,应更新相应的副本(通常会由于架构更改或应用程序要求的更改而更新过程)。有关自定义过程的详细信息,请参阅指定如何传播事务性项目的更改。
对于使用参数化筛选器的合并发布而言,发布脚本中包含了对创建数据分区的存储过程的调用。该脚本提供了对所创建的分区的引用和一种在必要时重建分区的途径。
用脚本使任务自动化的示例
请考虑 Adventure Works Cycles,它为把数据分发给远程销售部门而实现合并复制。销售代表可以用请求订阅下载所有他所负责的区域客户的相关数据。脱机工作时,销售代表可以更新数据并输入新的客户和订单。由于 Adventure Works Cycles 在不同地区拥有 50 多个销售代表,所以,用新建订阅向导在每个订阅服务器上创建不同订阅需要耗费大量时间。而复制管理员可以执行下列步骤:
- 建立必要的根据销售代表或其所在区域进行分区的合并发布。
- 为一个订阅服务器创建请求订阅。
- 根据该请求订阅生成脚本。
- 修改脚本,将这些值更改为订阅服务器的名称。
- 在多个订阅服务器上运行脚本,以生成所需的请求订阅。
编写复制脚本
- SQL Server Management Studio:如何编写复制对象脚本 (SQL Server Management Studio)