本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中指定架构选项。 发布表或视图时,可以控制为已发布对象复制的对象创建选项。 可以在创建项目时设置这些选项,也可以在以后进行更改。 如果未为项目显式指定这些选项,则会定义一组默认选项。
注释
使用复制存储过程时的默认架构选项可能与使用 SQL Server Management Studio 添加项目时的默认选项不同。
本主题内容
准备工作:
若要指定架构选项,请使用:
在您开始之前
局限性与限制
- 如果您在创建发布后更改架构选项,则必须生成新的快照。
建议
- 有关架构选项的完整列表,请参阅sp_addarticle(Transact-SQL)和sp_addmergearticle(Transact-SQL)的@schema_option参数。
使用 SQL Server Management Studio
在“文章属性 - <文章>”对话框的“属性”选项卡上指定架构选项,例如是否将约束和触发器复制到订阅者。 此选项卡在“新建发布向导”和“ 发布属性 - <发布> ”对话框中可用。 有关使用向导和访问对话框的详细信息,请参阅 创建发布 和 查看和修改发布属性。
指定架构选项
在“新建发布向导”或“发布属性 - <发布>”对话框的“项目”页上,选择一篇文章,然后单击“项目属性”。
选择哪些文章架构选项更改应应用于:
单击“ 设置突出显示 <的 ObjectType> 项目的属性 ”以启动 “项目属性 - <ObjectName> ”对话框;此对话框中所做的属性更改仅应用于“ 项目 ”页上的对象窗格中突出显示的对象。
单击“设置所有 <ObjectType> 文章的属性”以启动“所有 <ObjectType> 文章的属性”对话框;此对话框中所做的属性更改将应用于“文章”页上的对象窗格中该类型的所有对象,包括尚未为发布选择的对象。
注释
“ 所有 <ObjectType> 项目的属性 ”对话框中所做的属性更改将替代之前在 “项目属性 - <ObjectName> ”对话框中所做的任何更改。 例如,如果想要为对象类型的所有项目设置许多默认值,但还希望为单个对象设置一些属性,请先为所有项目设置默认值。 然后设置各个对象的属性。
在“文章属性 - <文章>”对话框的“属性”选项卡的“将对象和设置复制到订阅者和目标对象”部分中,指定选项的值。
根据需要修改任何属性,然后单击“ 确定”。
如果位于 “发布属性 - <发布> ”对话框中,请单击“ 确定 ”以保存并关闭对话框。
使用 Transact-SQL
模式选项指定为十六进制值,该值为 |(按位或) 一个或多个选项的结果。 有关详细信息,请参阅 sp_addarticle 和 sp_addmergearticle。
注释
在执行按位作之前,必须将架构选项值从 二进制 转换为 int 。 有关详细信息,请参阅 CAST 和 CONVERT (Transact-SQL)。
在定义快照或事务发布的文章时指定架构选项
- 在发布服务器上,对发布数据库执行 sp_addarticle。 指定文章所属出版物的名称为@publication,文章的名称为@article,正在发布的数据库对象为@source_object,数据库对象的类型为@type,以及@schema_option的一个或多个架构选项经过按位或操作后的结果|(按位或)。 有关详细信息,请参阅 定义项目。
为合并发布定义文章时指定架构选项
- 在发布者处,在发布数据库上执行 sp_addmergearticle。 指定文章所属的发布名称@publication,文章名称@article,被发布的数据库对象@source_object,以及一个或多个架构选项按位或的结果|(按位或)@schema_option。 有关详细信息,请参阅 定义项目。
更改快照或事务发布中现有文章的架构选项
在发布服务器上,对出版数据库执行 sp_helparticle。 指定文章所属的刊物的名称 @publication和文章的名称 @article。 请注意结果集中 schema_option 列的值。
使用步骤 1 中的值和所需的架构选项值执行 & (按位 AND) 作,以确定是否已设置该选项。
如果结果为 0,则未设置该选项。
如果结果为选项值,则已设置该选项。
如果未设置该选项,请使用步骤 1 中的值与所需的架构选项值进行 |(按位或) 操作。
在发布者的发布数据库上,执行 sp_changearticle。 指定文章所属出版物@publication的名称、文章@article的名称、schema_option为@property的值,以及步骤 3 中的十六进制结果用于@value。
运行快照代理以生成新快照。 有关详细信息,请参阅 “创建并应用初始快照”。
更改合并发布中现有文章的架构选项
在发布服务器上,对发布数据库执行 sp_helpmergearticle。 指定 @publication 所属的刊物名称,以及 @article 文章的名称。 请注意结果集中 schema_option 列的值。
使用步骤 1 中的值和所需的架构选项值执行 & (按位 AND) 作,以确定是否已设置该选项。
如果结果为 0,则未设置该选项。
如果结果为选项值,则已设置该选项。
如果未设置该选项,请执行 |(按位或) 使用步骤 1 中的值和所需的架构选项值进行作。
在发布服务器上,对发布数据库执行 sp_changemergearticle。 为@publication指定文章所属刊物的名称,为@article指定文章的名称,为@property指定schema_option的值,以及为@value指定步骤3中的十六进制结果。
运行快照代理以生成新快照。 有关详细信息,请参阅 “创建并应用初始快照”。