アーティクルの種類の指定 (レプリケーション Transact-SQL プログラミング)
適用対象: SQL Server
レプリケーションにおける既定の種類のアーティクルはテーブル アーティクルですが、ビュー、ストアド プロシージャ、ユーザー定義関数、ストアド プロシージャ実行など、他のデータベース オブジェクトもパブリッシュできます。 レプリケーション ストアド プロシージャを使用することで、アーティクルの定義時にプログラムでアーティクルの種類を指定できます。 使用するストアド プロシージャは、レプリケーションの種類とアーティクルの種類に応じて異なります。
Note
テーブル、ビュー、ストアド プロシージャのアーティクルを定義する際にスキーマのみを指定すると、そのオブジェクトの定義のみをレプリケートするように指定されます。
トランザクション パブリケーションまたはスナップショット パブリケーションでテーブル アーティクルをパブリッシュするには
パブリッシャー側のパブリケーション データベースに対して、 sp_addarticleを実行します。
@type
に次のいずれかの値を指定して、アーティクルの種類を定義します。logbased
- ログベース テーブル アーティクル。トランザクション レプリケーションとスナップショット レプリケーションの既定の設定です。 レプリケーションでは、行方向のフィルター選択に使用されるストアド プロシージャと、列方向にフィルター選択されるアーティクルを定義するビューが自動的に生成されます。logbased manualfilter
- ログベースの、行方向にフィルター選択されるアーティクル。行方向のフィルター選択に使用されるストアド プロシージャは、ユーザーが手動で作成して定義し、@filter
に指定されます。 詳しくは、「 Define and Modify a Static Row Filter」をご覧ください。logbased manualview
- ログベースの、列方向にフィルター選択されるアーティクル。列方向にフィルター選択されるアーティクルを定義するビューは、ユーザーが作成して定義し、@sync_object
に指定されます。 詳細については、「 Define and Modify a Static Row Filter 」および「 Define and Modify a Column Filter」を参照してください。logbased manualboth
- ログベースの、行方向と列方向にフィルター選択されるアーティクル。行方向のフィルター選択に使用されるストアド プロシージャと、列方向にフィルター選択されるアーティクルを定義するビューは、どちらもユーザーが作成して定義し、それぞれ@filter
および@sync_object
に指定されます。 詳細については、「 Define and Modify a Static Row Filter 」および「 Define and Modify a Column Filter」を参照してください。
これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。
logbased manualboth
およびlogbased manualfilter
アーティクルの場合、sp_articlefilter を実行して、行方向にフィルター選択されるアーティクル用のフィルター選択ストアド プロシージャを生成します。 詳しくは、「 Define and Modify a Static Row Filter」をご覧ください。logbased manualboth
、logbased manualview
、logbased manualfilter
アーティクルの場合、sp_articleview を実行して、列方向にフィルター選択されるアーティクルを定義するビューを生成します。 詳しくは、「 Define and Modify a Column Filter」をご覧ください。
トランザクション パブリケーションまたはスナップショット パブリケーションでビュー アーティクルまたはインデックス付きビュー アーティクルをパブリッシュするには
パブリッシャー側のパブリケーション データベースに対して、 sp_addarticleを実行します。
@type
に次のいずれかの値を指定して、アーティクルの種類を定義します。indexed view logbased - ログベースのインデックス付きビュー アーティクル。 レプリケーションでは、行方向のフィルター選択に使用されるストアド プロシージャと、列方向にフィルター選択されるアーティクルを定義するビューが自動的に生成されます。
view schema only - スキーマのみのビュー アーティクル。 ベース テーブルもレプリケートする必要があります。
indexed view schema only - スキーマのみのインデックス付きビュー アーティクル。 ベース テーブルもレプリケートする必要があります。
indexed view logbased manualfilter - ログベースの、行方向にフィルター選択されるインデックス付きビュー アーティクル。行方向のフィルター選択に使用されるストアド プロシージャは、ユーザーが手動で作成して定義し、
@filter
に指定されます。 詳しくは、「 Define and Modify a Static Row Filter」をご覧ください。indexed view logbased manualview - ログベースのフィルター選択されるインデックス付きビュー アーティクル。列方向にフィルター選択されるアーティクルを定義するビューは、ユーザーが作成して定義し、
@sync_object
に指定されます。 詳細については、「 Define and Modify a Static Row Filter 」および「 Define and Modify a Column Filter」を参照してください。indexed view logbased manualboth - ログベースの、フィルター選択されるインデックス付きビュー アーティクル。行方向のフィルター選択に使用されるストアド プロシージャと、列方向にフィルター選択されるアーティクルを定義するビューは、どちらもユーザーが作成して定義し、それぞれ
@filter
および@sync_object
に指定されます。 詳細については、「 Define and Modify a Static Row Filter 」および「 Define and Modify a Column Filter」を参照してください。
これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。
logbased manualboth および logbased manualfilter のアーティクルの場合、 sp_articlefilter を実行して、行方向にフィルター選択されるアーティクル用のフィルター選択ストアド プロシージャを生成します。 詳しくは、「 Define and Modify a Static Row Filter」をご覧ください。
logbased manualboth、 logbased manualview、および logbased manualfilter のアーティクルの場合、 sp_articleview を実行して、列方向にフィルター選択されるアーティクルを定義するビューを生成します。 詳しくは、「 Define and Modify a Column Filter」をご覧ください。
トランザクション パブリケーションまたはスナップショット パブリケーションでストアド プロシージャ、ストアド プロシージャ実行、またはユーザー定義関数のアーティクルをパブリッシュするには
パブリッシャー側のパブリケーション データベースに対して、 sp_addarticleを実行します。
@type
に次のいずれかの値を指定して、アーティクルの種類を定義します。proc schema only - スキーマのみのストアド プロシージャ アーティクル。
proc exec - アーティクルのすべてのサブスクライバーにストアド プロシージャの実行をレプリケートします。 詳細については、「トランザクション レプリケーションにおけるパブリッシング ストアド プロシージャの実行」をご覧ください。
serializable proc exec - シリアル化可能なトランザクションのコンテキスト内で実行される場合にのみ、ストアド プロシージャの実行をレプリケートします。 詳細については、「トランザクション レプリケーションにおけるパブリッシング ストアド プロシージャの実行」をご覧ください。
func schema only - スキーマのみのユーザー定義関数アーティクル。
これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。
マージ パブリケーションでテーブル アーティクルまたはビュー アーティクルをパブリッシュするには
パブリッシャー側のパブリケーション データベースに対して、 sp_addmergearticleを実行します。
@type
に次のいずれかの値を指定して、アーティクルの種類を定義します。table - テーブル アーティクル。
indexed view schema only - スキーマのみのインデックス付きビュー アーティクル。
view schema only - スキーマのみのビュー アーティクル。
これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。
マージ パブリケーションにストアド プロシージャまたはユーザー定義関数のアーティクルをパブリッシュするには
パブリッシャー側のパブリケーション データベースに対して、 sp_addmergearticleを実行します。
@type
に次のいずれかの値を指定して、アーティクルの種類を定義します。func schema only - スキーマのみのユーザー定義関数アーティクル。
proc schema only - スキーマのみのストアド プロシージャ アーティクル。
これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。
参照
Replication System Stored Procedures Concepts
データとデータベース オブジェクトのパブリッシュ