sp_addarticle (Transact-SQL)sp_addarticle (Transact-SQL)

適用対象: ○SQL Server ○Azure SQL Database (Managed Instance のみ) ×Azure SQL Data Warehouse ×Parallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

アーティクルを作成し、パブリケーションに追加します。Creates an article and adds it to a publication. このストアド プロシージャは、パブリッシャー側でパブリケーション データベースについて実行されます。This stored procedure is executed at the Publisher on the publication database.

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

構文Syntax

  
sp_addarticle [ @publication = ] 'publication'   
        , [ @article = ] 'article'   
    [ , [ @source_table = ] 'source_table' ]  
    [ , [ @destination_table = ] 'destination_table' ]   
    [ , [ @vertical_partition = ] 'vertical_partition' ]   
    [ , [ @type = ] 'type' ]   
    [ , [ @filter = ] 'filter' ]   
    [ , [ @sync_object= ] 'sync_object' ]   
        [ , [ @ins_cmd = ] 'ins_cmd' ]   
    [ , [ @del_cmd = ] 'del_cmd' ]   
        [ , [ @upd_cmd = ] 'upd_cmd' ]   
    [ , [ @creation_script = ] 'creation_script' ]   
    [ , [ @description = ] 'description' ]   
    [ , [ @pre_creation_cmd = ] 'pre_creation_cmd' ]   
    [ , [ @filter_clause = ] 'filter_clause' ]   
    [ , [ @schema_option = ] schema_option ]   
    [ , [ @destination_owner = ] 'destination_owner' ]   
    [ , [ @status = ] status ]   
    [ , [ @source_owner = ] 'source_owner' ]   
    [ , [ @sync_object_owner = ] 'sync_object_owner' ]   
    [ , [ @filter_owner = ] 'filter_owner' ]   
    [ , [ @source_object = ] 'source_object' ]   
    [ , [ @artid = ] article_ID  OUTPUT ]   
    [ , [ @auto_identity_range = ] 'auto_identity_range' ]   
    [ , [ @pub_identity_range = ] pub_identity_range ]   
    [ , [ @identity_range = ] identity_range ]   
    [ , [ @threshold = ] threshold ]   
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @use_default_datatypes = ] use_default_datatypes  
    [ , [ @identityrangemanagementoption = ] identityrangemanagementoption ]  
    [ , [ @publisher = ] 'publisher' ]  
    [ , [ @fire_triggers_on_snapshot = ] 'fire_triggers_on_snapshot' ]   

引数Arguments

[ @publication = ] 'publication'アーティクルを含むパブリケーションの名前を指定します。[ @publication = ] 'publication' Is the name of the publication that contains the article. 名前はデータベース内で一意である必要があります。The name must be unique in the database. パブリケーションsysname 、既定値はありません。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.

[ @source_table = ] 'source_table'このパラメーターは非推奨とされました。代わりにsource_objectを使用してください。[ @source_table = ] 'source_table' This parameter has been deprecated; use source_object instead.

このパラメーターは、Oracle パブリッシャーではサポートされていません。This parameter is not supported for Oracle Publishers.

[ @destination_table = ] 'destination_table'ソーステーブルまたはストアドプロシージャと異なる場合に、インポート先 (サブスクリプション) テーブルの名前を指定します。[ @destination_table = ] 'destination_table' Is the name of the destination (subscription) table, if different from source_tableor the stored procedure. destination_tablesysnameの既定値は NULL には、つまりsource_tableと等しい*destination_table *destination_table is sysname, with a default of NULL, which means that source_table equals destination_table**.

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

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

trueを設定すると、宣言された主キー、null 値を許容する列、および一意のキー列を除くすべての列が消去されます。true clears all columns except the declared primary key, nullable columns with no default, and unique key columns. 列はsp_articlecolumnを使用して追加されます。Columns are added using sp_articlecolumn.

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

Value 説明Description
集計スキーマのみaggregate schema only スキーマのみを使用する集計関数。Aggregate function with schema only.
func スキーマのみfunc schema only スキーマのみを使用する関数。Function with schema only.
インデックス付きビュー logbasedindexed view logbased ログベースのインデックス付きビューアーティクル。Log-based indexed view article. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers. この種類の記事では、ベーステーブルを個別にパブリッシュする必要はありません。For this type of article, the base table does not need to be published separately.
インデックス付きビュー logbased manualbothindexed view logbased manualboth 手動フィルターと手動ビューを使用する、ログベースのインデックス付きビュー アーティクルです。Log-based indexed view article with manual filter and manual view. このオプションでは、 sync_objectパラメーターとfilterパラメーターの両方を指定する必要があります。This option requires that you specify both sync_object and filter parameters. この種類の記事では、ベーステーブルを個別にパブリッシュする必要はありません。For this type of article, the base table does not need to be published separately. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
インデックス付きビュー logbased manualfilterindexed view logbased manualfilter 手動フィルターを使用したログベースのインデックス付きビューアーティクル。Log-based indexed view article with manual filter. このオプションでは、 sync_objectパラメーターとfilterパラメーターの両方を指定する必要があります。This option requires that you specify both sync_object and filter parameters. この種類の記事では、ベーステーブルを個別にパブリッシュする必要はありません。For this type of article, the base table does not need to be published separately. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
インデックス付きビュー logbased manualviewindexed view logbased manualview 手動ビューを使用する、ログベースのインデックス付きビュー アーティクルです。Log-based indexed view article with manual view. このオプションでは、 sync_objectパラメーターを指定する必要があります。This option requires that you specify the sync_object parameter. この種類の記事では、ベーステーブルを個別にパブリッシュする必要はありません。For this type of article, the base table does not need to be published separately. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
インデックス付きビュースキーマのみindexed view schema only スキーマのみを使用するインデックス付きビュー。Indexed view with schema only. この種類のアーティクルでは、ベーステーブルもパブリッシュする必要があります。For this type of article, the base table must also be published.
logbased標準logbased (default) ログベースのアーティクル。Log-based article.
logbased manualbothlogbased manualboth 手動フィルターと手動ビューを使用したログベースのアーティクル。Log-based article with manual filter and manual view. このオプションでは、 sync_objectパラメーターとfilterパラメーターの両方を指定する必要があります。This option requires that you specify both sync_object and filter parameters. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
logbased manualfilterlogbased manualfilter 手動フィルターを使用したログベースのアーティクル。Log-based article with manual filter. このオプションでは、 sync_objectパラメーターとfilterパラメーターの両方を指定する必要があります。This option requires that you specify both sync_object and filter parameters. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
logbased manualviewlogbased manualview 手動ビューを使用する、ログベースのアーティクルです。Log-based article with manual view. このオプションでは、 sync_objectパラメーターを指定する必要があります。This option requires that you specify the sync_object parameter. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
proc execproc exec アーティクルのすべてのサブスクライバーにストアド プロシージャの実行をレプリケートします。Replicates the execution of the stored procedure to all Subscribers of the article. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers. Proc execではなくserializable proc execオプションを使用することをお勧めします。We recommend that you use the option serializable proc exec instead of proc exec. 詳細については、「トランザクションレプリケーションでのストアドプロシージャの実行のパブリッシュ」の「ストアドプロシージャの実行に関する記事の種類」を参照してください。For more information, see the section "Types of Stored Procedure Execution Articles" in Publishing Stored Procedure Execution in Transactional Replication. 変更データ キャプチャが有効な場合は使用できません。Not available when change data capture is enabled.
proc スキーマのみproc schema only スキーマのみを使用するプロシージャ。Procedure with schema only. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.
serializable proc execserializable proc exec シリアライゼーション可能なトランザクションのコンテキスト内で実行される場合にのみ、ストアド プロシージャの実行をレプリケートします。Replicates the execution of the stored procedure only if it is executed within the context of a serializable transaction. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers.

プロシージャは、プロシージャの実行をレプリケートするために、明示的なトランザクション内で実行する必要もあります。The procedure also must be executed inside an explicit transaction for the procedure execution to be replicated.
スキーマのみを表示view schema only スキーマのみを使用するビュー。View with schema only. Oracle パブリッシャーではサポートされていません。Not supported for Oracle Publishers. このオプションを使用する場合は、ベーステーブルもパブリッシュする必要があります。When using this option, you must also publish the base table.

[ @filter = ] 'filter'テーブルを水平方向にフィルター選択するために使用されるストアドプロシージャ (FOR REPLICATION で作成) です。[ @filter = ] 'filter' Is the stored procedure (created with FOR REPLICATION) used to filter the table horizontally. フィルターnvarchar (386) ,、既定値は NULL です。filter is nvarchar(386), with a default of NULL. ビューとフィルターストアドプロシージャを作成するには、 sp_articleviewsp_articlefilterを手動で実行する必要があります。sp_articleview and sp_articlefilter must be executed manually to create the view and filter stored procedure. NULL 以外を指定した場合は、ストアド プロシージャが手動で作成されるものと見なされるため、フィルター プロシージャは作成されません。If not NULL, the filter procedure is not created (assumes the stored procedure is created manually).

[ @sync_object = ] 'sync_object'このアーティクルのスナップショットを表すために使用するデータファイルの生成に使用されるテーブルまたはビューの名前を指定します。[ @sync_object = ] 'sync_object' Is the name of the table or view used for producing the data file used to represent the snapshot for this article. sync_objectnvarchar (386) ,、既定値は NULL です。sync_object is nvarchar(386), with a default of NULL. NULL の場合、 sp_articleviewが呼び出され、出力ファイルの生成に使用するビューが自動的に作成されます。If NULL, sp_articleview is called to automatically create the view used to generate the output file. このエラーは、 sp_articlecolumnを使用して列を追加した後に発生します。This occurs after adding any columns with sp_articlecolumn. NULL 以外を指定した場合は、ビューが手動で作成されるものと見なされるため、ビューは作成されません。If not NULL, a view is not created (assumes the view is manually created).

[ @ins_cmd = ] 'ins_cmd'このアーティクルの挿入をレプリケートするときに使用されるレプリケーションコマンドの種類を示します。[ @ins_cmd = ] 'ins_cmd' Is the replication command type used when replicating inserts for this article. ins_cmdnvarchar (255) ,、値は次のいずれかを指定することができます。ins_cmd is nvarchar(255), and can be one of the following values.

Value 説明Description
NONENONE アクションは実行されません。No action is taken.
Sp_MSins_ の呼び出しCALL sp_MSins_
テーブル 標準table (default)

- または --or-

Custom_stored_procedure_name の呼び出しCALL custom_stored_procedure_name
サブスクライバー側で実行されるストアド プロシージャを呼び出します。Calls a stored procedure to be executed at the Subscriber. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article. custom_stored_procedure 、ユーザーが作成したストアドプロシージャの名前を指定します。custom_stored_procedure is the name of a user-created stored procedure. sp_MSins_テーブルには、パラメーターのテーブル部分の代わりに、変換先テーブルの名前が含まれています。sp_MSins_table contains the name of the destination table in place of the _table part of the parameter. Destination_ownerを指定すると、コピー先のテーブル名の前に付加されます。When destination_owner is specified, it is prepended to the destination table name. たとえば、サブスクライバーで実稼働スキーマによって所有さCALL sp_MSins_ProductionProductCategoryれているproductcategoryテーブルの場合、パラメーターはになります。For example, for the ProductCategory table owned by the Production schema at the Subscriber, the parameter would be CALL sp_MSins_ProductionProductCategory. ピアツーピアレプリケーショントポロジ内のアーティクルの場合、テーブルには GUID 値が付加されます。For an article in a peer-to-peer replication topology, _table is appended with a GUID value. Custom_stored_procedureの指定は、サブスクライバーの更新ではサポートされていません。Specifying custom_stored_procedure is not supported for updating subscribers.
SQLまたは NULLSQL or NULL INSERT ステートメントをレプリケートします。Replicates an INSERT statement. INSERT ステートメントでは、アーティクル内にある、パブリッシュされるすべての列の値が指定されます。The INSERT statement is provided values for all columns published in the article. 次のコマンドは挿入時にレプリケートされます。This command is replicated on inserts:

INSERT INTO <table name> VALUES (c1value, c2value, c3value, ..., cnvalue)

詳細については、「トランザクション アーティクルに変更を反映する方法の指定」を参照してください。For more information, see Specify How Changes Are Propagated for Transactional Articles.

[ @del_cmd = ] 'del_cmd'このアーティクルの削除をレプリケートするときに使用するレプリケーションコマンドの種類を示します。[ @del_cmd = ] 'del_cmd' Is the replication command type used when replicating deletes for this article. del_cmdnvarchar (255) ,、値は次のいずれかを指定することができます。del_cmd is nvarchar(255), and can be one of the following values.

Value 説明Description
NONENONE アクションは実行されません。No action is taken.
CALLsp_MSdel_CALLsp_MSdel_
テーブル 標準table (default)

- または --or-

Custom_stored_procedure_name の呼び出しCALL custom_stored_procedure_name
サブスクライバー側で実行されるストアド プロシージャを呼び出します。Calls a stored procedure to be executed at the Subscriber. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article. custom_stored_procedure 、ユーザーが作成したストアドプロシージャの名前を指定します。custom_stored_procedure is the name of a user-created stored procedure. sp_MSdel_テーブルには、パラメーターのテーブル部分の代わりに、変換先テーブルの名前が含まれています。sp_MSdel_table contains the name of the destination table in place of the _table part of the parameter. Destination_ownerを指定すると、コピー先のテーブル名の前に付加されます。When destination_owner is specified, it is prepended to the destination table name. たとえば、サブスクライバーで実稼働スキーマによって所有さCALL sp_MSdel_ProductionProductCategoryれているproductcategoryテーブルの場合、パラメーターはになります。For example, for the ProductCategory table owned by the Production schema at the Subscriber, the parameter would be CALL sp_MSdel_ProductionProductCategory. ピアツーピアレプリケーショントポロジ内のアーティクルの場合、テーブルには GUID 値が付加されます。For an article in a peer-to-peer replication topology, _table is appended with a GUID value. Custom_stored_procedureの指定は、サブスクライバーの更新ではサポートされていません。Specifying custom_stored_procedure is not supported for updating subscribers.
XCALL sp_MSdel_XCALL sp_MSdel_
一覧table

- または --or-

XCALL custom_stored_procedure_nameXCALL custom_stored_procedure_name
XCALL スタイルのパラメーターを使用してストアド プロシージャを呼び出します。Calls a stored procedure taking XCALL style parameters. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article. ユーザーが作成したストアドプロシージャの指定は、サブスクライバーの更新では許可されていません。Specifying a user-created stored procedure is not allowed for updating subscribers.
SQLまたは NULLSQL or NULL DELETE ステートメントをレプリケートします。Replicates a DELETE statement. DELETE ステートメントには、すべての主キー列の値が指定されています。The DELETE statement is provided all primary key column values. このコマンドは、削除時にレプリケートされます。This command is replicated on deletes:

DELETE FROM <table name> WHERE pkc1 = pkc1value AND pkc2 = pkc2value AND pkcn = pkcnvalue

詳細については、「トランザクション アーティクルに変更を反映する方法の指定」を参照してください。For more information, see Specify How Changes Are Propagated for Transactional Articles.

[ @upd_cmd = ] 'upd_cmd'このアーティクルの更新をレプリケートするときに使用されるレプリケーションコマンドの種類を示します。[ @upd_cmd = ] 'upd_cmd' Is the replication command type used when replicating updates for this article. upd_cmdnvarchar (255) ,、値は次のいずれかを指定することができます。upd_cmd is nvarchar(255), and can be one of the following values.

Value 説明Description
NONENONE アクションは実行されません。No action is taken.
Sp_MSupd_ の呼び出しCALL sp_MSupd_
一覧table

- または --or-

Custom_stored_procedure_name の呼び出しCALL custom_stored_procedure_name
サブスクライバー側で実行されるストアド プロシージャを呼び出します。Calls a stored procedure to be executed at the Subscriber. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article.
MCALL sp_MSupd_MCALL sp_MSupd_
一覧table

- または --or-

MCALL custom_stored_procedure_nameMCALL custom_stored_procedure_name
MCALL スタイルパラメーターを取得するストアドプロシージャを呼び出します。Calls a stored procedure taking MCALL style parameters. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article. custom_stored_procedure 、ユーザーが作成したストアドプロシージャの名前を指定します。custom_stored_procedure is the name of a user-created stored procedure. sp_MSupd_テーブルには、パラメーターのテーブル部分の代わりに、変換先テーブルの名前が含まれています。sp_MSupd_table contains the name of the destination table in place of the _table part of the parameter. Destination_ownerを指定すると、コピー先のテーブル名の前に付加されます。When destination_owner is specified, it is prepended to the destination table name. たとえば、サブスクライバーで実稼働スキーマによって所有さMCALL sp_MSupd_ProductionProductCategoryれているproductcategoryテーブルの場合、パラメーターはになります。For example, for the ProductCategory table owned by the Production schema at the Subscriber, the parameter would be MCALL sp_MSupd_ProductionProductCategory. ピアツーピアレプリケーショントポロジ内のアーティクルの場合、テーブルには GUID 値が付加されます。For an article in a peer-to-peer replication topology, _table is appended with a GUID value. ユーザーが作成したストアドプロシージャの指定は、サブスクライバーの更新では許可されていません。Specifying a user-created stored procedure is not allowed for updating subscribers.
SCALL sp_MSupd_SCALL sp_MSupd_
テーブル 標準table (default)

- または --or-

SCALL custom_stored_procedure_nameSCALL custom_stored_procedure_name
SCALL スタイルパラメーターを受け取るストアドプロシージャを呼び出します。Calls a stored procedure taking SCALL style parameters. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article. custom_stored_procedure 、ユーザーが作成したストアドプロシージャの名前を指定します。custom_stored_procedure is the name of a user-created stored procedure. sp_MSupd_テーブルには、パラメーターのテーブル部分の代わりに、変換先テーブルの名前が含まれています。sp_MSupd_table contains the name of the destination table in place of the _table part of the parameter. Destination_ownerを指定すると、コピー先のテーブル名の前に付加されます。When destination_owner is specified, it is prepended to the destination table name. たとえば、サブスクライバーで実稼働スキーマによって所有さSCALL sp_MSupd_ProductionProductCategoryれているproductcategoryテーブルの場合、パラメーターはになります。For example, for the ProductCategory table owned by the Production schema at the Subscriber, the parameter would be SCALL sp_MSupd_ProductionProductCategory. ピアツーピアレプリケーショントポロジ内のアーティクルの場合、テーブルには GUID 値が付加されます。For an article in a peer-to-peer replication topology, _table is appended with a GUID value. ユーザーが作成したストアドプロシージャの指定は、サブスクライバーの更新では許可されていません。Specifying a user-created stored procedure is not allowed for updating subscribers.
XCALL sp_MSupd_XCALL sp_MSupd_
一覧table

- または --or-

XCALL custom_stored_procedure_nameXCALL custom_stored_procedure_name
XCALL スタイルのパラメーターを使用してストアド プロシージャを呼び出します。Calls a stored procedure taking XCALL style parameters. このレプリケーション方法を使用するには、 schema_optionを使用してストアドプロシージャの自動作成を指定するか、アーティクルの各サブスクライバーの転送先データベースに指定されたストアドプロシージャを作成します。To use this method of replication, use schema_option to specify automatic creation of the stored procedure, or create the specified stored procedure in the destination database of each Subscriber of the article. ユーザーが作成したストアドプロシージャの指定は、サブスクライバーの更新では許可されていません。Specifying a user-created stored procedure is not allowed for updating subscribers.
SQLまたは NULLSQL or NULL UPDATE ステートメントをレプリケートします。Replicates an UPDATE statement. UPDATE ステートメントでは、すべての列の値と主キー列の値が指定されます。The UPDATE statement is provided on all column values and the primary key column values. このコマンドは更新時にレプリケートされます。This command is replicated on updates:

UPDATE <table name> SET c1 = c1value, SET c2 = c2value, SET cn = cnvalue WHERE pkc1 = pkc1value AND pkc2 = pkc2value AND pkcn = pkcnvalue

注意

CALL、MCALL、SCALL、および XCALL 構文は、サブスクライバーに反映されるデータの量が異なります。The CALL, MCALL, SCALL, and XCALL syntax vary the amount of data propagated to the subscriber. CALL 構文では、挿入されたすべての列および削除されたすべての列に関するすべての値が渡されます。The CALL syntax passes all values for all inserted and deleted columns. SCALL 構文では、影響を受けた列の値のみが渡されます。The SCALL syntax passes values only for affected columns. XCALL 構文は、列の前の値を含め、変更されたかどうかにかかわらず、すべての列の値を渡します。The XCALL syntax passes values for all columns, whether changed or not, including the previous value of the column. 詳細については、「トランザクション アーティクルに変更を反映する方法の指定」を参照してください。For more information, see Specify How Changes Are Propagated for Transactional Articles.

[ @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.

[ @description = ] 'description'アーティクルの内容を示すエントリです。[ @description = ] 'description' Is a descriptive entry for the article. 説明nvarchar (255) ,、既定値は NULL です。description is nvarchar(255), with a default of NULL.

[ @pre_creation_cmd = ] 'pre_creation_cmd'このアーティクルのスナップショットを適用するときに、サブスクライバーで同じ名前の既存のオブジェクトが検出された場合にシステムが実行する操作を指定します。[ @pre_creation_cmd = ] 'pre_creation_cmd' Specifies what the system should do if it detects an existing object of the same name at the subscriber when applying the snapshot for this article. pre_creation_cmdnvarchar (10) ,、値は次のいずれかを指定することができます。pre_creation_cmd is nvarchar(10), and can be one of the following values.

Value 説明Description
nonenone コマンドを使用しません。Does not use a command.
deletedelete スナップショットを適用する前に、レプリケーション先テーブルからデータを削除します。Deletes data from the destination table before applying the snapshot. アーティクルが行方向にフィルター選択されると、フィルター句によって指定された列のデータのみが削除されます。When the article is horizontally filtered, only data in columns specified by the filter clause is deleted. 行フィルターが定義されている場合は、Oracle パブリッシャーに対してはサポートされません。Not supported for Oracle Publishers when a horizontal filter is defined.
ドロップ標準drop (default) 変換先テーブルを削除します。Drops the destination table.
truncatetruncate 変換先テーブルを切り捨てます。Truncates the destination table. は、ODBC または OLE DB のサブスクライバーに対しては無効です。Is not valid for ODBC or OLE DB Subscribers.

[ @filter_clause = ] 'filter_clause'は、水平フィルターを定義する restriction (WHERE) 句です。[ @filter_clause = ] 'filter_clause' Is a restriction (WHERE) clause that defines a horizontal filter. 制限句を入力する場合は、WHERE キーワードを省略します。When entering the restriction clause, omit the keyword WHERE. filter_clausentext,、既定値は NULL です。filter_clause is ntext, with a default of NULL. 詳細については、「パブリッシュされたデータのフィルター選択」を参照してください。For more information, see Filter Published Data.

[ @schema_option = ] schema_option指定されたアーティクルのスキーマ生成オプションのビットマスクです。[ @schema_option = ] schema_option Is a bitmask 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:

注意

この値が NULL の場合は、他のアーティクルのプロパティに応じて、アーティクルの有効なスキーマ オプションが自動生成されます。If this value is NULL, the system auto-generates a valid schema option for the article depending on other article properties. 「解説」に記載されている既定のスキーマオプションの表は、アーティクルの種類とレプリケーションの種類の組み合わせに基づいて選択される値を示しています。The Default Schema Options table given in the Remarks shows the value that will be chosen based upon the combination of the article type and the replication type.

Value 説明Description
0x000x00 スナップショットエージェントによるスクリプト作成を無効にし、 creation_scriptを使用します。Disables scripting by the Snapshot Agent and uses creation_script.
0x010x01 オブジェクト作成スクリプト (CREATE TABLE、CREATE PROCEDURE など) を生成します。Generates the object creation script (CREATE TABLE, CREATE PROCEDURE, and so on). この値は、ストアドプロシージャアーティクルの既定値です。This value is the default for stored procedure articles.
除く0x02 定義されている場合、アーティクルの変更を反映するストアド プロシージャを生成します。Generates the stored procedures that propagate changes for the article, if defined.
0x040x04 Id 列は、IDENTITY プロパティを使用してスクリプト化されます。Identity columns are scripted using the IDENTITY property.
0x080x08 タイムスタンプ列をレプリケートします。Replicate timestamp columns. 設定しない場合、タイムスタンプ列はバイナリとしてレプリケートされます。If not set, timestamp columns are replicated as binary.
0x100x10 対応するクラスター化インデックスを生成します。Generates a corresponding clustered index. このオプションが設定されていない場合でも、主キーと一意の制約に関連するインデックスは、パブリッシュされたテーブルで既に定義されている場合に生成されます。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. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.
0x400x40 対応する非クラスター化インデックスを生成します。Generates corresponding nonclustered indexes. このオプションが設定されていない場合でも、主キーと一意の制約に関連するインデックスは、パブリッシュされたテーブルで既に定義されている場合に生成されます。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 主キー制約をレプリケートします。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. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.
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. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.
0x4000x400 Check 制約をレプリケートします。Replicates check constraints. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.
0x8000x800 既定値をレプリケートします。Replicates defaults. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.
0x10000x1000 列レベルの照合順序をレプリケートします。Replicates column-level collation.

注: Oracle パブリッシャーの場合は、このオプションを設定して、大文字と小文字を区別する比較を有効にする必要があります。Note: This option should be set for Oracle Publishers to enable case-sensitive comparisons.
0x20000x2000 パブリッシュされたアーティクルのソースオブジェクトに関連付けられた拡張プロパティをレプリケートします。Replicates extended properties associated with the published article source object. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.
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 SQL Server 2005 (9.x)SQL Server 2005 (9.x) Publishers.
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 既定のバインドです。Default Bindings
0x8000000x800000 ルールのバインドです。Rule Bindings
0x10000000x1000000 フルテキスト インデックスです。Full-text index
0x20000000x2000000 Xml列にバインドされている xml スキーマコレクションはレプリケートされません。XML schema collections bound to xml columns are not replicated.
0x40000000x4000000 Xml列のインデックスをレプリケートします。Replicates indexes on xml columns.
0x80000000x8000000 サブスクライバーにまだ存在しないスキーマを作成します。Create 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 権限をレプリケートします。Replicate permissions.
0x80000000 です0x80000000 パブリケーションに含まれていないオブジェクトへの依存関係を削除しようとしています。Attempt 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 ServerSQL Serverで導入SQL Server 2008SQL Server 2008された日付と時刻のデータ型 (date、 time、datetimeoffset、および 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 2バイトを8000超える共通言語ランタイム (CLR) ユーザー定義型 (Udt) をvarbinary (max) に変換します。これにより、udt 型の列を、を実行SQL Server 2005 (9.x)SQL Server 2005 (9.x)しているサブスクライバーにレプリケートできるようになります。Converts common language runtime (CLR) user-defined types (UDTs) that are larger than 8000 bytes 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.
0x200000000000x20000000000 列のスパース属性をレプリケートします。Replicates the SPARSE attribute for columns. この属性の詳細については、「スパース列の使用」を参照してください。For more information about this attribute, see Use Sparse Columns.
0x400000000000x40000000000 サブスクライバーにメモリ最適化テーブルを作成するには、スナップショットエージェントによるスクリプト作成を有効にします。Enable scripting by the snapshot agent to create memory-optimized table on the subscriber.
0x800000000000x80000000000 メモリ最適化アーティクルのクラスター化インデックスを非クラスター化インデックスに変換します。Converts clustered index to nonclustered index for memory-optimized articles.
0x4000000000000x400000000000 テーブルの非クラスター化列ストアインデックスをレプリケートします。Replicates any nonclustered columnstore indexes on the table(s)
0x8000000000000x800000000000 テーブルのすべての flitered リングされた非クラスター化列ストアインデックスをレプリケートします。Replicates any flitered nonclustered columnstore indexes on the table(s).
NULLNULL レプリケーションでは、 schema_optionが既定値に自動的に設定されます。この値は、他のアーティクルのプロパティによって異なります。Replication automatically sets schema_option to a default value, the value of which depends on other article properties. 「解説」の「既定のスキーマオプション」の表は、アーティクルの種類とレプリケーションの種類に基づく既定のスキーマオプションを示しています。The "Default Schema Options" table in the Remarks section shows the default schema options based on article type and replication type.

以外SQL ServerSQL Serverのパブリケーションの既定値は0x050d3です。The default for non-SQL ServerSQL Server publications is 0x050D3.

すべてのschema_option値がすべての種類のレプリケーションとアーティクルの種類に対して有効であるとは限りません。Not all schema_option values are valid for every type of replication and article type. 「解説」の有効なスキーマオプションの表は、アーティクルの種類とレプリケーションの種類の組み合わせに基づいて選択できる有効なスキーマオプションを示しています。The Valid Schema Options table in the Remarks section shows the valid schema options that can be chosen based upon the combination of the article type and the replication type.

[ @destination_owner = ] 'destination_owner'対象オブジェクトの所有者の名前を指定します。[ @destination_owner = ] 'destination_owner' Is the name of the owner of the destination object. destination_ownersysname,、既定値は NULL です。destination_owner is sysname, with a default of NULL. Destination_ownerが指定されていない場合、所有者は次の規則に基づいて自動的に指定されます。When destination_owner is not specified, the owner is specified automatically based on the following rules:

条件Condition 対象オブジェクトの所有者Destination object owner
パブリケーションはネイティブ モードの一括コピーを使用して、SQL ServerSQL Server サブスクライバーのみをサポートする初期スナップショットを生成します。Publication uses native-mode bulk copy to generate the initial snapshot, which only supports SQL ServerSQL Server Subscribers. 既定値はsource_ownerです。Defaults to the value of source_owner.
SQL ServerSQL Server 以外のパブリッシャーからパブリッシュされます。Published from a non-SQL ServerSQL Server Publisher. 既定では、転送先データベースの所有者になります。Defaults to the owner of the destination database.
パブリケーションでは、キャラクターモードの一括コピーを使用して、以外SQL ServerSQL Serverのサブスクライバーをサポートする初期スナップショットを生成します。Publication uses character-mode bulk copy to generate the initial snapshot, which supports non-SQL ServerSQL Server Subscribers. 割り当てられていません。Not assigned.

以外SQL ServerSQL Serverのサブスクライバーをサポートするには、 destination_ownerを NULL にする必要があります。To support non- SQL ServerSQL Server Subscribers, destination_owner must be NULL.

[ @status = ] statusアーティクルがアクティブかどうか、および変更の反映方法に関する追加オプションを指定します。[ @status = ] status Specifies if the article is active and additional options for how changes are propagated. 状態tinyintで、| を指定できます。 (ビットごとの OR)これらの値の1つ以上の積。status is tinyint, and can be the | (Bitwise OR) product of one or more of these values.

Value 説明Description
11 アーティクルはアクティブです。Article is active.
88 INSERT ステートメントに列名を含めます。Includes the column name in INSERT statements.
16 (既定値)16 (default) パラメーター化されたステートメントを使用します。Uses parameterized statements.
2424 INSERT ステートメントに列名を含め、パラメーター化されたステートメントを使用します。Includes the column name in INSERT statements and uses parameterized statements.
6464 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.

たとえば、パラメーター化されたステートメントを使用するアクティブなアーティクルの場合、この列の値は 17 になります。For example, an active article using parameterized statements would have a value of 17 in this column. 0は、アーティクルが非アクティブであり、追加のプロパティが定義されていないことを示します。A value of 0 means that the article is inactive and no additional properties are defined.

[ @source_owner = ] 'source_owner'は、ソースオブジェクトの所有者です。[ @source_owner = ] 'source_owner' Is the owner of the source object. source_ownersysname,、既定値は NULL です。source_owner is sysname, with a default of NULL. Oracle パブリッシャーの場合は、 source_ownerを指定する必要があります。source_owner must be specified for Oracle Publishers.

[ @sync_object_owner = ] 'sync_object_owner'パブリッシュされたアーティクルを定義するビューの所有者を示します。[ @sync_object_owner = ] 'sync_object_owner' Is the owner of the view that defines the published article. sync_object_ownersysname,、既定値は NULL です。sync_object_owner is sysname, with a default of NULL.

[ @filter_owner = ] 'filter_owner'フィルターの所有者を選択します。[ @filter_owner = ] 'filter_owner' Is the owner of the filter. filter_ownersysname,、既定値は NULL です。filter_owner is sysname, with a default of NULL.

[ @source_object = ] 'source_object'パブリッシュするデータベースオブジェクトを指定します。[ @source_object = ] 'source_object' Is the database object to be published. source_objectsysname,、既定値は NULL です。source_object is sysname, with a default of NULL. ソーステーブルが null の場合、 source_objectを null にすることはできません。ソーステーブルの代わりにsource_objectを使用する必要があります。If source_table is NULL, source_object cannot be NULL.source_object should be used instead of source_table. スナップショットレプリケーションまたはトランザクションレプリケーションを使用してパブリッシュできるオブジェクトの種類の詳細については、「データとデータベースオブジェクトのパブリッシュ」を参照してください。For more information about the types of objects that can be published using snapshot or transactional replication, see Publish Data and Database Objects.

[ @artid = ] _article_ID_ OUTPUT新しいアーティクルのアーティクル ID を示します。[ @artid = ] _article_ID_ OUTPUT Is the article ID of the new article. int 、既定値は NULL の場合、出力パラメーターです。article_ID is int with a default of NULL, and it is an OUTPUT parameter.

[ @auto_identity_range = ] 'auto_identity_range'パブリケーションの作成時に、パブリケーションに対する自動 id 範囲処理を有効または無効にします。[ @auto_identity_range = ] 'auto_identity_range' Enables and disables automatic identity range handling on a publication at the time it is created. auto_identity_rangenvarchar (5) ,、値は次のいずれかを指定することができます。auto_identity_range is nvarchar(5), and can be one of the following values:

Value 説明Description
truetrue 自動 id 範囲の処理を有効にしますEnables automatic identity range handling
falsefalse 自動 ID 範囲処理を無効にします。Disables automatic identity range handling
NULL (既定値)NULL(default) Id 範囲の処理は、 identityrangemanagementoptionによって設定されます。Identity range handling is set by identityrangemanagementoption.

注意

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アーティクルのidentityrangemanagementoptionautoに設定されているか、 auto_identity_rangetrueに設定されている場合、パブリッシャーでの範囲サイズを制御します。[ @pub_identity_range = ] pub_identity_range Controls the range size at the Publisher if the article has identityrangemanagementoption set to auto or auto_identity_range set to true. pub_identity_rangebigint,、既定値は NULL です。pub_identity_range is bigint, with a default of NULL. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.

[ @identity_range = ] identity_rangeアーティクルのidentityrangemanagementoptionautoに設定されているか、 auto_identity_rangetrueに設定されている場合、サブスクライバーでの範囲のサイズを制御します。[ @identity_range = ] identity_range Controls the range size at the Subscriber if the article has identityrangemanagementoption set to auto or auto_identity_range set to true. identity_rangebigint,、既定値は NULL です。identity_range is bigint, with a default of NULL. Auto_identity_rangetrueに設定されている場合に使用します。Used when auto_identity_range is set to true. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.

[ @threshold = ] thresholdディストリビューションエージェントが新しい id 範囲を割り当てるタイミングを制御するパーセンテージの値です。[ @threshold = ] threshold Is the percentage value that controls when the Distribution Agent assigns a new identity range. [しきい値] で指定した値のパーセンテージが使用されると、ディストリビューションエージェントによって新しい id 範囲が作成されます。When the percentage of values specified in threshold is used, the Distribution Agent creates a new identity range. しきい値bigint,、既定値は NULL です。threshold is bigint, with a default of NULL. Identityrangemanagementoptionautoに設定されている場合、またはauto_identity_rangetrueに設定されている場合に使用します。Used when identityrangemanagementoption is set to auto or auto_identity_range is set to true. Oracle パブリッシャーではサポートされていませんNot supported for Oracle Publishers.

[ @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 requires 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 subscriptions exist that would require a new snapshot, gives permission for the existing snapshot to be marked as obsolete and a new snapshot to be generated.

[ @use_default_datatypes = ] use_default_datatypesOracle パブリッシャーからアーティクルをパブリッシュするときに、列の既定のデータ型マッピングを使用するかどうかを指定します。[ @use_default_datatypes = ] use_default_datatypes Is whether the default column data type mappings are used when publishing an article from an Oracle Publisher. use_default_datatypesはビット,、既定値は1です。use_default_datatypes is bit, with a default of 1.

1 = 既定のアーティクル列マッピングが使用されます。1 = the default article column mappings are used. 既定のデータ型のマッピングを表示するには、 sp_getdefaultdatatypemappingを実行します。The default data type mappings can be displayed by executing sp_getdefaultdatatypemapping.

0 = カスタムアーティクル列のマッピングが定義されているため、 sp_articleviewsp_addarticleによって呼び出されません。0 = custom article column mappings are defined, and therefore sp_articleview is not called by sp_addarticle.

Use_default_datatypes0に設定されている場合は、列マッピングが既定値から変更されるたびにsp_changearticlecolumndatatypeを実行する必要があります。When use_default_datatypes is set to 0, you must execute sp_changearticlecolumndatatype once for each column mapping being changed from the default. すべてのカスタム列マッピングが定義されたら、 sp_articleviewを実行する必要があります。After all custom column mappings have been defined, you must execute sp_articleview.

注意

このパラメーターは、Oracle パブリッシャーに対してのみ使用してください。This parameter should only be used for Oracle Publishers. SQL ServerSQL Serverパブリッシャーに対してuse_default_datatypes0に設定すると、エラーが生成されます。Setting use_default_datatypes to 0 for a SQL ServerSQL Server Publisher generates an error.

[ @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
nonenone 明示的な ID 範囲の管理は行われません。Replication does no explicit identity range management. このオプションは、以前のバージョンの SQL Server との下位互換性のためにのみ推奨されます。This option is recommended only for backwards compatibility with earlier versions of SQL Server. ピアレプリケーションには許可されていません。Not allowed for peer replication.
手動manual NOT FOR REPLICATION を使用して id 列をマークし、手動による id 範囲処理を有効にします。Marks the identity column using NOT FOR REPLICATION to enable manual identity range handling.
autoauto Id 範囲の自動管理を指定します。Specifies automatic management of identity ranges.
NULL (既定値)NULL(default) Auto_identity_rangeの値がtrueでない場合、既定値はnoneです。Defaults to none when the value of auto_identity_range is not true. 既定では、ピアツーピアトポロジの既定値は [手動] になります (auto_identity_rangeは無視されます)。Defaults to manual in a peer-to-peer topology default (auto_identity_range is ignored).

旧バージョンとの互換性のために、 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.

[ @publisher = ] 'publisher'以外SQL ServerSQL Serverのパブリッシャーを指定します。[ @publisher = ] 'publisher' Specifies a non- SQL ServerSQL Server Publisher. publishersysnameで、既定値は NULL です。publisher is sysname, with a default of NULL.

注意

パブリッシャーにアーティクルを追加する場合は、 SQL ServerSQL Serverパブリッシャーを使用しないでください。publisher should not be used when adding an article to a SQL ServerSQL Server Publisher.

[ @fire_triggers_on_snapshot = ] 'fire_triggers_on_snapshot'初期スナップショットが適用されるときに、レプリケートされたユーザートリガーが実行されるかどうかを示します。[ @fire_triggers_on_snapshot = ] 'fire_triggers_on_snapshot' Is if replicated user triggers are executed when the initial snapshot is applied. fire_triggers_on_snapshotnvarchar (5) ,、既定値は FALSE。fire_triggers_on_snapshot is nvarchar(5), with a default of FALSE. trueは、スナップショットが適用されるときに、レプリケートされたテーブルのユーザートリガーが実行されることを意味します。true means that user triggers on a replicated table are executed when the snapshot is applied. トリガーをレプリケートするには、ビットマスク値schema_optionに値0x100を含める必要があります。In order for triggers to be replicated, the bitmask value of schema_option must include the value 0x100.

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

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

コメントRemarks

sp_addarticleは、スナップショットレプリケーションまたはトランザクションレプリケーションで使用します。sp_addarticle is used in snapshot replication or transactional replication.

既定では、列データ型がレプリケーションによってサポートされていない場合は、レプリケーションによってソース テーブル内の列がパブリッシュされることはありません。By default, replication does not publish any columns in the source table when the column data type is not supported by replication. このような列をパブリッシュする必要がある場合は、 sp_articlecolumnを実行して列を追加する必要があります。If you need to publish such a column, you must execute sp_articlecolumn to add the column.

ピアツーピアトランザクションレプリケーションをサポートするパブリケーションにアーティクルを追加する場合は、次の制限が適用されます。When adding an article to a publication that supports peer-to-peer transactional replication, the following restrictions apply:

  • パラメーター化されたステートメントは、すべての logbased アーティクルに対して指定する必要があります。Parameterized statements must be specified for all logbased articles. Status値には16を含める必要があります。You must include 16 in the status value.

  • コピー先のテーブルの名前と所有者は、ソーステーブルと一致している必要があります。Name and owner of the destination table must match the source table.

  • アーティクルは、行方向または列方向にフィルター選択することはできません。The article cannot be filtered horizontally or vertically.

  • 自動 ID 範囲管理はサポートされていません。Automatic identity range management is not supported. Identityrangemanagementoptionの値に manual を指定する必要があります。You must specify a value of manual for identityrangemanagementoption.

  • Timestamp列がテーブル内に存在する場合は、列をtimestampとしてレプリケートするために、 schema_optionに0x08 を含める必要があります。If a timestamp column exists in the table, you must include 0x08 in schema_option to replicate the column as timestamp.

  • Ins_cmdupd_cmd、およびdel_cmdには、 SQLの値を指定できません。A value of SQL cannot be specified for ins_cmd, upd_cmd, and del_cmd.

詳細については、「 Peer-to-Peer Transactional Replication」を参照してください。For more information, see Peer-to-Peer Transactional 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.

Vertical_partitiontrueに設定されている場合、 sp_addarticleは、(最後のsp_articlecolumnが追加された後に) sp_articleviewが呼び出されるまで、ビューの作成を延期します。If vertical_partition is set to true, sp_addarticle defers the creation of the view until sp_articleview is called (after the last sp_articlecolumn is added).

パブリケーションで更新サブスクリプションが許可されていて、パブリッシュされたテーブルにuniqueidentifier列がない場合、 sp_addarticleは自動的にuniqueidentifier列をテーブルに追加します。If the publication allows updating subscriptions and the published table does not have a uniqueidentifier column, sp_addarticle adds a uniqueidentifier column to the table automatically.

SQL ServerSQL Serverインスタンスではないサブスクライバー (異種レプリケーション) にレプリケートする場合、 INSERTTransact-SQLTransact-SQL UPDATE、およびDELETEの各コマンドに対してステートメントのみがサポートされます。When replicating to a subscriber that is not an instance of SQL ServerSQL Server (heterogeneous replication), only Transact-SQLTransact-SQL statements are supported for INSERT, UPDATE, and DELETE commands.

ログリーダーエージェントが実行されている場合、ピアツーピアパブリケーションにアーティクルを追加すると、ログリーダーエージェントとアーティクルを追加するプロセスの間でデッドロックが発生する可能性があります。When the log reader agent is running, adding an article to a peer-to-peer publication can cause a deadlock between the log reader agent and the process that adds the article. この問題を回避するには、アーティクルをピアツーピアパブリケーションに追加する前に、レプリケーションモニターを使用して、アーティクルを追加するノード上のログリーダーエージェントを停止します。To avoid this issue, before adding an article to a peer-to-peer publication use the Replication Monitor to stop the log reader agent on the node where you are adding the article. アーティクルを追加した後、ログリーダーエージェントを再起動します。Restart the log reader agent after adding the article.

または@del_cmd = 'NONE' @ins_cmd = 'NONE'を設定するときに、制限された更新が行われたときにコマンドを送信しないことによって、更新コマンドの反映が影響を受ける可能性があります。When setting @del_cmd = 'NONE' or @ins_cmd = 'NONE', the propagation of UPDATE commands might also be affected by not sending those commands when a bounded update occurs. (制限付き更新とは、サブスクライバーで DELETE/INSERT ペアとしてレプリケートされる、パブリッシャーからの UPDATE ステートメントの種類です)。(A bounded update is type of UPDATE statement from the publisher that replicates as a DELETE/INSERT pair on the subscriber.)

既定のスキーマ オプションDefault Schema Options

次の表では、 schema_optionsがユーザーによって指定されていない場合に、レプリケーションによって設定される既定値について説明します。この値は、レプリケーションの種類 (上部に表示) とアーティクルの種類 (最初の列に表示されます) によって異なります。This table describes the default value set by replication if schema_options is not specified by the user, where this value depends on the replication type (shown across the top) and the article type (shown down the first column).

アーティクルの種類Article type レプリケーションの種類Replication type
トランザクションTransactional スナップショットSnapshot
集計スキーマのみaggregate schema only 0x010x01 0x010x01
func スキーマのみfunc schema only 0x010x01 0x010x01
インデックス付きビュースキーマのみindexed view schema only 0x010x01 0x010x01
インデックス付きビュー logbasedindexed view logbased 0x30F30x30F3 0x30710x3071
インデックス付きビュー底 manualbothindexed view logbase manualboth 0x30F30x30F3 0x30710x3071
インデックス付きビュー logbased manualfilterindexed view logbased manualfilter 0x30F30x30F3 0x30710x3071
インデックス付きビュー logbased manualviewindexed view logbased manualview 0x30F30x30F3 0x30710x3071
logbasedlogbased 0x30F30x30F3 0x30710x3071
logbased manualfilterlogbased manualfilter 0x30F30x30F3 0x30710x3071
logbased manualviewlogbased manualview 0x30F30x30F3 0x30710x3071
proc execproc exec 0x010x01 0x010x01
proc スキーマのみproc schema only 0x010x01 0x010x01
serializable proc execserializable proc exec 0x010x01 0x010x01
スキーマのみを表示view schema only 0x010x01 0x010x01

注意

パブリケーションでキュー更新が有効になっている場合は、テーブルに表示される既定値にschema_option0x80が追加されます。If a publication is enabled for queued updating, a schema_option value of 0x80 is added to the default value shown in the table. 以外SQL ServerSQL Serverのパブリケーションの既定のschema_option0x050d3です。The default schema_option for a non- SQL ServerSQL Server publication is 0x050D3.

有効なスキーマ オプションValid Schema Options

次の表では、レプリケーションの種類 (上部に表示) とアーティクルの種類 (最初の列) に基づいて、使用可能なschema_optionの値を示します。This table describes the allowable values of schema_option based upon the replication type (shown across the top) and the article type (shown down the first column).

アーティクルの種類Article type レプリケーションの種類Replication type
トランザクションTransactional スナップショットSnapshot
logbasedlogbased すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
logbased manualfilterlogbased manualfilter すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
logbased manualviewlogbased manualview すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
インデックス付きビュー logbasedindexed view logbased すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
インデックス付きビュー logbased manualfilterindexed view logbased manualfilter すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
インデックス付きビュー logbased manualviewindexed view logbased manualview すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
インデックス付きビュー底 manualbothindexed view logbase manualboth すべてのオプションAll options すべてのオプション ( 0x02 )All options but 0x02
proc execproc exec 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000
serializable proc execserializable proc exec 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000
proc スキーマのみproc schema only 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000
スキーマのみを表示view schema only 0x010x0100x0200x0100x01000x20000x400000x1000000x2000000x4000000x8000000x2000000x8000000x400000000x800000000x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 0x010x0100x0200x0100x01000x20000x400000x1000000x2000000x4000000x8000000x2000000x8000000x400000000x800000000x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000
func スキーマのみfunc schema only 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000 0x010x200x20000x4000000x8000000x20000000x8000000x100000000x200000000x40000000、および0x800000000x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000
インデックス付きビュースキーマのみindexed view schema only 0x010x0100x0200x0100x01000x20000x400000x1000000x2000000x4000000x8000000x2000000x8000000x400000000x800000000x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 0x010x0100x0200x0100x01000x20000x400000x1000000x2000000x4000000x8000000x2000000x8000000x400000000x800000000x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000

注意

キュー更新パブリケーションの場合、 schema_optionの値0x80000x80を有効にする必要があります。For queued updating publications, the schema_option values of 0x8000 and 0x80 must be enabled. 以外SQL ServerSQL Serverのパブリケーションでは、次のようなschema_option値がサポートされます。0x010x020x100x400x800x10000x40000x8000The supported schema_option values for non- SQL ServerSQL Server publications are: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000, 0x4000 and 0X8000.

Example

DECLARE @publication    AS sysname;
DECLARE @table AS sysname;
DECLARE @filterclause AS nvarchar(500);
DECLARE @filtername AS nvarchar(386);
DECLARE @schemaowner AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @table = N'Product';
SET @filterclause = N'[DiscontinuedDate] IS NULL'; 
SET @filtername = N'filter_out_discontinued';
SET @schemaowner = N'Production';

-- Add a horizontally and vertically filtered article for the Product table.
-- Manually set @schema_option to ensure that the Production schema 
-- is generated at the Subscriber (0x8000000).
EXEC sp_addarticle 
    @publication = @publication, 
    @article = @table, 
    @source_object = @table,
    @source_owner = @schemaowner, 
    @schema_option = 0x80030F3,
    @vertical_partition = N'true', 
    @type = N'logbased',
    @filter_clause = @filterclause;

-- (Optional) Manually call the stored procedure to create the 
-- horizontal filtering stored procedure. Since the type is 
-- 'logbased', this stored procedures is executed automatically.
EXEC sp_articlefilter 
    @publication = @publication, 
    @article = @table, 
    @filter_clause = @filterclause, 
    @filter_name = @filtername;

-- Add all columns to the article.
EXEC sp_articlecolumn 
    @publication = @publication, 
    @article = @table;

-- Remove the DaysToManufacture column from the article
EXEC sp_articlecolumn 
    @publication = @publication, 
    @article = @table, 
    @column = N'DaysToManufacture', 
    @operation = N'drop';

-- (Optional) Manually call the stored procedure to create the 
-- vertical filtering view. Since the type is 'logbased', 
-- this stored procedures is executed automatically.
EXEC sp_articleview 
    @publication = @publication, 
    @article = @table,
    @filter_clause = @filterclause;
GO

アクセス許可Permissions

Sp_addarticleを実行できるのは、固定サーバーロールsysadminまたは固定データベースロールdb_ownerのメンバーだけです。Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addarticle.

参照See Also

Define an Article Define an Article
sp_articlecolumn (Transact-SQL) sp_articlecolumn (Transact-SQL)
sp_articlefilter (Transact-SQL) sp_articlefilter (Transact-SQL)
sp_articleview (transact-sql) sp_articleview (Transact-SQL)
sp_changearticle (Transact-SQL) sp_changearticle (Transact-SQL)
sp_droparticle (Transact-SQL) sp_droparticle (Transact-SQL)
sp_helparticle (Transact-SQL) sp_helparticle (Transact-SQL)
sp_helparticlecolumns (transact-sql) sp_helparticlecolumns (Transact-SQL)
レプリケーション ストアド プロシージャ (Transact-SQL) Replication Stored Procedures (Transact-SQL)
データとデータベース オブジェクトのパブリッシュPublish Data and Database Objects