sp_addmergearticle (Transact-SQL)sp_addmergearticle (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database (Managed Instance のみ) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

既存のマージパブリケーションにアーティクルを追加します。Adds an article to an existing merge publication. このストアドプロシージャは、パブリッシャー側でパブリケーションデータベースに対して実行されます。This stored procedure is executed at the Publisher on the publication database.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_addmergearticle [ @publication = ] 'publication'   
        , [ @article = ] 'article'   
        , [ @source_object = ] 'source_object'   
    [ , [ @type = ] 'type' ]   
    [ , [ @description = ] 'description' ]   
    [ , [ @column_tracking = ] 'column_tracking' ]   
    [ , [ @status = ] 'status' ]   
    [ , [ @pre_creation_cmd = ] 'pre_creation_cmd' ]   
    [ , [ @creation_script = ] 'creation_script' ]   
    [ , [ @schema_option = ] schema_option ]   
    [ , [ @subset_filterclause = ] 'subset_filterclause' ]   
    [ , [ @article_resolver = ] 'article_resolver' ]   
    [ , [ @resolver_info = ] 'resolver_info' ]   
    [ , [ @source_owner = ] 'source_owner' ]   
    [ , [ @destination_owner = ] 'destination_owner' ]   
    [ , [ @vertical_partition = ] 'vertical_partition' ]   
    [ , [ @auto_identity_range = ] 'auto_identity_range' ]   
    [ , [ @pub_identity_range = ] pub_identity_range ]   
    [ , [ @identity_range = ] identity_range ]   
    [ , [ @threshold = ] threshold ]   
    [ , [ @verify_resolver_signature = ] verify_resolver_signature ]   
    [ , [ @destination_object = ] 'destination_object' ]   
    [ , [ @allow_interactive_resolver = ] 'allow_interactive_resolver' ]   
    [ , [ @fast_multicol_updateproc = ] 'fast_multicol_updateproc' ]   
    [ , [ @check_permissions = ] check_permissions ]   
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @published_in_tran_pub = ] 'published_in_tran_pub' ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  
    [ , [ @logical_record_level_conflict_detection = ] 'logical_record_level_conflict_detection' ]  
    [ , [ @logical_record_level_conflict_resolution = ] 'logical_record_level_conflict_resolution' ]  
    [ , [ @partition_options = ] partition_options ]  
    [ , [ @processing_order = ] processing_order ]  
    [ , [ @subscriber_upload_options = ] subscriber_upload_options ]  
    [ , [ @identityrangemanagementoption = ] 'identityrangemanagementoption' ]  
    [ , [ @delete_tracking = ] delete_tracking ]  
    [ , [ @compensate_for_errors = ] 'compensate_for_errors' ]   
    [ , [ @stream_blob_columns = ] 'stream_blob_columns' ]  

引数Arguments

[ @publication = ] 'publication'アーティクルを含むパブリケーションの名前を指定します。[ @publication = ] 'publication' Is the name of the publication that contains the article. publicationsysname,、既定値はありません。publication is sysname, with no default.

[ @article = ] 'article'アーティクルの名前を指定します。[ @article = ] 'article' Is the name of the article. 名前はパブリケーション内で一意であることが必要です。The name must be unique within the publication. アーティクルsysnameで、既定値はありません。article is sysname, with no default. アーティクルは、を実行しているMicrosoftMicrosoft SQL ServerSQL Serverローカルコンピューター上に存在する必要があり、識別子の規則に従っている必要があります。article must be on the local computer running MicrosoftMicrosoft SQL ServerSQL Server, and must conform to the rules for identifiers.

[ @source_object = ] 'source_object'パブリッシュするデータベースオブジェクトを指定します。[ @source_object = ] 'source_object' Is the database object to be published. source_objectsysnameであり、既定値はありません。source_object is sysname, with no default. マージレプリケーションを使用してパブリッシュできるオブジェクトの種類の詳細については、「データとデータベースオブジェクトのパブリッシュ」を参照してください。For more information about the types of objects that can be published using merge replication, see Publish Data and Database Objects.

[ @type = ] 'type'アーティクルの種類を示します。[ @type = ] 'type' Is the type of article. 種類sysnameで、既定値はtableです。次のいずれかの値を指定できます。type is sysname, with a default of table, and can be one of the following values.

Value [説明]Description
テーブル(既定値)table (default) スキーマとデータを含むテーブル。Table with schema and data. レプリケーションはテーブルを監視して、レプリケートするデータを特定します。Replication monitors the table to determine data to be replicated.
func スキーマのみfunc schema only スキーマのみを使用する関数。Function with schema only.
インデックス付きビュー スキーマのみindexed view schema only スキーマのみを使用するインデックス付きビュー。Indexed view with schema only.
proc スキーマのみproc schema only スキーマのみを使用するストアド プロシージャ。Stored procedure with schema only.
シノニムスキーマのみsynonym schema only スキーマのみを使用するシノニム。Synonym with schema only.
view schema onlyview schema only スキーマのみを使用するビュー。View with schema only.

[ @description = ] 'description'アーティクルの説明を示します。[ @description = ] 'description' Is a description of the article. 説明nvarchar (255),、既定値は NULL です。description is nvarchar(255), with a default of NULL.

[ @column_tracking = ] 'column_tracking'列レベルの追跡の設定を設定します。[ @column_tracking = ] 'column_tracking' Is the setting for column-level tracking. column_trackingnvarchar (10),、既定値は FALSE です。column_tracking is nvarchar(10), with a default of FALSE. true列の追跡を有効にします。trueturns on column tracking. false列の追跡をオフにし、競合の検出を行レベルで行います。false turns off column tracking and leaves conflict detection at the row level. テーブルが他のマージ レプリケーションで既にパブリッシュされている場合は、このテーブルに基づく既存のアーティクルが使用しているものと同じ列追跡値を使用する必要があります。If the table is already published in other merge publications, you must use the same column tracking value used by existing articles based on this table. このパラメーターは、テーブル アーティクルのみに固有のものです。This parameter is specific to table articles only.

注意

行レベルの追跡を使用して競合を検出する場合 (既定値)、ベース テーブルには最大 1,024 列含めることができますが、最大 246 列がパブリッシュされるようにアーティクルから列をフィルター選択する必要があります。If row tracking is used for conflict detection (the default), the base table can include a maximum of 1,024 columns, but columns must be filtered from the article so that a maximum of 246 columns is published. 列の追跡を使用する場合、ベース テーブルには最大 246 列を含めることができます。If column tracking is used, the base table can include a maximum of 246 columns.

[ @status = ] 'status'アーティクルの状態を示します。[ @status = ] 'status' Is the status of the article. 状態nvarchar (10),、既定値は同期されていません。status is nvarchar(10), with a default of unsynced. アクティブになっている場合は、テーブルをパブリッシュする初期処理スクリプトが実行されます。If active, the initial processing script to publish the table is run. 同期されていない場合、テーブルをパブリッシュする初期処理スクリプトは、次にスナップショットエージェントを実行したときに実行されます。If unsynced, the initial processing script to publish the table is run at the next time the Snapshot Agent runs.

[ @pre_creation_cmd = ] 'pre_creation_cmd'スナップショットを適用するときに、サブスクライバーにテーブルが存在する場合にシステムが実行する処理を指定します。[ @pre_creation_cmd = ] 'pre_creation_cmd' Specifies what the system is to do if the table exists at the subscriber when applying the snapshot. pre_creation_cmdnvarchar (10) で、次のいずれかの値を指定できます。pre_creation_cmd is nvarchar(10), and can be one of the following values.

Value [説明]Description
存在none テーブルがサブスクライバーに既に存在する場合、アクションは実行されません。If the table already exists at the Subscriber, no action is taken.
デリートdelete サブセットフィルターの WHERE 句に基づいて削除を発行します。Issues a delete based on the WHERE clause in the subset filter.
drop (既定値)drop (default) テーブルを再作成する前に削除します。Drops the table before re-creating it.
MicrosoftMicrosoft SQL Server CompactSQL Server Compact のサブスクライバーをサポートするために必要です。Required to support MicrosoftMicrosoft SQL Server CompactSQL Server Compact Subscribers.
切捨てtruncate 変換先テーブルを切り捨てます。Truncates the destination table.

[ @creation_script = ] 'creation_script'サブスクリプションデータベースでアーティクルを作成するために使用する、オプションのアーティクルスキーマスクリプトのパスと名前を指定します。[ @creation_script = ] 'creation_script' Is the path and name of an optional article schema script used to create the article in the subscription database. creation_scriptnvarchar (255),、既定値は NULL です。creation_script is nvarchar(255), with a default of NULL.

注意

作成スクリプトは SQL Server CompactSQL Server Compact サブスクライバー上では実行されません。Creation scripts are not run on SQL Server CompactSQL Server Compact Subscribers.

[ @schema_option = ] schema_option指定されたアーティクルのスキーマ生成オプションのビットマップです。[ @schema_option = ] schema_option Is a bitmap of the schema generation option for the given article. schema_optionbinary (8) で、| を指定できます。 (ビットごとの OR)これらの値の1つ以上の積。schema_option is binary(8), and can be the | (Bitwise OR) product of one or more of these values.

Value [説明]Description
0x000x00 スナップショットエージェントによるスクリプト作成を無効にし、 creation_scriptで定義されているスキーマ作成前スクリプトを使用します。Disables scripting by the Snapshot Agent and uses the provided schema precreation script defined in creation_script.
0x010x01 オブジェクトの作成 (CREATE TABLE、CREATE PROCEDURE など) を生成します。Generates the object creation (CREATE TABLE, CREATE PROCEDURE, and so on). これは、ストアドプロシージャアーティクルの既定値です。This is the default value for stored procedure articles.
0x100x10 対応するクラスター化インデックスを生成します。Generates a corresponding clustered index. このオプションが設定されていない場合でも、パブリッシュされたテーブルに主キーと UNIQUE 制約が既に定義されている場合は、これらの主キーや制約に関連するインデックスが生成されます。Even if this option is not set, indexes related to primary keys and UNIQUE constraints are generated if they are already defined on a published table.
0x200x20 ユーザー定義データ型 (UDT) をサブスクライバー側の基本データ型に変換します。Converts user-defined data types (UDT) to base data types at the Subscriber. Udt 列に CHECK 制約または DEFAULT 制約がある場合、UDT 列が主キーの一部である場合、または計算列が UDT 列を参照している場合は、このオプションを使用できません。This option cannot be used when there is a CHECK or DEFAULT constraint on a UDT column, if a UDT column is part of the primary key, or if a computed column references a UDT column.
0x400x40 対応する非クラスター化インデックスを生成します。Generates corresponding nonclustered indexes. このオプションが設定されていない場合でも、パブリッシュされたテーブルに主キーと UNIQUE 制約が既に定義されている場合は、これらの主キーや制約に関連するインデックスが生成されます。Even if this option is not set, indexes related to primary keys and UNIQUE constraints are generated if they are already defined on a published table.
0x800x80 PRIMARY KEY 制約をレプリケートします。Replicates PRIMARY KEY constraints. オプションの0x100x40が有効になっていない場合でも、制約に関連するすべてのインデックスもレプリケートされます。Any indexes related to the constraint are also replicated, even if options 0x10 and 0x40 are not enabled.
0x1000x100 定義されている場合、テーブル アーティクル上のユーザー トリガーをレプリケートします。Replicates user triggers on a table article, if defined.
0x2000x200 FOREIGN KEY 制約をレプリケートします。Replicates FOREIGN KEY constraints. 参照先のテーブルがパブリケーションの一部でない場合、パブリッシュされたテーブルのすべての FOREIGN KEY 制約はレプリケートされません。If the referenced table is not part of a publication, all FOREIGN KEY constraints on a published table are not replicated.
0x4000x400 CHECK 制約をレプリケートします。Replicates CHECK constraints.
0x8000x800 既定値をレプリケートします。Replicates defaults.
0x10000x1000 列レベルの照合順序をレプリケートします。Replicates column-level collation.
0x20000x2000 パブリッシュされたアーティクルのソースオブジェクトに関連付けられた拡張プロパティをレプリケートします。Replicates extended properties associated with the published article source object.
0x40000x4000 UNIQUE 制約をレプリケートします。Replicates UNIQUE constraints. オプションの0x100x40が有効になっていない場合でも、制約に関連するすべてのインデックスもレプリケートされます。Any indexes related to the constraint are also replicated, even if options 0x10 and 0x40 are not enabled.
0x80000x8000 このオプションは、SQL Server 2005 (9.x)SQL Server 2005 (9.x) 以降のバージョンを実行しているパブリッシャーでは有効ではありません。This option is not valid for Publishers running SQL Server 2005 (9.x)SQL Server 2005 (9.x) or later versions.
0x100000x10000 CHECK 制約を NOT FOR REPLICATION としてレプリケートし、同期中に制約が適用されないようにします。Replicates CHECK constraints as NOT FOR REPLICATION so that the constraints are not enforced during synchronization.
0x200000x20000 では、制約が同期中に適用されないように、外部キー制約は NOT FOR REPLICATION としてレプリケートされます。Replicates FOREIGN KEY constraints as NOT FOR REPLICATION so that the constraints are not enforced during synchronization.
0x400000x40000 パーティション テーブルまたはインデックスに関連付けられているファイル グループをレプリケートします。Replicates filegroups associated with a partitioned table or index.
0x800000x80000 パーティション テーブルのパーティション構成をレプリケートします。Replicates the partition scheme for a partitioned table.
0x1000000x100000 パーティションインデックスのパーティション構成をレプリケートします。Replicates the partition scheme for a partitioned index.
0x2000000x200000 テーブルの統計をレプリケートします。Replicates table statistics.
0x4000000x400000 既定のバインドをレプリケートします。Replicates default Bindings.
0x8000000x800000 ルールのバインドをレプリケートします。Replicates rule Bindings.
0x10000000x1000000 フルテキストインデックスをレプリケートします。Replicates the full-text index.
0x20000000x2000000 Xml列にバインドされている xml スキーマコレクションはレプリケートされません。XML schema collections bound to xml columns are not replicated.
0x40000000x4000000 Xml列のインデックスをレプリケートします。Replicates indexes on xml columns.
0x80000000x8000000 サブスクライバーにまだ存在しないスキーマを作成します。Creates any schemas not already present on the subscriber.
0x100000000x10000000 サブスクライバーでxml列をntextに変換します。Converts xml columns to ntext on the Subscriber.
0x200000000x20000000 SQL Server 2005 (9.x)SQL Server 2005 (9.x)で導入されたラージオブジェクトデータ型 (nvarchar (max)varchar (max)varbinary (max)) を、でサポートされSQL Server 2000 (8.x)SQL Server 2000 (8.x)ているデータ型に変換します。Converts large object data types (nvarchar(max), varchar(max), and varbinary(max)) introduced in SQL Server 2005 (9.x)SQL Server 2005 (9.x) to data types that are supported on SQL Server 2000 (8.x)SQL Server 2000 (8.x).
0x400000000x40000000 権限をレプリケートします。Replicates permissions.
0x800000000x80000000 パブリケーションに含まれていないオブジェクトへの依存関係の削除を試みます。Attempts to drop dependencies to any objects that are not part of the publication.
0x1000000000x100000000 このオプションを使用すると、 varbinary (max) 列に FILESTREAM 属性が指定されている場合に、その属性をレプリケートできます。Use this option to replicate the FILESTREAM attribute if it is specified on varbinary(max) columns. テーブルをサブスクライバーにSQL Server 2005 (9.x)SQL Server 2005 (9.x)レプリケートする場合は、このオプションを指定しないでください。Do not specify this option if you are replicating tables to SQL Server 2005 (9.x)SQL Server 2005 (9.x) Subscribers. このスキーマオプションを設定する方法SQL Server 2000 (8.x)SQL Server 2000 (8.x)に関係なく、FILESTREAM 列を持つテーブルをサブスクライバーにレプリケートすることはサポートされていません。Replicating tables that have FILESTREAM columns to SQL Server 2000 (8.x)SQL Server 2000 (8.x) Subscribers is not supported, regardless of how this schema option is set. 関連オプション0x800000000を参照してください。See related option 0x800000000.
0x2000000000x200000000 SQL Server 2008SQL Server 2008導入された日付と時刻のデータ型 ( SQL ServerSQL Serverdatetimedatetimeoffset、およびdatetime2) を、以前のバージョンのでサポートされているデータ型に変換します。Converts date and time data types (date, time, datetimeoffset, and datetime2) introduced in SQL Server 2008SQL Server 2008 to data types that are supported on earlier versions of SQL ServerSQL Server.
0x4000000000x400000000 データとインデックスの圧縮オプションをレプリケートします。Replicates the compression option for data and indexes. 詳細については、「 Data Compression」を参照してください。For more information, see Data Compression.
0x8000000000x800000000 このオプションを設定すると、サブスクライバーの独自のファイル グループに FILESTREAM データを格納できます。Set this option to store FILESTREAM data on its own filegroup at the Subscriber. このオプションが設定されていない場合、FILESTREAM データは既定のファイルグループに格納されます。If this option is not set, FILESTREAM data is stored on the default filegroup. レプリケーションでは、ファイルグループは作成されません。したがって、このオプションを設定する場合は、サブスクライバーでスナップショットを適用する前にファイルグループを作成する必要があります。Replication does not create filegroups; therefore, if you set this option, you must create the filegroup before you apply the snapshot at the Subscriber. スナップショットを適用する前にオブジェクトを作成する方法の詳細については、「スナップショットが適用される前および後のスクリプトの実行」を参照してください。For more information about how to create objects before you apply the snapshot, see Execute Scripts Before and After the Snapshot Is Applied.

関連オプション0x100000000を参照してください。See related option 0x100000000.
0x10000000000x1000000000 共通言語ランタイム (CLR) ユーザー定義型 (Udt) をvarbinary (max) に変換します。これにより、udt 型の列を、をSQL Server 2005 (9.x)SQL Server 2005 (9.x)実行しているサブスクライバーにレプリケートできるようになります。Converts common language runtime (CLR) user-defined types (UDTs) to varbinary(max) so that columns of type UDT can be replicated to Subscribers that are running SQL Server 2005 (9.x)SQL Server 2005 (9.x).
0x20000000000x2000000000 Hierarchyidデータ型をvarbinary (max) に変換します。これにより、 hierarchyid型の列を、をSQL Server 2005 (9.x)SQL Server 2005 (9.x)実行しているサブスクライバーにレプリケートできるようになります。Converts the hierarchyid data type to varbinary(max) so that columns of type hierarchyid can be replicated to Subscribers that are running SQL Server 2005 (9.x)SQL Server 2005 (9.x). レプリケートされたテーブルでhierarchyid列を使用する方法の詳細については、「 hierarchyid (transact-sql)」を参照してください。For more information about how to use hierarchyid columns in replicated tables, see hierarchyid (Transact-SQL).
0x40000000000x4000000000 テーブルのフィルター選択されたインデックスをレプリケートします。Replicates any filtered indexes on the table. フィルター選択されたインデックスの詳細については、「フィルター選択されたインデックスの作成」をご覧ください。For more information about filtered indexes, see Create Filtered Indexes.
0x80000000000x8000000000 Geographyおよびgeometryデータ型をvarbinary (max) に変換して、これらの型の列を、を実行SQL Server 2005 (9.x)SQL Server 2005 (9.x)しているサブスクライバーにレプリケートできるようにします。Converts the geography and geometry data types to varbinary(max) so that columns of these types can be replicated to Subscribers that are running SQL Server 2005 (9.x)SQL Server 2005 (9.x).
0x100000000000x10000000000 Geography型およびgeometry型の列のインデックスをレプリケートします。Replicates indexes on columns of type geography and geometry.

この値が NULL の場合、システムはアーティクルに対して有効なスキーマオプションを自動生成します。If this value is NULL, the system auto-generates a valid schema option for the article. 「解説」の既定のスキーマオプションの表は、アーティクルの種類に基づいて選択される値を示しています。The Default Schema Option table in the Remarks section shows the value that is chosen based upon the article type. また、すべてのschema_option値がすべての種類のレプリケーションとアーティクルの種類に対して有効であるとは限りません。Also, not all schema_option values are valid for every type of replication and article type. 「解説」に記載されている有効なスキーマオプションテーブルは、特定のアーティクルの種類に対して指定できるオプションを示しています。The Valid Schema Option table given in the Remarks shows the options that can be specified for a given article type.

注意

Schema_optionパラメーターは、初期スナップショットのレプリケーションオプションにのみ影響します。The schema_option parameter only affects replication options for the initial snapshot. 初期スキーマがスナップショットエージェントによって生成され、サブスクライバーで適用されると、サブスクライバーへのパブリケーションスキーマ変更のレプリケーションは、スキーマ変更レプリケーションルールとsp_addmergepublicationで指定されたreplicate_ddlパラメーター設定に基づいて行われます。Once the initial schema has been generated by the Snapshot Agent and applied at the Subscriber, the replication of publication schema changes to the Subscriber occur based on schema change replication rules and the replicate_ddl parameter setting specified in sp_addmergepublication. 詳細については、「パブリケーション データベースでのスキーマの変更」を参照してください。For more information, see Make Schema Changes on Publication Databases.

[ @subset_filterclause = ] 'subset_filterclause'テーブルアーティクルの行フィルター選択を指定する WHERE 句を指定します。 where 句は含まれません。[ @subset_filterclause = ] 'subset_filterclause' Is a WHERE clause specifying the horizontal filtering of a table article without the word WHERE included. subset_filterclauseの型はnvarchar (1000) で、既定値は空の文字列です。subset_filterclause is of nvarchar(1000), with a default of an empty string.

重要

パラメーター化された行フィルター句では列名に関数を適用しないことをお勧めします。これは、 LEFT([MyColumn]) = SUSER_SNAME()のように指定すると、パフォーマンスに問題が生じるためです。For performance reasons, we recommended that you not apply functions to column names in parameterized row filter clauses, such as LEFT([MyColumn]) = SUSER_SNAME(). フィルター句でHOST_NAMEを使用し、HOST_NAME の値をオーバーライドする場合は、 convertを使用してデータ型を変換する必要がある場合があります。If you use HOST_NAME in a filter clause and override the HOST_NAME value, you might have to convert data types by using CONVERT. この場合のベストプラクティスの詳細については、「パラメーター化された行フィルター」の「HOST_NAME () 値のオーバーライド」を参照してください。For more information about best practices for this case, see the section "Overriding the HOST_NAME() Value" in Parameterized Row Filters.

[ @article_resolver = ] 'article_resolver'テーブルアーティクルまたはテーブルアーティクルでカスタムビジネスロジックを実行するために呼び出される .NET Framework アセンブリの競合を解決するために使用される COM ベースの競合回避モジュールです。[ @article_resolver = ] 'article_resolver' Is the COM-based resolver used to resolve conflicts on the table article or the .NET Framework assembly invoked to execute custom business logic on the table article. article_resolvervarchar (255),、既定値は NULL です。article_resolver is varchar(255), with a default of NULL. このパラメーターで利用できる値の一覧については、「MicrosoftMicrosoft カスタム競合回避モジュール」を参照してください。Available values for this parameter are listed in MicrosoftMicrosoft Custom Resolvers. 指定した値が MicrosoftMicrosoft 競合回避モジュールの値でない場合、SQL ServerSQL Server では、システムに付属の競合回避モジュールの代わりに指定した競合回避モジュールが使用されます。If the value provided is not one of the MicrosoftMicrosoft resolvers, SQL ServerSQL Server uses the specified resolver instead of the system-supplied resolver. Sp_enumcustomresolversを使用して、使用可能なカスタム競合回避モジュールの一覧を列挙します。Use sp_enumcustomresolvers to enumerate the list of available custom resolvers. 詳細については、「マージ同期中のビジネスロジックの実行」と「マージレプリケーションの競合の検出と解決」を参照してください。For more information, see Execute Business Logic During Merge Synchronization and Advanced Merge Replication Conflict Detection and Resolution.

[ @resolver_info = ] 'resolver_info'は、カスタム競合回避モジュールに必要な追加情報を指定するために使用されます。[ @resolver_info = ] 'resolver_info' Is used to specify additional information required by a custom resolver. 一部のMicrosoftMicrosoft競合回避モジュールには、入力として指定された列が必要です。Some of the MicrosoftMicrosoft Resolvers require a column provided as input to the resolver. resolver_infonvarchar (255),、既定値は NULL です。resolver_info is nvarchar(255), with a default of NULL. 詳細については、「 Microsoft COM-Based Resolvers」を参照してください。For more information, see Microsoft COM-Based Resolvers.

[ @source_owner = ] 'source_owner'Source_objectの所有者の名前を指定します。[ @source_owner = ] 'source_owner' Is the name of the owner of the source_object. source_ownersysname,、既定値は NULL です。source_owner is sysname, with a default of NULL. NULL の場合、現在のユーザーは所有者であると見なされます。If NULL, the current user is assumed to be the owner.

[ @destination_owner = ] 'destination_owner'サブスクリプションデータベース内のオブジェクトの所有者を示します (' dbo ' でない場合)。[ @destination_owner = ] 'destination_owner' Is the owner of the object in the subscription database, if not 'dbo'. destination_ownersysname,、既定値は NULL です。destination_owner is sysname, with a default of NULL. NULL の場合、' dbo ' は所有者と見なされます。If NULL, 'dbo' is assumed to be the owner.

[ @vertical_partition = ] 'column_filter'テーブルアーティクルの列フィルター処理を有効または無効にします。[ @vertical_partition = ] 'column_filter' Enables and disables column filtering on a table article. vertical_partitionnvarchar (5) で、既定値は FALSE です。vertical_partition is nvarchar(5) with a default of FALSE.

falseは、列方向のフィルター処理が行われず、すべての列がパブリッシュされることを示します。false indicates there is no vertical filtering and publishes all columns.

trueは、宣言された主キーと ROWGUID 列を除くすべての列をクリアします。true clears all columns except the declared primary key and ROWGUID columns. 列はsp_mergearticlecolumnを使用して追加されます。Columns are added by using sp_mergearticlecolumn.

[ @auto_identity_range = ] 'automatic_identity_range'パブリケーションの作成時に、このテーブルアーティクルの id 範囲の自動処理を有効または無効にします。[ @auto_identity_range = ] 'automatic_identity_range' Enables and disables automatic identity range handling for this table article on a publication at the time it is created. auto_identity_rangenvarchar (5),、既定値は FALSE です。auto_identity_range is nvarchar(5), with a default of FALSE. trueを指定すると、自動 id 範囲の処理が有効になり、 falseの場合は無効になります。true enables automatic identity range handling, while false disables it.

注意

auto_identity_rangeは非推奨とされており、旧バージョンとの互換性のためだけに用意されています。auto_identity_range has been deprecated and is provided for backward compatibility only. Id 範囲管理オプションを指定するには、 identityrangemanagementoptionを使用する必要があります。You should use identityrangemanagementoption for specifying identity range management options. 詳細については、「Replicate Identity Columns」 (ID 列のレプリケート) を参照してください。For more information, see Replicate Identity Columns.

[ @pub_identity_range = ] pub_identity_range自動 id 範囲管理が使用されている場合に、サーバーサブスクリプションを使用してサブスクライバーに割り当てられる id 範囲のサイズを制御します。[ @pub_identity_range = ] pub_identity_range Controls the identity range size allocated to a Subscriber with a server subscription when automatic identity range management is used. この ID 範囲は、再パブリッシュ元のサブスクライバーが自らのサブスクライバーに割り当てるために予約されています。This identity range is reserved for a republishing Subscriber to allocate to its own Subscribers. pub_identity_rangebigint,、既定値は NULL です。pub_identity_range is bigint, with a default of NULL. Identityrangemanagementoptionautoの場合、またはauto_identity_rangetrueの場合は、このパラメーターを指定する必要があります。You must specify this parameter if identityrangemanagementoption is auto or if auto_identity_range is true.

[ @identity_range = ] identity_range自動 id 範囲管理を使用する場合に、パブリッシャーとサブスクライバーの両方に割り当てられる id 範囲のサイズを制御します。[ @identity_range = ] identity_range Controls the identity range size allocated both to the Publisher and to the Subscriber when automatic identity range management is used. identity_rangebigint,、既定値は NULL です。identity_range is bigint, with a default of NULL. Identityrangemanagementoptionautoの場合、またはauto_identity_rangetrueの場合は、このパラメーターを指定する必要があります。You must specify this parameter if identityrangemanagementoption is auto or if auto_identity_range is true.

注意

identity_rangeは、以前のバージョンのSQL ServerSQL Serverを使用してサブスクライバーを再パブリッシュするときに、id 範囲のサイズを制御します。identity_range controls the identity range size at republishing Subscribers using previous versions of SQL ServerSQL Server.

[ @threshold = ] thresholdマージエージェントによって新しい id 範囲が割り当てられるタイミングを制御するパーセント値。[ @threshold = ] threshold Percentage value that controls when the Merge Agent assigns a new identity range. [しきい値] で指定した値のパーセンテージが使用されると、マージエージェントによって新しい id 範囲が作成されます。When the percentage of values specified in threshold is used, the Merge Agent creates a new identity range. しきい値int,、既定値は NULL です。threshold is int, with a default of NULL. Identityrangemanagementoptionautoの場合、またはauto_identity_rangetrueの場合は、このパラメーターを指定する必要があります。You must specify this parameter if identityrangemanagementoption is auto or if auto_identity_range is true.

[ @verify_resolver_signature = ] verify_resolver_signatureマージレプリケーションで競合回避モジュールを使用する前に、デジタル署名を検証するかどうかを指定します。[ @verify_resolver_signature = ] verify_resolver_signature Specifies if a digital signature is verified before using a resolver in merge replication. verify_resolver_signatureint,、既定値は1です。verify_resolver_signature is int, with a default of 1.

0は、署名が検証されないことを示します。0 specifies that the signature will not be verified.

1は、署名が信頼できるソースからのものかどうかを確認することを指定します。1 specifies that the signature will be verified to see if it is from a trusted source.

[ @destination_object = ] 'destination_object'サブスクリプションデータベース内のオブジェクトの名前を指定します。[ @destination_object = ] 'destination_object' Is the name of the object in the subscription database. destination_objectのデータ型はsysnameで、既定値は** @source_object**になります。destination_object is sysname, with a default value of what is in @source_object. このパラメーターは、アーティクルがストアドプロシージャ、ビュー、Udf などのスキーマのみのアーティクルである場合にのみ指定できます。This parameter can be specified only if the article is a schema-only article, such as stored procedures, views, and UDFs. 指定したアーティクルがテーブルアーティクルの場合、の*@source_object*値は*destination_object*の値よりも優先されます。If the article specified is a table article, the value in *@source_object* overrides the value in destination_object.

[ @allow_interactive_resolver = ] 'allow_interactive_resolver'アーティクルに対してインタラクティブ競合回避モジュールの使用を有効または無効にします。[ @allow_interactive_resolver = ] 'allow_interactive_resolver' Enables or disables the use of the Interactive Resolver on an article. allow_interactive_resolvernvarchar (5),、既定値は FALSE です。allow_interactive_resolver is nvarchar(5), with a default of FALSE. trueにすると、アーティクルでインタラクティブ競合回避モジュールを使用できるようになります。falseを無効にします。true enables the use of the Interactive Resolver on the article; false disables it.

注意

インタラクティブ競合回避モジュールは、 SQL Server CompactSQL Server Compactサブスクライバーではサポートされていません。Interactive Resolver is not supported by SQL Server CompactSQL Server Compact Subscribers.

[ @fast_multicol_updateproc = ] 'fast_multicol_updateproc'このパラメーターは非推奨とされており、スクリプトの旧バージョンとの互換性のために保持されています。[ @fast_multicol_updateproc = ] 'fast_multicol_updateproc' This parameter has been deprecated and is maintained for backward compatibility of scripts.

[ @check_permissions = ] check_permissionsマージエージェントがパブリッシャーに変更を適用するときに検証されるテーブルレベルの権限のビットマップです。[ @check_permissions = ] check_permissions Is a bitmap of the table-level permissions that are verified when the Merge Agent applies changes to the Publisher. マージ処理が使用するパブリッシャーのログインまたはユーザー アカウントが正しいテーブル権限を持っていない場合、無効な変更は競合としてログに記録されます。If the Publisher login/user account used by the merge process does not have the correct table permissions, the invalid changes are logged as conflicts. check_permissionsintで、| を指定できます。 (ビットごとの OR)次の1つ以上の値の積。check_permissions is int, and can be the | (Bitwise OR) product of one or more of the following values.

Value [説明]Description
0x00 (既定値)0x00 (default) 権限は確認されません。Permissions are not checked.
0x100x10 サブスクライバーで実行される挿入操作をアップロードする前に、パブリッシャー側で権限をチェックします。Checks permissions at the Publisher before insert operations made at a Subscriber can be uploaded.
0x200x20 サブスクライバーで実行された更新操作をアップロードする前に、パブリッシャー側で権限をチェックします。Checks permissions at the Publisher before update operations made at a Subscriber can be uploaded.
0x400x40 サブスクライバーで実行された削除操作をアップロードする前に、パブリッシャー側で権限をチェックします。Checks permissions at the Publisher before delete operations made at a Subscriber can be uploaded.

[ @force_invalidate_snapshot = ] force_invalidate_snapshotこのストアドプロシージャによって実行される操作によって既存のスナップショットが無効になる可能性があることを確認します。[ @force_invalidate_snapshot = ] force_invalidate_snapshot Acknowledges that the action taken by this stored procedure may invalidate an existing snapshot. force_invalidate_snapshotビット,、既定値は0です。force_invalidate_snapshot is a bit, with a default of 0.

0に設定すると、アーティクルを追加してもスナップショットが無効になることはありません。0 specifies that adding an article does not cause the snapshot to be invalid. 変更に新しいスナップショットが必要であることをストアドプロシージャが検出すると、エラーが発生し、変更は加えられません。If the stored procedure detects that the change does require a new snapshot, an error occurs and no changes are made.

1に設定すると、アーティクルの追加によってスナップショットが無効になることがあります。また、新しいスナップショットを必要とする既存のサブスクリプションがある場合は、既存のスナップショットに古いスナップショットをマークし、新しいスナップショットを生成することができます。1 specifies that adding an article may cause the snapshot to be invalid, and if there are existing subscriptions that require a new snapshot, gives permission for the existing snapshot to be marked as obsolete and a new snapshot generated. 既存のスナップショットを持つパブリケーションにアーティクルを追加する場合は、 force_invalidate_snapshot1に設定されます。force_invalidate_snapshot is set to 1 when adding an article to a publication with an existing snapshot.

[ @published_in_tran_pub = ] 'published_in_tran_pub'マージパブリケーション内のアーティクルがトランザクションパブリケーションでもパブリッシュされることを示します。[ @published_in_tran_pub = ] 'published_in_tran_pub' Indicates that an article in a merge publication is also published in a transactional publication. published_in_tran_pubnvarchar (5),、既定値は FALSE です。published_in_tran_pub is nvarchar(5), with a default of FALSE. trueを指定すると、アーティクルはトランザクションパブリケーションでもパブリッシュされます。true specifies that the article is also published in a transactional publication.

[ @force_reinit_subscription = ] force_reinit_subscriptionこのストアドプロシージャによって実行されるアクションで、既存のサブスクリプションの再初期化が必要になる可能性があることを確認します。[ @force_reinit_subscription = ] force_reinit_subscription Acknowledges that the action taken by this stored procedure may require existing subscriptions to be reinitialized. force_reinit_subscriptionビット,、既定値は0です。force_reinit_subscription is a bit, with a default of 0.

0に設定すると、アーティクルを追加してもサブスクリプションは再初期化されません。0 specifies that adding an article does not cause the subscription to be reinitialized. 変更によって既存のサブスクリプションが再初期化される必要があることをストアドプロシージャが検出すると、エラーが発生し、変更は加えられません。If the stored procedure detects that the change would require existing subscriptions to be reinitialized, an error occurs and no changes are made.

1を指定すると、マージアーティクルへの変更によって既存のサブスクリプションが再初期化され、サブスクリプションの再初期化を行う権限が与えられます。1 means that changes to the merge article causes existing subscriptions to be reinitialized, and gives permission for the subscription reinitialization to occur. subset_filterclauseがパラメーター化された行フィルターを指定する場合、 force_reinit_subscription1に設定されます。force_reinit_subscription is set to 1 when subset_filterclause specifies a parameterized row filter.

[ @logical_record_level_conflict_detection = ] 'logical_record_level_conflict_detection'論理レコードのメンバーであるアーティクルの競合検出レベルを指定します。[ @logical_record_level_conflict_detection = ] 'logical_record_level_conflict_detection' Specifies the level of conflict detection for an article that is a member of a logical record. logical_record_level_conflict_detectionnvarchar (5),、既定値は FALSE です。logical_record_level_conflict_detection is nvarchar(5), with a default of FALSE.

trueを指定すると、論理レコードの任意の場所に変更が加えられた場合に競合が検出されます。true specifies that a conflict will be detected if changes are made anywhere in the logical record.

falseを指定すると、既定の競合検出がcolumn_trackingによって指定されたとおりに使用されます。false specifies that the default conflict detection is used as specified by column_tracking. 詳細については、「Group Changes to Related Rows with Logical Records」 (論理レコードによる関連行への変更のグループ化) を参照してください。For more information, see Group Changes to Related Rows with Logical Records.

注意

論理レコードはサブスクライバーでSQL Server CompactSQL Server Compactサポートされていないため、これらのサブスクライバーをサポートするには、 logical_record_level_conflict_detectionfalseの値を指定する必要があります。Because logical records are not supported by SQL Server CompactSQL Server Compact Subscribers, you must specify a value of false for logical_record_level_conflict_detection to support these Subscribers.

[ @logical_record_level_conflict_resolution = ] 'logical_record_level_conflict_resolution'論理レコードのメンバーであるアーティクルの競合解決レベルを指定します。[ @logical_record_level_conflict_resolution = ] 'logical_record_level_conflict_resolution' Specifies the level of conflict resolution for an article that is a member of a logical record. logical_record_level_conflict_resolutionnvarchar (5),、既定値は FALSE です。logical_record_level_conflict_resolution is nvarchar(5), with a default of FALSE.

trueを指定すると、優先される論理レコード全体が、失われた論理レコードを上書きします。true specifies that the entire winning logical record overwrites the losing logical record.

falseは、優先される行が論理レコードに制約されないことを指定します。false specifies that winning rows are not constrained to the logical record. Logical_record_level_conflict_detectiontrueの場合、 logical_record_level_conflict_resolutiontrueに設定する必要があります。If logical_record_level_conflict_detection is true, then logical_record_level_conflict_resolution must also be set to true. 詳細については、「Group Changes to Related Rows with Logical Records」 (論理レコードによる関連行への変更のグループ化) を参照してください。For more information, see Group Changes to Related Rows with Logical Records.

注意

論理レコードはサブスクライバーでSQL Server CompactSQL Server Compactサポートされていないため、これらのサブスクライバーをサポートするには、 logical_record_level_conflict_resolutionfalseの値を指定する必要があります。Because logical records are not supported by SQL Server CompactSQL Server Compact Subscribers, you must specify a value of false for logical_record_level_conflict_resolution to support these Subscribers.

[ @partition_options = ] partition_optionsアーティクル内のデータをパーティション分割する方法を定義します。これにより、すべての行が1つのパーティションまたは1つのサブスクリプションのみに属している場合に、パフォーマンスを最適化できます。[ @partition_options = ] partition_options Defines the way in which data in the article is partitioned, which enables performance optimizations when all rows belong in only one partition or in only one subscription. partition_optionstinyintで、次のいずれかの値を指定できます。partition_options is tinyint, and can be one of the following values.

Value [説明]Description
0 (既定値)0 (default) アーティクルのフィルター選択は、静的であるか、パーティションごとに一意のデータのサブセットを生成しません。つまり、"重複する" パーティションになります。The filtering for the article either is static or does not yield a unique subset of data for each partition, that is, an "overlapping" partition.
11 パーティションは重複しており、サブスクライバーで行われたデータ操作言語 (DML) の更新では、行が属するパーティションを変更することはできません。The partitions are overlapping, and data manipulation language (DML) updates made at the Subscriber cannot change the partition to which a row belongs.
22 アーティクルのフィルター選択によって重複しないパーティションが生成されますが、複数のサブスクライバーが同じパーティションを受け取ることができます。The filtering for the article yields non-overlapping partitions, but multiple Subscribers can receive the same partition.
3 アーティクルのフィルター選択により、各サブスクリプションに一意の重複しないパーティションが生成されます。The filtering for the article yields non-overlapping partitions that are unique for each subscription.

注意

アーティクルのソーステーブルが別のパブリケーションで既にパブリッシュされている場合、 partition_optionsの値は両方のアーティクルで同じである必要があります。If the source table for an article is already published in another publication, then the value of partition_options must be the same for both articles.

[ @processing_order = ] processing_orderマージパブリケーション内のアーティクルの処理順序を示します。[ @processing_order = ] processing_order Indicates the processing order of articles in a merge publication. processing_orderint,、既定値は0です。processing_order is int, with a default of 0. 0は、アーティクルが順序付けられていないことを示します。その他の値は、このアーティクルの処理順序の序数値を表します。0 specifies that the article is unordered, and any other value represents the ordinal value of the processing order for this article. アーティクルは、最も小さい値から最も大きい値の順序で処理されます。Articles are processed in order from lowest to highest value. 2つのアーティクルの値が同じである場合、処理順序は、 sysmergearticlesシステムテーブルのアーティクルのニックネームの順序によって決まります。If two articles have the same value, processing order is determined by the order of the article nickname in the sysmergearticles system table. 詳細については、「Specify Merge Replication properties」 (マージ レプリケーションのプロパティの指定) を参照してください。For more information, see Specify Merge Replication properties.

[ @subscriber_upload_options = ] subscriber_upload_optionsクライアントサブスクリプションを使用して、サブスクライバーで行われた更新に対する制限を定義します。[ @subscriber_upload_options = ] subscriber_upload_options Defines restrictions on updates made at a Subscriber with a client subscription. 詳細については、「ダウンロード専用アーティクルを使用したマージ レプリケーションのパフォーマンスの最適化」を参照してください。For more information, see Optimize Merge Replication Performance with Download-Only Articles. subscriber_upload_optionstinyintで、次のいずれかの値を指定できます。subscriber_upload_options is tinyint, and can be one of the following values.

Value [説明]Description
0 (既定値)0 (default) 制限はありません。No restrictions. サブスクライバー側で行われた変更は、パブリッシャーにアップロードされます。Changes made at the Subscriber are uploaded to the Publisher.
11 サブスクライバーでの変更は許可されますが、パブリッシャーにはアップロードされません。Changes are allowed at the Subscriber, but they are not uploaded to the Publisher.
22 サブスクライバーでの変更は許可されていません。Changes are not allowed at the Subscriber.

Subscriber_upload_optionsを変更するには、 sp_reinitmergepullsubscription (transact-sql)を呼び出してサブスクリプションを再初期化する必要があります。Changing subscriber_upload_options requires the subscription to be reinitialized by calling sp_reinitmergepullsubscription (Transact-SQL).

注意

アーティクルのソーステーブルが別のパブリケーションで既にパブリッシュされている場合、 subscriber_upload_optionsの値は両方のアーティクルで同じである必要があります。If the source table for an article is already published in another publication, the value of subscriber_upload_options must be the same for both articles.

[ @identityrangemanagementoption = ] identityrangemanagementoptionアーティクルに対する id 範囲管理の処理方法を指定します。[ @identityrangemanagementoption = ] identityrangemanagementoption Specifies how identity range management is handled for the article. identityrangemanagementoptionnvarchar (10),、値は次のいずれかを指定することができます。identityrangemanagementoption is nvarchar(10), and can be one of the following values.

Value [説明]Description
存在none Id 範囲の管理を無効にします。Disables identity range management.
手動manual NOT FOR REPLICATION を使用して id 列をマークし、手動による id 範囲処理を有効にします。Marks the identity column using NOT FOR REPLICATION to enable manual identity range handling.
自動auto Id 範囲の自動管理を指定します。Specifies automatic management of identity ranges.
NULL (既定値)NULL(default) Auto_identity_rangeの値がtrueでない場合、既定値はnoneです。Defaults to nonewhen the value of auto_identity_range is not true.

旧バージョンとの互換性のために、 identityrangemanagementoptionの値が NULL の場合、 auto_identity_rangeの値がチェックされます。For backward compatibility, when the value of identityrangemanagementoption is NULL, the value of auto_identity_range is checked. ただし、 identityrangemanagementoptionの値が NULL でない場合、 auto_identity_rangeの値は無視されます。However, when the value of identityrangemanagementoption is not NULL, then the value of auto_identity_range is ignored. 詳細については、「Replicate Identity Columns」 (ID 列のレプリケート) を参照してください。For more information, see Replicate Identity Columns.

[ @delete_tracking = ] 'delete_tracking'削除をレプリケートするかどうかを示します。[ @delete_tracking = ] 'delete_tracking' Indicates whether deletes are replicated. delete_trackingnvarchar (5),、既定値は TRUE です。delete_tracking is nvarchar(5), with a default of TRUE. falseは、削除がレプリケートされないことを示し、 trueは、マージレプリケーションの通常の動作である削除がレプリケートされることを示します。false indicates that deletes are not replicated, and true indicates that deletes are replicated, which is the usual behavior for merge replication. Delete_trackingfalseに設定されている場合、サブスクライバー側で削除された行はパブリッシャー側で手動で削除する必要があり、パブリッシャー側で削除された行はサブスクライバー側で手動で削除する必要があります。When delete_tracking is set to false, rows deleted at the Subscriber must be manually removed at the Publisher, and rows deleted at the Publisher must be manually removed at the Subscriber.

重要

Delete_trackingfalseに設定すると、非収束になります。Setting delete_tracking to false results in non-convergence. アーティクルのソーステーブルが別のパブリケーションで既にパブリッシュされている場合、 delete_trackingの値は両方のアーティクルで同じである必要があります。If the source table for an article is already published in another publication, then the value of delete_tracking must be the same for both articles.

注意

delete_trackingのオプションは、パブリケーションの新規作成ウィザードまたは [パブリケーションのプロパティ] ダイアログボックスを使用して設定することはできません。delete_tracking options cannot be set using the New Publication Wizard or the Publication Properties dialog box.

[ @compensate_for_errors = ] 'compensate_for_errors'同期中にエラーが発生した場合に補正アクションを実行するかどうかを示します。[ @compensate_for_errors = ] 'compensate_for_errors' Indicates if compensating actions are taken when errors are encountered during synchronization. compensate_for_errors is nvarchar (5),、既定値は FALSE です。compensate_for_errors is nvarchar(5), with a default of FALSE. Trueに設定されている場合、同期中にサブスクライバーまたはパブリッシャーで適用できない変更は、常に、変更を元に戻す補正アクションにつながります。ただし、誤って構成された1つのサブスクライバーがエラーを生成すると、他のサブスクライバーやパブリッシャーでの変更が元に戻される可能性があります。When set to true, changes that cannot be applied at a Subscriber or Publisher during synchronization always lead to compensating actions to undo the change; however, one incorrectly configured Subscriber that generates an error can cause changes at other Subscribers and Publishers to be undone. falseを設定すると、これらの補正アクションは無効になりますが、エラーは補正と同様にログに記録され、それ以降のマージでは、成功するまで変更を適用しようとし続けます。false disables these compensating actions, however, the errors are still logged as with compensation and subsequent merges continues to attempt to apply the changes until successful.

重要

影響を受ける行のデータは収束されないように見えますが、エラーを解決すると、変更は直ちに適用可能となり、データは収束されます。Although data in the affected rows might appear to be out of convergence, as soon as you address any errors, changes can be applied and data will converge. アーティクルのソーステーブルが別のパブリケーションで既にパブリッシュされている場合、 compensate_for_errorsの値は両方のアーティクルで同じである必要があります。If the source table for an article is already published in another publication, then the value of compensate_for_errors must be the same for both articles.

[ @stream_blob_columns = ] 'stream_blob_columns'バイナリラージオブジェクトの列をレプリケートするときに、データストリームの最適化を使用することを指定します。[ @stream_blob_columns = ] 'stream_blob_columns' Specifies that a data stream optimization be used when replicating binary large object columns. stream_blob_columnsnvarchar (5),、既定値は FALSE です。stream_blob_columns is nvarchar(5), with a default of FALSE. trueは、最適化が試行されることを意味します。true means that the optimization will be attempted. FILESTREAM が有効になっている場合、 stream_blob_columnsは true に設定されます。stream_blob_columns is set to true when FILESTREAM is enabled. これにより、FILESTREAM データのレプリケーションを最適な方法で実行し、メモリ使用量を減らすことができます。This allows replication of FILESTREAM data to perform optimally and reduce memory utilization. FILESTREAM テーブルアーティクルで blob ストリーミングを使用しないように強制するには、 sp_changemergearticleを使用してstream_blob_columnsを false に設定します。To force FILESTREAM table articles to not use blob streaming, use sp_changemergearticle to set stream_blob_columns to false.

重要

このメモリ最適化を有効にすると、同期中にマージエージェントのパフォーマンスが低下する可能性があります。Enabling this memory optimization may reduce the performance of the Merge Agent during synchronization. このオプションは、mb 単位のデータを含む列をレプリケートする場合にのみ使用してください。This option should only be used when replicating columns that contain megabytes of data.

注意

論理レコードなど特定のマージレプリケーション機能では、 stream_blob_columnstrueに設定されていても、バイナリラージオブジェクトをレプリケートするときにストリームの最適化が使用されない場合があります。Certain merge replication functionalities, such as logical records, can still prevent the stream optimization from being used when replicating binary large objects even with stream_blob_columns set to true.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)

解説Remarks

sp_addmergearticleは、マージレプリケーションで使用します。sp_addmergearticle is used in merge replication.

オブジェクトをパブリッシュすると、その定義がサブスクライバーにコピーされます。When you publish objects, their definitions are copied to Subscribers. 1つ以上の他のオブジェクトに依存するデータベースオブジェクトをパブリッシュする場合は、参照されているすべてのオブジェクトをパブリッシュする必要があります。If you are publishing a database object that depends on one or more other objects, you must publish all referenced objects. たとえば、テーブルに依存しているビューをパブリッシュする場合は、そのテーブルもパブリッシュする必要があります。For example, if you publish a view that depends on a table, you must publish the table also.

Partition_options3を指定した場合、そのアーティクル内のデータの各パーティションに対して1つのサブスクリプションのみを使用できます。If you specify a value of 3 for partition_options, there can be only a single subscription for each partition of data in that article. 第 2 のサブスクリプションを作成し、その新しいサブスクリプションのフィルター選択条件が既存のサブスクリプションと同じパーティションとして判別される場合、既存のサブスクリプションは削除されます。If a second subscription is created in which the filtering criterion of the new subscription resolves to the same partition as the existing subscription, the existing subscription is dropped.

Partition_optionsに3を指定すると、マージエージェントが実行され、パーティションスナップショットの有効期限が短くなるたびにメタデータがクリーンアップされます。When specifying a value of 3 for partition_options, metadata is cleaned-up whenever the Merge Agent runs and the partitioned snapshot expires more quickly. このオプションを使用する場合は、サブスクライバーによって要求されたパーティションスナップショットを有効にすることを検討してください。When using this option, you should consider enabling subscriber requested partitioned snapshot. 詳しくは、「 Snapshots for Merge Publications with Parameterized Filters」をご覧ください。For more information, see Snapshots for Merge Publications with Parameterized Filters.

Subset_filterclauseを使用して静的な水平フィルターを持つアーティクルを、パラメーター化されたフィルターを持つアーティクルを含む既存のパブリケーションに追加するには、サブスクリプションを再初期化する必要があります。Adding an article with a static horizontal filter, using subset_filterclause, to an existing publication with articles that have parameterized filters requires the subscriptions be reinitialized.

Processing_orderを指定する場合は、アーティクルの順序の値の間にギャップを残しておくことをお勧めします。これにより、将来の新しい値の設定が簡単になります。When specifying processing_order, we recommend leaving gaps between the article order values, which makes it easier to set new values in the future. たとえば、Article1、Article2、Article3 の3つの記事がある場合は、1、2、3ではなく、 processing_orderを10、20、および30に設定します。For example, if you have three articles Article1, Article2, and Article3, set processing_order to 10, 20, and 30, rather than 1, 2, and 3. 詳細については、「Specify Merge Replication properties」 (マージ レプリケーションのプロパティの指定) を参照してください。For more information, see Specify Merge Replication properties.

既定のスキーマオプションテーブルDefault Schema Option Table

次の表では、アーティクルの種類に依存するschema_optionに NULL 値が指定されている場合に、ストアドプロシージャによって設定される既定値について説明します。This table describes the default value that is set by the stored procedure if a NULL value is specified for schema_option, which depends on article type.

アーティクルの種類Article type スキーマ オプションの値Schema option value
func スキーマのみfunc schema only 0x010x01
インデックス付きビュースキーマのみindexed view schema only 0x010x01
proc スキーマのみproc schema only 0x010x01
一覧table 0x0c034fd1 - SQL Server 2005 (9.x)SQL Server 2005 (9.x)以降の互換パブリケーションとネイティブモードのスナップショット。0x0C034FD1 - SQL Server 2005 (9.x)SQL Server 2005 (9.x) and later compatible publications with a native mode snapshot.

**** - SQL Server 2005 (9.x)SQL Server 2005 (9.x)キャラクターモードのスナップショットを使用した、0x08034ff1 以降の互換性のあるパブリケーション。0x08034FF1 - SQL Server 2005 (9.x)SQL Server 2005 (9.x) and later compatible publications with a character mode snapshot.
view schema onlyview schema only 0x010x01

注意

パブリケーションが以前のバージョンのSQL ServerSQL Serverをサポートしている場合、テーブルの既定のスキーマオプションは0x30034ff1です。If the publication supports earlier versions of SQL ServerSQL Server, the default schema option for table is 0x30034FF1.

有効なスキーマオプションテーブルValid Schema Option Table

次の表では、アーティクルの種類に応じてschema_option許可される値について説明します。The following table describes the allowed values schema_option depending on article type.

アーティクルの種類Article type スキーマオプションの値Schema option values
func スキーマのみfunc schema only 0x010x20000x01 and 0x2000
インデックス付きビュースキーマのみindexed view schema only 0x010x040,0x01000x20000x400000x1000000、および0x2000000x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000
proc スキーマのみproc schema only 0x010x20000x01 and 0x2000
一覧table すべてのオプション。All options.
view schema onlyview schema only 0x010x040,0x01000x20000x400000x1000000、および0x2000000x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000

Example

DECLARE @publication AS sysname;
DECLARE @table1 AS sysname;
DECLARE @table2 AS sysname;
DECLARE @table3 AS sysname;
DECLARE @salesschema AS sysname;
DECLARE @hrschema AS sysname;
DECLARE @filterclause AS nvarchar(1000);
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @table1 = N'Employee'; 
SET @table2 = N'SalesOrderHeader'; 
SET @table3 = N'SalesOrderDetail'; 
SET @salesschema = N'Sales';
SET @hrschema = N'HumanResources';
SET @filterclause = N'Employee.LoginID = HOST_NAME()';

-- Add a filtered article for the Employee table.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table1, 
  @source_object = @table1, 
  @type = N'table', 
  @source_owner = @hrschema,
  @schema_option = 0x0004CF1,
  @description = N'article for the Employee table',
  @subset_filterclause = @filterclause;

-- Add an article for the SalesOrderHeader table that is filtered
-- based on Employee and horizontally filtered.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table2, 
  @source_object = @table2, 
  @type = N'table', 
  @source_owner = @salesschema, 
  @vertical_partition = N'true',
  @schema_option = 0x0034EF1,
  @description = N'article for the SalesOrderDetail table';

-- Add an article for the SalesOrderDetail table that is filtered
-- based on SaledOrderHeader.
EXEC sp_addmergearticle 
  @publication = @publication, 
  @article = @table3, 
  @source_object = @table3, 
  @source_owner = @salesschema,
  @description = 'article for the SalesOrderHeader table', 
  @identityrangemanagementoption = N'auto', 
  @pub_identity_range = 100000, 
  @identity_range = 100, 
  @threshold = 80,
  @schema_option = 0x0004EF1;

-- Add all columns to the SalesOrderHeader article.
EXEC sp_mergearticlecolumn 
  @publication = @publication, 
  @article = @table2, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Remove the credit card Approval Code column.
EXEC sp_mergearticlecolumn 
  @publication = @publication, 
  @article = @table2, 
  @column = N'CreditCardApprovalCode', 
  @operation = N'drop', 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Add a merge join filter between Employee and SalesOrderHeader.
EXEC sp_addmergefilter 
  @publication = @publication, 
  @article = @table2, 
  @filtername = N'SalesOrderHeader_Employee', 
  @join_articlename = @table1, 
  @join_filterclause = N'Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID', 
  @join_unique_key = 1, 
  @filter_type = 1, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Add a merge join filter between SalesOrderHeader and SalesOrderDetail.
EXEC sp_addmergefilter 
  @publication = @publication, 
  @article = @table3, 
  @filtername = N'SalesOrderDetail_SalesOrderHeader', 
  @join_articlename = @table2, 
  @join_filterclause = N'SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID', 
  @join_unique_key = 1, 
  @filter_type = 1, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;
GO

アクセス許可Permissions

Sysadmin固定サーバーロールまたはdb_owner固定データベースロールのメンバーシップが必要です。Requires membership in the sysadmin fixed server role or the db_owner fixed database role.

参照See Also

アーティクルの定義 Define an Article
データとデータベースオブジェクトのパブリッシュ Publish Data and Database Objects
Id 列のレプリケート Replicate Identity Columns
sp_changemergearticle (Transact-sql) sp_changemergearticle (Transact-SQL)
sp_dropmergearticle (Transact-sql) sp_dropmergearticle (Transact-SQL)
sp_helpmergearticle (Transact-sql) sp_helpmergearticle (Transact-SQL)
レプリケーションストアドプロシージャ (Transact-sql)Replication Stored Procedures (Transact-SQL)