指定架构选项

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中指定架构选项。 发布表或视图时,可以控制为已发布对象复制的对象创建选项。 可以在创建项目时设置这些选项,也可以在以后进行更改。 如果未为项目显式指定这些选项,则会定义一组默认选项。

注释

使用复制存储过程时的默认架构选项可能与使用 SQL Server Management Studio 添加项目时的默认选项不同。

本主题内容

在您开始之前

局限性与限制

  • 如果您在创建发布后更改架构选项,则必须生成新的快照。

建议

使用 SQL Server Management Studio

在“文章属性 - <文章>”对话框的“属性”选项卡上指定架构选项,例如是否将约束和触发器复制到订阅者。 此选项卡在“新建发布向导”和“ 发布属性 - <发布> ”对话框中可用。 有关使用向导和访问对话框的详细信息,请参阅 创建发布查看和修改发布属性

指定架构选项

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

  2. 选择哪些文章架构选项更改应应用于:

    • 单击“ 设置突出显示 <的 ObjectType> 项目的属性 ”以启动 “项目属性 - <ObjectName> ”对话框;此对话框中所做的属性更改仅应用于“ 项目 ”页上的对象窗格中突出显示的对象。

    • 单击“设置所有 <ObjectType> 文章的属性”以启动“所有 <ObjectType> 文章的属性”对话框;此对话框中所做的属性更改将应用于“文章”页上的对象窗格中该类型的所有对象,包括尚未为发布选择的对象。

      注释

      所有 <ObjectType> 项目的属性 ”对话框中所做的属性更改将替代之前在 “项目属性 - <ObjectName> ”对话框中所做的任何更改。 例如,如果想要为对象类型的所有项目设置许多默认值,但还希望为单个对象设置一些属性,请先为所有项目设置默认值。 然后设置各个对象的属性。

  3. 在“文章属性 - <文章>”对话框的“属性”选项卡的“将对象和设置复制到订阅者目标对象”部分中,指定选项的值。

  4. 根据需要修改任何属性,然后单击“ 确定”。

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

使用 Transact-SQL

模式选项指定为十六进制值,该值为 |(按位或) 一个或多个选项的结果。 有关详细信息,请参阅 sp_addarticlesp_addmergearticle

注释

在执行按位作之前,必须将架构选项值从 二进制 转换为 int 。 有关详细信息,请参阅 CAST 和 CONVERT (Transact-SQL)

在定义快照或事务发布的文章时指定架构选项

  1. 在发布服务器上,对发布数据库执行 sp_addarticle。 指定文章所属出版物的名称为@publication,文章的名称为@article,正在发布的数据库对象为@source_object,数据库对象的类型为@type,以及@schema_option的一个或多个架构选项经过按位或操作后的结果|(按位或)。 有关详细信息,请参阅 定义项目

为合并发布定义文章时指定架构选项

  1. 在发布者处,在发布数据库上执行 sp_addmergearticle。 指定文章所属的发布名称@publication,文章名称@article,被发布的数据库对象@source_object,以及一个或多个架构选项按位或的结果|(按位或)@schema_option。 有关详细信息,请参阅 定义项目

更改快照或事务发布中现有文章的架构选项

  1. 在发布服务器上,对出版数据库执行 sp_helparticle。 指定文章所属的刊物的名称 @publication文章的名称 @article。 请注意结果集中 schema_option 列的值。

  2. 使用步骤 1 中的值和所需的架构选项值执行 & (按位 AND) 作,以确定是否已设置该选项。

    • 如果结果为 0,则未设置该选项。

    • 如果结果为选项值,则已设置该选项。

  3. 如果未设置该选项,请使用步骤 1 中的值与所需的架构选项值进行 |(按位或) 操作。

  4. 在发布者的发布数据库上,执行 sp_changearticle。 指定文章所属出版物@publication的名称、文章@article的名称、schema_option@property的值,以及步骤 3 中的十六进制结果用于@value

  5. 运行快照代理以生成新快照。 有关详细信息,请参阅 “创建并应用初始快照”。

更改合并发布中现有文章的架构选项

  1. 在发布服务器上,对发布数据库执行 sp_helpmergearticle。 指定 @publication 所属的刊物名称,以及 @article 文章的名称。 请注意结果集中 schema_option 列的值。

  2. 使用步骤 1 中的值和所需的架构选项值执行 & (按位 AND) 作,以确定是否已设置该选项。

    • 如果结果为 0,则未设置该选项。

    • 如果结果为选项值,则已设置该选项。

  3. 如果未设置该选项,请执行 |(按位或) 使用步骤 1 中的值和所需的架构选项值进行作。

  4. 在发布服务器上,对发布数据库执行 sp_changemergearticle。 为@publication指定文章所属刊物的名称,为@article指定文章的名称,为@property指定schema_option的值,以及为@value指定步骤3中的十六进制结果。

  5. 运行快照代理以生成新快照。 有关详细信息,请参阅 “创建并应用初始快照”。

另请参阅

发布数据和数据库对象
事务复制的文章选项