Share via


アーティクルの種類の指定 (レプリケーション Transact-SQL プログラミング)

適用対象:SQL Server

レプリケーションにおける既定の種類のアーティクルはテーブル アーティクルですが、ビュー、ストアド プロシージャ、ユーザー定義関数、ストアド プロシージャ実行など、他のデータベース オブジェクトもパブリッシュできます。 レプリケーション ストアド プロシージャを使用することで、アーティクルの定義時にプログラムでアーティクルの種類を指定できます。 使用するストアド プロシージャは、レプリケーションの種類とアーティクルの種類に応じて異なります。

Note

テーブル、ビュー、ストアド プロシージャのアーティクルを定義する際にスキーマのみを指定すると、そのオブジェクトの定義のみをレプリケートするように指定されます。

トランザクション パブリケーションまたはスナップショット パブリケーションでテーブル アーティクルをパブリッシュするには

  1. パブリッシャー側のパブリケーション データベースに対して、 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」を参照してください。

    これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。

  2. logbased manualboth および logbased manualfilter アーティクルの場合、sp_articlefilter を実行して、行方向にフィルター選択されるアーティクル用のフィルター選択ストアド プロシージャを生成します。 詳しくは、「 Define and Modify a Static Row Filter」をご覧ください。

  3. logbased manualbothlogbased manualviewlogbased manualfilter アーティクルの場合、sp_articleview を実行して、列方向にフィルター選択されるアーティクルを定義するビューを生成します。 詳しくは、「 Define and Modify a Column Filter」をご覧ください。

トランザクション パブリケーションまたはスナップショット パブリケーションでビュー アーティクルまたはインデックス付きビュー アーティクルをパブリッシュするには

  1. パブリッシャー側のパブリケーション データベースに対して、 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」を参照してください。

    これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。

  2. logbased manualboth および logbased manualfilter のアーティクルの場合、 sp_articlefilter を実行して、行方向にフィルター選択されるアーティクル用のフィルター選択ストアド プロシージャを生成します。 詳しくは、「 Define and Modify a Static Row Filter」をご覧ください。

  3. logbased manualbothlogbased manualview、および logbased manualfilter のアーティクルの場合、 sp_articleview を実行して、列方向にフィルター選択されるアーティクルを定義するビューを生成します。 詳しくは、「 Define and Modify a Column Filter」をご覧ください。

トランザクション パブリケーションまたはスナップショット パブリケーションでストアド プロシージャ、ストアド プロシージャ実行、またはユーザー定義関数のアーティクルをパブリッシュするには

  1. パブリッシャー側のパブリケーション データベースに対して、 sp_addarticleを実行します。 @type に次のいずれかの値を指定して、アーティクルの種類を定義します。

    これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。

マージ パブリケーションでテーブル アーティクルまたはビュー アーティクルをパブリッシュするには

  1. パブリッシャー側のパブリケーション データベースに対して、 sp_addmergearticleを実行します。 @type に次のいずれかの値を指定して、アーティクルの種類を定義します。

    • table - テーブル アーティクル。

    • indexed view schema only - スキーマのみのインデックス付きビュー アーティクル。

    • view schema only - スキーマのみのビュー アーティクル。

    これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。

マージ パブリケーションにストアド プロシージャまたはユーザー定義関数のアーティクルをパブリッシュするには

  1. パブリッシャー側のパブリケーション データベースに対して、 sp_addmergearticleを実行します。 @type に次のいずれかの値を指定して、アーティクルの種類を定義します。

    • func schema only - スキーマのみのユーザー定義関数アーティクル。

    • proc schema only - スキーマのみのストアド プロシージャ アーティクル。

    これにより、パブリケーションに新しいアーティクルが定義されます。 詳しくは、「 アーティクルを定義」をご覧ください。

参照

Replication System Stored Procedures Concepts
データとデータベース オブジェクトのパブリッシュ