如何将数据更改的传播方法设置为事务性项目 (SQL Server Management Studio)

在**“项目属性 - <项目>”对话框的“属性”选项卡上指定传播方法,此对话框可以通过新建发布向导和“发布属性 - <发布>”**对话框访问。 有关使用向导和访问对话框的详细信息,请参阅如何创建发布和定义项目 (SQL Server Management Studio)如何查看和修改发布属性以及项目属性 (SQL Server Management Studio)

默认情况下,事务复制使用一组存储过程将每个项目的更改传播到订阅服务器。 也可以使用自定义过程替换这些存储过程。 有关详细信息,请参阅指定如何传播事务性项目的更改

指定传播方法

  1. 在新建发布向导的**“项目”页或“发布属性 - <发布>”对话框中,选择一个表,然后单击“项目属性”**。

  2. 单击**“设置突出显示的表项目的属性”**。

  3. 在**“项目属性 - <项目>”对话框的“属性”选项卡的“语句传递”部分中,使用“INSERT 传递格式”“UPDATE 传递格式”“DELETE 传递格式”**菜单指定每项操作的传播方法。

  4. 单击“确定”。

  5. 如果在**“发布属性 - <发布>”对话框中,请单击“确定”**保存并关闭对话框。

生成和使用自定义存储过程

  1. 在新建发布向导的**“项目”页或“发布属性 - <发布>”对话框中,选择一个表,然后单击“项目属性”**。

  2. 单击**“设置突出显示的表项目的属性”**。

    在**“项目属性 - <项目>”对话框的“属性”选项卡的“语句传递”部分中,从相应的传递格式菜单(“INSERT 传递格式”“UPDATE 传递格式”“DELETE 传递格式”)中选择 CALL 语法,然后键入要在“INSERT 存储过程”“DELETE 存储过程”“UPDATE 存储过程”**中使用的过程名称。 有关 CALL 语法的详细信息,请参阅指定如何传播事务性项目的更改中的“存储过程的 Call 语法”部分。

  3. 单击“确定”。

  4. 如果在**“发布属性 - <发布>”对话框中,请单击“确定”**保存并关闭对话框。

  5. 发布的快照生成后,将包含上一步骤中指定的过程。 这些过程将使用指定的 CALL 语法,但将包含复制使用的默认逻辑。

    快照生成后,定位到此项目所属的发布的快照文件夹,并找到与此项目同名的 .sch 文件。 使用记事本或其他文本编辑器打开此文件,找到用于插入、更新或删除存储过程的 CREATE PROCEDURE 命令,并编辑过程定义,以为传播数据更改提供自定义逻辑。 重新生成快照后,必须重新创建自定义过程。

    注意事项注意

    在编辑复制生成的任何快照文件时,都必须谨慎。 必须测试和支持自定义存储过程中的自定义逻辑;Microsoft 不支持自定义逻辑。