データとデータベース オブジェクトのパブリッシュPublish Data and Database Objects

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance

パブリケーションの作成時には、パブリッシュするテーブルやその他のデータベース オブジェクトを選択します。When creating a publication, you choose the tables and other database objects that you want to publish. レプリケーションを使用すると、以下のデータベース オブジェクトをパブリッシュできます。You can publish the following database objects using replication.

データベース オブジェクトDatabase object スナップショット レプリケーションおよびトランザクション レプリケーションSnapshot replication and transactional replication マージ レプリケーションMerge replication
テーブルTables XX XX
パーティション テーブルPartitioned Tables XX XX
ストアド プロシージャ - 定義 (Transact-SQLTransact-SQL および CLR)Stored Procedures – Definition (Transact-SQLTransact-SQL and CLR) XX XX
ストアド プロシージャ - 実行 (Transact-SQLTransact-SQL および CLR)Stored Procedures – Execution (Transact-SQLTransact-SQL and CLR) XX nono
ビューViews XX XX
インデックス付きビューIndexed Views XX XX
テーブルとしてのインデックス付きビューIndexed Views as Tables XX nono
ユーザー定義型 (CLR)User-Defined Types (CLR) XX XX
ユーザー定義関数 (Transact-SQLTransact-SQL および CLR)User-Defined Functions (Transact-SQLTransact-SQL and CLR) XX XX
別名データ型Alias Data Types XX XX
フルテキスト インデックスFull text indexes XX XX
スキーマ オブジェクト (制約、インデックス、ユーザー DML トリガー、拡張プロパティ、および照合順序)Schema Objects (constraints, indexes, user DML triggers, extended properties, and collation) XX XX

パブリケーションの作成Creating Publications

パブリケーションを作成するには、次の情報を指定します。To create a publication, you supply the following information:

  • ディストリビューター。The Distributor.
  • スナップショット ファイルの場所。The location of the snapshot files.
  • パブリケーション データベース。The publication database.
  • 作成するパブリケーションの種類 (スナップショット、トランザクション、更新可能なサブスクリプションを含むトランザクション、またはマージ)。The type of publication to create (snapshot, transactional, transactional with updatable subscriptions, or merge).
  • パブリケーションに含めるデータとデータベース オブジェクト (アーティクル)。The data and database objects (articles) to include in the publication.
  • すべての種類のパブリケーションの静的行フィルターと列フィルター、およびマージ パブリケーションのパラメーター化された行フィルターと結合フィルター。Static row filters and column filters for all types of publications, and parameterized row filters and join filters for merge publications.
  • スナップショット エージェントのスケジュール。The Snapshot Agent schedule.
  • エージェントの実行に使用するアカウント。対象となるエージェントは、スナップショット エージェント (すべてのパブリケーション用)、ログ リーダー エージェント (すべてのトランザクション パブリケーション用)、およびキュー リーダー エージェント (サブスクリプションの更新が許可されているトランザクション パブリケーション用) です。Accounts under which the following agents will run: the Snapshot Agent for all publications; the Log Reader Agent for all transactional publications; the Queue Reader Agent for transactional publications that allow updating subscriptions.
  • パブリケーションの名前と説明。A name and description for the publication.

パブリケーションの操作方法の詳細については、次のトピックを参照してください。For information about how to work with publications, see the following topics:

注意

アーティクルまたはパブリケーションを削除しても、オブジェクトはサブスクライバーから削除されません。Deleting an article or publication does not remove objects from the Subscriber.

テーブルのパブリッシュPublishing Tables

パブリッシュされるオブジェクトで最も一般的なのはテーブルです。The most commonly published object is a table. 以下のリンクは、テーブルのパブリッシュに関連する分野についての情報を提供します。The following links provide additional information about areas related to publishing tables:

レプリケーションでテーブルをパブリッシュする場合、宣言された参照整合性 (主キー制約、参照に関する制約、一意制約)、インデックス、ユーザー DML トリガー (DDL トリガーはレプリケートできません)、拡張プロパティ、照合順序などの、サブスクライバーにコピーするスキーマ オブジェクトを指定できます。When publishing a table for replication, you can specify which schema objects should be copied to the Subscriber, such as declared referential integrity (primary key constraints, reference constraints, unique constraints), indexes, user DML triggers (DDL triggers cannot be replicated), extended properties, and collation. 拡張プロパティは、パブリッシャーとサブスクライバー間で初期同期を実行するときにのみレプリケートされます。Extended properties are replicated only in the initial synchronization between the Publisher and the Subscriber. 初期同期の完了後に拡張プロパティを追加または変更した場合、その変更はレプリケートされません。If you add or modify an extended property after the initial synchronization, the change is not replicated.

スキーマ オプションを指定する場合は、「スキーマ オプションの指定」または「SchemaOption」を参照してください。To specify schema options, see Specify Schema Options or SchemaOption.

パーティション テーブルとパーティション インデックスPartitioned Tables and Indexes

レプリケーションでは、パーティション テーブルとパーティション インデックスのパブリッシュがサポートされます。Replication supports the publishing of partitioned tables and indexes. サポート レベルは、使用するレプリケーションの種類、パブリケーションに指定するオプション、およびパーティション テーブルに関連付けられたアーティクルによって異なります。The level of support depends on the type of replication that is used, and the options that you specify for the publication and the articles associated with partitioned tables. 詳細については、「パーティション テーブルとパーティション インデックスのレプリケート」を参照してください。For more information, see Replicate Partitioned Tables and Indexes.

ストアド プロシージャのパブリッシュPublishing Stored Procedures

すべての種類のレプリケーションで、ストアド プロシージャの定義をレプリケートできます。各サブスクライバーに CREATE PROCEDURE がコピーされます。All types of replication allow you to replicate stored procedure definitions: the CREATE PROCEDURE is copied to each Subscriber. 共通言語ランタイム (CLR) ストアド プロシージャの場合は、関連するアセンブリもコピーされます。In the case of common language runtime (CLR) stored procedures, the associated assembly is also copied. プロシージャの変更はサブスクライバーにレプリケートされますが、関連するアセンブリの変更はレプリケートされません。Changes to procedures are replicated to Subscribers; changes to associated assemblies are not.

トランザクション レプリケーションでは、ストアド プロシージャの定義の他に、ストアド プロシージャの実行もレプリケートできます。In addition to replicating the definition of a stored procedure, transactional replication allows you to replicate the execution of stored procedures. これは、大量のデータに影響を与えるメンテナンス用ストアド プロシージャの結果をレプリケートする場合に便利です。This is useful in replicating the results of maintenance-oriented stored procedures that affect large amounts of data. 詳細については、「トランザクション レプリケーションにおけるパブリッシング ストアド プロシージャの実行」をご覧ください。For more information, see Publishing Stored Procedure Execution in Transactional Replication.

ビューのパブリッシュPublishing Views

すべての種類のレプリケーションで、ビューをレプリケートできます。All types of replication allow you to replicate views. ビュー (インデックス付きビューの場合は付属するインデックスも含む) はサブスクライバーにコピーできますが、ベース テーブルもレプリケートする必要があります。The view (and its accompanying index, if it is an indexed view) can be copied to the Subscriber, but the base table must also be replicated.

トランザクション レプリケーションでは、インデックス付きビューをビューではなくテーブルとしてレプリケートできます。この場合、ベース テーブルをレプリケートする必要はありません。For indexed views, transactional replication also allows you to replicate the indexed view as a table rather than a view, eliminating the need to also replicate the base table. これを行うには、インデックス付きビューをテーブルとしてレプリケートするには、sp_addarticle (Transact-SQL)@type パラメーターに "indexed view logbased" のいずれかのオプションを指定します。To do this, specify one of the "indexed view logbased" options for the @type parameter of sp_addarticle (Transact-SQL). sp_addarticle の使用方法の詳細については、「アーティクルの定義」を参照してください。For more information about using sp_addarticle, see Define an Article.

ユーザー定義関数のパブリッシュPublishing User-Defined Functions

CLR 関数および Transact-SQLTransact-SQL 関数の CREATE FUNCTION ステートメントが各サブスクライバーにコピーされます。The CREATE FUNCTION statements for CLR functions and Transact-SQLTransact-SQL functions are copied to each Subscriber. CLR 関数の場合は、関連するアセンブリもコピーされます。In the case of CLR functions, the associated assembly is also copied. 関数の変更はサブスクライバーにレプリケートされますが、関連するアセンブリの変更はレプリケートされません。Changes to functions are replicated to Subscribers; changes to associated assemblies are not.

ユーザー定義型および別名データ型のパブリッシュPublishing User-Defined Types and Alias Data Types

ユーザー定義型または別名データ型を使用する列は、他の列と同様にサブスクライバーにレプリケートされます。Columns that use user-defined types or alias data types are replicated to Subscribers like other columns. レプリケートされた各データ型の CREATE TYPE ステートメントがテーブルの作成前にサブスクライバーで実行されます。The CREATE TYPEstatement for each replicated type is executed at the Subscriber before the table is created. ユーザー定義型の場合は、関連するアセンブリも各サブスクライバーにコピーされます。In the case of user-defined types, the associated assembly is also copied to each Subscriber. ユーザー定義型および別名データ型の変更はサブスクライバーにレプリケートされません。Changes to user-defined types and alias data types are not replicated to Subscribers.

データベースで型が定義されている場合でも、パブリケーションの作成時に列で参照されていなければ、その型はサブスクライバーにコピーされません。If a type is defined in a database, but it is not referenced in any columns when a publication is created, the type is not copied to Subscribers. この型を使用する列を後でデータベースに作成してレプリケートする場合、最初にこの型 (ユーザー定義型の場合は関連するアセンブリも含む) を手動で各サブスクライバーにコピーする必要があります。If you subsequently create a column of that type in the database and want to replicate it, you must first manually copy the type (and the associated assembly for a user-defined type) to each Subscriber.

フルテキスト インデックスのパブリッシュPublishing Full Text Indexes

CREATE FULLTEXT INDEX ステートメントが各サブスクライバーにコピーされ、フルテキスト インデックスがサブスクライバーに作成されます。The CREATE FULLTEXT INDEX statement is copied to each Subscriber, and the full text index is created at the Subscriber. ALTER FULLTEXT INDEX を使用して行われたフルテキスト インデックスの変更はレプリケートされません。Changes made to full text indexes using ALTER FULLTEXT INDEX are not replicated.

パブリッシュされたオブジェクトに対するスキーマの変更Making Schema Changes to Published Objects

レプリケーションは、パブリッシュされたオブジェクトに対するさまざまなスキーマ変更をサポートしています。Replication supports a wide range of schema changes to published objects. パブリッシュされた適切なオブジェクトに対して、以下に示すスキーマ変更を SQL ServerSQL Server パブリッシャーで実行した場合、既定ではすべての SQL ServerSQL Server サブスクライバーにその変更が反映されます。When you make any of the following schema changes on the appropriate published object at a SQL ServerSQL Server Publisher, that change is propagated by default to all SQL ServerSQL Server Subscribers:

  • ALTER TABLEALTER TABLE

  • ALTER VIEWALTER VIEW

  • ALTER PROCEDUREALTER PROCEDURE

  • ALTER FUNCTIONALTER FUNCTION

  • ALTER TRIGGERALTER TRIGGER

詳細については、「パブリケーション データベースでのスキーマの変更」を参照してください。For more information, see Make Schema Changes on Publication Databases.

パブリッシングに関する注意点Considerations for Publishing

データベース オブジェクトをパブリッシュするときは、以下の点に注意してください。Keep the following issues in mind when publishing database objects:

  • パブリケーションおよび初期スナップショットの作成中でもユーザーはデータベースにアクセスできますが、パブリッシャーの利用状況が低い時間帯にパブリケーションを作成することをお勧めします。The database is accessible to users during the creation of the publication and the initial snapshot, but it is advisable to create publications during times of lower activity on the Publisher.

  • データベースにパブリケーションを作成した後で、そのデータベースの名前を変更することはできません。A database cannot be renamed after a publication is created in it. データベース名を変更するには、まずデータベースからレプリケーションを削除する必要があります。To rename it, you must first remove replication from the database.

  • 1 つまたは複数の他のデータベース オブジェクトに依存するデータベース オブジェクトをパブリッシュする場合、参照されているオブジェクトをすべてパブリッシュする必要があります。If you are publishing a database object that depends on one or more other database 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.

    注意

    マージ パブリケーションにアーティクルを追加する際に、その新しいアーティクルに既存のアーティクルが依存している場合は、sp_addmergearticle および sp_changemergearticle@processing_order パラメーターを使用して、両方のアーティクルの処理順序を指定する必要があります。If you add an article to a merge publication and an existing article depends on the new article, you must specify a processing order for both articles using the @processing_order parameter of sp_addmergearticle and sp_changemergearticle. たとえば、テーブルをパブリッシュし、テーブルが参照している関数はパブリッシュしない場合を考えます。Consider the following scenario: you publish a table but you do not publish a function that the table references. この関数をパブリッシュしないと、サブスクライバー側でテーブルを作成できないとします。If you do not publish the function, the table cannot be created at the Subscriber. この場合は、この関数をパブリケーションに追加するときに、sp_addmergearticle@processing_order パラメーターに値 1 を指定し、sp_changemergearticle@processing_order パラメーターに値 2 を指定します。パラメーター @article にはテーブル名を指定します。When you add the function to the publication: specify a value of 1 for the @processing_order parameter of sp_addmergearticle; and specify a value of 2 for the @processing_order parameter of sp_changemergearticle, specifying the table name for the parameter @article. この処理順序により、サブスクライバー側で関数に依存するテーブルを作成する前に、関数の作成が求められるようになります。This processing order ensures that you create the function at the Subscriber before the table that depends on it. 各アーティクルに使用する値は、関数の値がテーブルの値より小さければ、別の値でもかまいません。You can use different numbers for each article as long as the number for the function is lower than the number for the table.

  • パブリケーション名には、% * [ ] | : " ? を使用できません。Publication names cannot include the following characters: % * [ ] | : " ? \ / < >.\ / < >.

オブジェクトのパブリッシュに関する制限事項Limitations on Publishing Objects

  • パブリッシュできるアーティクルおよび列の最大数は、パブリケーションの種類によって異なります。The maximum number of articles and columns that can be published differs by publication type. 詳細については、「SQL Server の最大容量仕様」の「レプリケーション オブジェクト」のセクションを参照してください。For more information, see the "Replication Objects" section of Maximum Capacity Specifications for SQL Server.

  • WITH ENCRYPTION として定義されているストアド プロシージャ、ビュー、トリガー、およびユーザー定義関数は、 SQL ServerSQL Server レプリケーションの一部としてパブリッシュすることはできません。Stored procedures, views, triggers, and user-defined functions that are defined as WITH ENCRYPTION cannot be published as part of SQL ServerSQL Server replication.

  • XML スキーマ コレクションはレプリケートできますが、初期スナップショットの後で変更をレプリケートすることはできません。XML schema collections can be replicated but changes are not replicated after the initial snapshot.

  • トランザクション レプリケーションでは、パブリッシュされたテーブルは主キーを持たなければなりません。Tables published for transactional replication must have a primary key. テーブルがトランザクション レプリケーション パブリケーション内にある場合、主キー列に関連付けられているインデックスを無効にすることはできません。If a table is in a transactional replication publication, you cannot disable any indexes that are associated with primary key columns. これらのインデックスはレプリケーションで必要です。These indexes are required by replication. インデックスを無効にするには、まずパブリケーションからテーブルを削除する必要があります。To disable an index, you must first drop the table from the publication.

  • sp_bindefault (Transact-SQL) で作成されたバインドされたデフォルトはレプリケートできません (バインドされたデフォルトは非推奨のため、ALTER TABLE または CREATE TABLE の DEFAULT オプションで作成されたデフォルトを使用してください)。Bound defaults created with sp_bindefault (Transact-SQL) are not replicated (bound defaults are deprecated in favor of defaults created with the DEFAULT keyword of ALTER TABLE or CREATE TABLE).

  • ディストリビューション エージェントが配信を行う順序が原因で、インデックス付きビューに NOEXPAND ヒントを含む関数を、参照テーブルやインデックス付きビューと同じパブリケーション内でパブリッシュすることはできません。Functions containing the NOEXPAND hint on indexed views cannot be published in the same publication as the referenced tables and indexed views, due to the order in which the distribution agent delivers them. この問題を回避するために、最初のパブリケーション内にテーブルとインデックス付きビューを配置し、インデックス付きビューに NOEXPAND ヒントを含む関数を、最初のパブリケーションが完了した後にパブリッシュする 2 番目のパブリケーションに追加します。To work around this problem, place the table and indexed view creation in a first publication, and add functions containing the NOEXPAND hint on the indexed views to a second publication which you publish after the first publication completes. または、それらの関数に対応するスクリプトを作成し、sp_addpublication@post_snapshot_script パラメーターを使用してそれらのスクリプトを配信します。Or, create scripts for these functions and deliver the script by using the @post_snapshot_script parameter of sp_addpublication.

スキーマおよびオブジェクトの所有権Schemas and Object Ownership

既定では、パブリケーションの新規作成ウィザードは、スキーマとオブジェクトの所有権に関して、以下のように動作します。Replication has the following default behavior in the New Publication Wizard with respect to schemas and object ownership:

  • 互換性レベル 90 以上のマージ パブリケーションと、スナップショット パブリケーション、およびトランザクション パブリケーションのアーティクルの場合、既定では、サブスクライバーでのオブジェクト所有者は、パブリッシャーでの対応するオブジェクトの所有者と同じになります。For articles in merge publications with a compatibility level of 90 or higher, snapshot publications, and transactional publications: by default, the object owner at the Subscriber is the same as the owner of the corresponding object at the Publisher. オブジェクトを所有するスキーマがサブスクライバーに存在しない場合は、スキーマが自動的に作成されます。If the schemas that own objects do not exist at the Subscriber, they are created automatically.

  • 互換性レベルが 90 未満のマージ パブリケーションのアーティクルの場合。既定では、所有者名は空白のままなり、サブスクライバーにオブジェクトを作成する際に dbo と指定されます。For articles in merge publications with a compatibility level lower than 90: by default, the owner is left blank and is specified as dbo during the creation of the object on the Subscriber.

  • Oracle パブリケーションのアーティクルの場合。既定では、所有者名が dboと指定されます。For articles in Oracle publications: by default, the owner is specified as dbo.

  • キャラクター モードのスナップショット (SQL ServerSQL Server 以外のバージョンのサブスクライバーや SQL Server CompactSQL Server Compact サブスクライバーで使用されます) を使用するパブリケーションのアーティクルの場合。既定では、所有者は空白のままになります。For articles in publications that use character mode snapshots (which are used for non-SQL ServerSQL Server Subscribers and SQL Server CompactSQL Server Compact Subscribers): by default, the owner is left blank. 既定の所有者は、サブスクライバーに接続しているディストリビューション エージェントまたはマージ エージェントで使用されるアカウントに関連付けられている所有者になります。The owner defaults to the owner associated with the account used by the Distribution Agent or Merge Agent to connect to the Subscriber.

オブジェクトの所有者は、 [アーティクルのプロパティ - <Article>] ダイアログ ボックスと、ストアド プロシージャ sp_addarticlesp_addmergearticlesp_changearticlesp_changemergearticle で変更できます。The object owner can be changed through the Article Properties - <Article> dialog box and through the following stored procedures: sp_addarticle, sp_addmergearticle, sp_changearticle, and sp_changemergearticle. 詳細については、「View and Modify Publication Properties」 (パブリケーション プロパティの表示および変更)、「Define an Article」 (アーティクルの定義)、および「View and Modify Article Properties」 (アーティクルのプロパティの表示および変更) を参照してください。For more information, see View and Modify Publication Properties, Define an Article, and View and Modify Article Properties.

以前のバージョンの SQL Server を実行するサブスクライバーへのデータのパブリッシュPublishing Data to Subscribers Running Previous Versions of SQL Server

  • 以前のバージョンの SQL ServerSQL Serverを実行するサブスクライバーにパブリッシュする場合、レプリケーション固有の機能および製品の全般的な機能は共に、該当するバージョンの機能に制限されます。If you are publishing to a Subscriber running a previous version of SQL ServerSQL Server, you are limited to the functionality of that version, both in terms of replication-specific functionality and the functionality of the product as a whole.

  • マージ パブリケーションでは互換性レベルが利用されます。この互換性レベルによってパブリケーションで使用する機能が決定され、また以前のバージョンの SQL ServerSQL Serverを実行するサブスクライバーをサポートできるようになります。Merge publications use a compatibility level, which determines what features can be used in a publication and allows you to support Subscribers running previous versions of SQL ServerSQL Server.

複数のパブリケーションでのテーブルのパブリッシュPublishing Tables in More Than One Publication

レプリケーションでは、以下に示す制限付きで、アーティクルを複数のパブリケーションでパブリッシュできます (データの再パブリッシュを含む)。Replication supports publishing articles in multiple publications (including republishing data) with the following restrictions:

  • トランザクション パブリケーションおよびマージ パブリケーションでアーティクルをパブリッシュする場合は、マージ アーティクルの @published_in_tran_pub プロパティを TRUE に設定します。If an article is published in a transactional publication and a merge publication, ensure that the @published_in_tran_pub property is set to TRUE for the merge article. プロパティの設定の詳細については、「View and Modify Publication Properties」 (パブリケーション プロパティの表示および変更)、「View and Modify Article Properties」 (アーティクルのプロパティの表示および変更) を参照してください。For more information about setting properties, see View and Modify Publication Properties and View and Modify Article Properties.

    アーティクルがトランザクション サブスクリプションの一部であり、このアーティクルがマージ パブリケーションに含まれている場合は、 @published_in_tran_pub プロパティも設定する必要があります。You should also set the @published_in_tran_pub property if an article is part of a transactional subscription and is included in a merge publication. これに該当する場合、特に指定がなければ、トランザクション レプリケーションでは、サブスクライバー側のテーブルが読み取り専用として扱われるものと想定しているので、注意が必要です。マージ レプリケーションがトランザクション サブスクリプションに含まれるテーブルに対してデータ変更を行うと、データの非収束が発生する可能性があります。If this is the case, be aware that by default transactional replication expects tables at the Subscriber to be treated as read-only; if merge replication makes data changes to a table in a transactional subscription, non-convergence of data can occur. この可能性を回避するため、マージ パブリケーションではこのようなテーブルをダウンロードのみとして指定することをお勧めします。To avoid this possibility, we recommend that any such table be specified as download-only in the merge publication. これはマージ サブスクライバーがテーブルにデータの変更をアップロードすることを防ぎます。This prevents a merge Subscriber from uploading data changes to the table. 詳細については、「ダウンロード専用アーティクルを使用したマージ レプリケーションのパフォーマンス最適化」を参照してください。For more information, see Optimize Merge Replication Performance with Download-Only Articles.

  • マージ パブリケーションおよびキュー更新サブスクリプションを使用するトランザクション パブリケーションのどちらも、アーティクルをパブリッシュすることはできません。An article cannot be published in both a merge publication and a transactional publication with queued updating subscriptions.

  • 更新サブスクリプションをサポートするトランザクション パブリケーションのアーティクルを再パブリッシュすることはできません。Articles included in transactional publications that support updating subscriptions cannot be republished.

  • キュー更新サブスクリプションをサポートする複数のトランザクション パブリケーションでアーティクルをパブリッシュする場合には、すべてのパブリケーションで、次に示すプロパティの値を同一にする必要があります。If an article is published in more than one transactional publication that supports queued updating subscriptions, the following properties must have the same value for the article across all publications:

    プロパティProperty sp_addarticle のパラメーターParameter in sp_addarticle
    ID 範囲の管理Identity range management @auto_identity_range (非推奨) および @identityrangemangementoption@auto_identity_range (deprecated) and @identityrangemangementoption
    パブリッシャーの ID 範囲Publisher identity range @pub_identity_range@pub_identity_range
    ID 範囲Identity range @identity_range@identity_range
    ID 範囲のしきい値Identity range threshold @threshold@threshold

    これらのパラメーターの詳細については、「sp_addarticle (Transact-SQL)」を参照してください。For more information about these parameters, see sp_addarticle (Transact-SQL).

  • 複数のマージ パブリケーションでアーティクルをパブリッシュする場合には、すべてのパブリケーションにわたって、以下に示すプロパティの値を同一にする必要があります。If an article is published in more than one merge publication, the following properties must have the same value for the article across all publications:

    プロパティProperty sp_addmergearticle のパラメーターParameter in sp_addmergearticle
    列追跡Column tracking @column_tracking@column_tracking
    スキーマ オプションSchema options @schema_option@schema_option
    列のフィルター選択Column filtering @vertical_partition@vertical_partition
    サブスクライバーのアップロード オプションSubscriber upload options @subscriber_upload_options@subscriber_upload_options
    条件付き削除の追跡Conditional delete tracking @delete_tracking@delete_tracking
    エラー補正Error compensation @compensate_for_errors@compensate_for_errors
    ID 範囲の管理Identity range management @auto_identity_range (非推奨) および @identityrangemangementoption@auto_identity_range (deprecated) and @identityrangemangementoption
    パブリッシャーの ID 範囲Publisher identity range @pub_identity_range@pub_identity_range
    ID 範囲Identity range @identity_range@identity_range
    ID 範囲のしきい値Identity range threshold @threshold@threshold
    パーティション オプションPartition options @partition_options@partition_options
    BLOB 列のストリーミングBlob column streaming @stream_blob_columns@stream_blob_columns
    フィルターの種類Filter type @filter_type (sp_addmergefilter のパラメーター)@filter_type (parameter in sp_addmergefilter)

    これらのパラメーターの詳細については、「sp_addmergearticle (Transact-SQL)」と「sp_addmergefilter (Transact-SQL)」を参照してください。For more information about these parameters, see sp_addmergearticle (Transact-SQL) and sp_addmergefilter (Transact-SQL).

  • トランザクション レプリケーションおよびフィルター選択されていないマージ レプリケーションでは、複数のパブリケーションでのテーブルのパブリッシュを行ってから、サブスクリプション データベースの単一テーブル内でサブスクライブすることがサポートされています (一般にロール アップ シナリオと呼ばれています)。Transactional replication and unfiltered merge replication support publishing a table in multiple publications and then subscribing within a single table in the subscription database (commonly referred to as a roll up scenario). ロール アップは、複数の場所からのデータを中央のサブスクライバーの単一テーブルに集計することを目的として使用されるのが一般的です。Roll up is often used for aggregating subsets of data from multiple locations in one table at a central Subscriber. フィルター選択されたマージ パブリケーションでは、中央のサブスクライバーを使用するシナリオはサポートされません。Filtered merge publications do not support the central Subscriber scenario. マージ レプリケーションでは通常、パラメーター化された行フィルターを使用した単一のパブリケーションを介してロール アップが実装されます。For merge replication, roll up is typically implemented through a single publication with parameterized row filters. 詳しくは、「 Parameterized Row Filters」をご覧ください。For more information, see Parameterized Row Filters.

参照See Also

既存のパブリケーションでのアーティクルの追加と削除 Add Articles to and Drop Articles from Existing Publications
[ディストリビューションの構成] Configure Distribution
サブスクリプションの初期化 Initialize a Subscription
レプリケーションのスクリプト作成 Scripting Replication
パブリッシャーのセキュリティ保護 Secure the Publisher
パブリケーションのサブスクライブSubscribe to Publications