sp_helpmergepublication (Transact-SQL)

適用対象:SQL Server

マージ パブリケーションに関する情報を返します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。

Transact-SQL 構文表記規則

構文

sp_helpmergepublication
    [ [ @publication = ] N'publication' ]
    [ , [ @found = ] found OUTPUT ]
    [ , [ @publication_id = ] 'publication_id' OUTPUT ]
    [ , [ @reserved = ] N'reserved' ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
[ ; ]

引数

[ @publication = ] N'publication'

出版物の名前。 @publicationは sysname で、既定値は現在の%データベース内のすべてのマージ パブリケーションに関する情報を返します。

[ @found = ] foundOUTPUT

返される行を示すフラグ。 @foundは int 型の OUTPUT パラメーターです

  • 1 は、パブリケーションが見つかったかどうかを示します。
  • 0 は、パブリケーションが見つからないことを示します。

[ @publication_id = ] 'publication_id' OUTPUT

パブリケーション識別番号です。 @publication_idは uniqueidentifier 型の OUTPUT パラメーターです

[ @reserved = ] N'reserved'

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

[ @publisher = ] N'publisher'

パブリッシャーの名前。 @publisherは sysname で、既定値は NULL.

[ @publisher_db = ] N'publisher_db'

パブリケーション データベースの名前。 @publisher_dbは sysname で、既定値は NULL.

結果セット

列名 データ型 説明
id int 結果セット リスト内のパブリケーションの順番。
name sysname パブリケーションの名前。
description nvarchar (255) パブリケーションの説明。
status tinyint パブリケーション データを使用できるタイミングを示します。
retention int パブリケーション内のアーティクルの変更に関するメタデータを保存する時間。 この期間の単位は、日、週、月、または年にすることができます。 単位の詳細については、retention_period_unit 列を参照してください。
sync_mode tinyint パブリケーションの同期モード。

0 = ネイティブ一括コピー プログラム (bcp ユーティリティ)

1 = 文字の一括コピー
allow_push int 特定のパブリケーションに対してプッシュ サブスクリプションを作成できるかどうかを判断します。 0 は、プッシュ サブスクリプションが許可されていないことを意味します。
allow_pull int 特定のパブリケーションに対してプル サブスクリプションを作成できるかどうかを決定します。 0 は、プル サブスクリプションが許可されていないことを意味します。
allow_anonymous int 特定のパブリケーションに対して匿名サブスクリプションを作成できるかどうかを判断します。 0 は、匿名サブスクリプションが許可されていないことを意味します。
centralized_conflicts int 競合レコードが特定のパブリッシャーに格納されているかどうかを判断します。

0 = 競合レコードは、パブリッシャーと、競合の原因となったサブスクライバーの両方に格納されます。

1 = すべての競合レコードはパブリッシャーに格納されます。
priority float(8) ループバック サブスクリプションの優先度。
snapshot_ready tinyint このパブリケーションのスナップショットが使用できる状態にあるかどうかを示します。

0 = スナップショットを使用する準備ができました。

1 = スナップショットを使用する準備ができていません。
publication_type int パブリケーションの種類:

0 = スナップショット。

1 = トランザクション。

2 = マージ。
pubid uniqueidentifier このパブリケーションの一意識別子。
snapshot_jobid binary(16) スナップショット エージェントのジョブ ID。 sysjobs システム テーブルのスナップショット ジョブのエントリを取得するには、この 16 進値を uniqueidentifier に変換する必要があります。
enabled_for_internet int パブリケーションがインターネットに対して有効になっているかどうかを判断します。 この場合 1、パブリケーションの同期ファイルがディレクトリに C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\Ftp 格納されます。 ユーザーは、ファイル転送プロトコル (FTP) ディレクトリを作成する必要があります。 この場合 0、パブリケーションでインターネット アクセスが有効になっていません。
dynamic_filter int パラメーター化された行フィルターを使用するかどうかを示します。 0 は、パラメーター化された行フィルターが使用されていないことを意味します。
has_subscription bit パブリケーションにサブスクリプションがあるかどうかを示します。 0 は、現在、このパブリケーションのサブスクリプションがないことを意味します。
snapshot_in_default_folder bit スナップショット ファイルを既定のフォルダーに格納するかどうかを指定します。

の場合1、スナップショットファイルは既定のフォルダーにあります。

の場合0、スナップショット ファイルは次で指定した別の場所にalt_snapshot_folder格納されます。 別の場所は、別のサーバー、ネットワーク ドライブ、またはリムーバブル メディア (CD-ROM やリムーバブル ディスクなど) 上に配置できます。 スナップショット ファイルを FTP サイトに保存し、後でサブスクライバーで取得することもできます。

注: このパラメーターは true にすることができ、パラメーター内の場所を alt_snapshot_folder 持つことができます。 この組み合わせにより、スナップショット ファイルが既定の場所と代替の場所の両方に格納されることを指定します。
alt_snapshot_folder nvarchar (255) スナップショットの代替フォルダーの場所を指定します。
pre_snapshot_script nvarchar (255) サブスクライバーでスナップショットを適用するときに、レプリケートされたオブジェクト スクリプトの前にマージ エージェントが実行される .sql ファイルへのポインターを指定します。
post_snapshot_script nvarchar (255) 他のすべてのレプリケートされたオブジェクト スクリプトとデータが初期同期中に適用された後にマージ エージェントが実行される .sql ファイルへのポインターを指定します。
compress_snapshot bit 場所に書alt_snapshot_folderき込まれるスナップショットを Microsoft CAB 形式に圧縮することを指定します。
ftp_address sysname ディストリビューターの FTP サービスのネットワーク アドレス。 マージ エージェントが取得するパブリケーション スナップショット ファイルの場所を指定します。
ftp_port int ディストリビューターの FTP サービスのポート番号。 ftp_port は既定値です 21。 マージ エージェントが検索するパブリケーション スナップショット ファイルの場所を示します。
ftp_subdirectory nvarchar (255) スナップショットが FTP を使用して配信されるときに、マージ エージェントがスナップショット ファイルを取得できる場所を指定します。
ftp_login sysname FTP サービスへの接続に使用するユーザー名。
conflict_retention int 競合が保持される保持期間を日数で指定します。 指定の日数が経過すると、競合テーブルから競合行が削除されます。
keep_partition_changes int このパブリケーションに対して同期の最適化を行うかどうかを指定します。 keep_partition_changes は既定値です 0。 値は 0 、同期が最適化されていないことを意味し、パーティション内のデータが変更されると、すべてのサブスクライバーに送信されるパーティションが検証されます。

1 は、同期が最適化され、変更されたパーティションに行があるサブスクライバーのみが影響を受けます。

注: 既定では、マージ パブリケーションでは事前計算済みパーティションが使用され、このオプションよりも高度な最適化が提供されます。 詳細については、「パラメーター化されたフィルター - パラメーター化された行フィルターとパラメーター化されたフィルター - 事前計算済みパーティションの最適化」を参照してください。
allow_subscription_copy int このパブリケーションをサブスクライブするサブスクリプション データベースをコピーする機能が有効になっているかどうかを指定します。 値の 0 コピーは許可されません。
allow_synctoalternate int 代替同期パートナーがこのパブリッシャーとの同期を許可するかどうかを指定します。 値は 0 、同期パートナーが許可されていないことを意味します。
validate_subscriber_info nvarchar(500) サブスクライバー情報を取得し、サブスクライバーのパラメーター化された行フィルター条件を検証するために使用されている関数を一覧表示します。 情報がマージのたびに一貫してパーティション分割されていることを確認するのに役立ちます。
backward_comp_level int データベース互換性レベル。次のいずれかの値を指定できます。

90 = SQL Server 2005 (9.x)

90 = SQL Server 2005 (9.x) SP1

90 = SQL Server 2005 (9.x) SP2

100 = SQL Server 2008 (10.0.x)
publish_to_activedirectory bit パブリケーション情報を Active Directory に発行するかどうかを指定します。 値は 0 、パブリケーション情報が Active Directory から使用できないことを意味します。

このパラメーターは非推奨であり、スクリプトの下位互換性のためにメイン含まれています。 Active Directory にパブリケーション情報を追加できなくなりました。
max_concurrent_merge int 同時マージ プロセスの数。 の場合 0、任意の時点で実行される同時マージ プロセスの数に制限はありません。
max_concurrent_dynamic_snapshots int マージ パブリケーションに対して実行できる、同時にフィルター処理されたデータスナップショットセッションの最大数。 の場合0、任意の時点でパブリケーションに対して同時に実行できるセッションスナップショット同時にフィルター処理されたデータの最大数に制限はありません。
use_partition_groups int 事前計算済みパーティションが使用されるかどうかを判断します。 値は 1 、事前計算済みパーティションが使用されることを意味します。
num_of_articles int パブリケーション内のアーティクルの数。
replicate_ddl int パブリッシュされたテーブルに対するスキーマ変更がレプリケートされるかどうかを示します。 値は、スキーマの 1 変更がレプリケートされることを意味します。
publication_number smallint この文書に割り当てられた番号。
allow_subscriber_initiated_snapshot bit サブスクライバーがフィルター処理されたデータを生成プロセススナップショット開始できるかどうかを判断します。 値は1、サブスクライバーがスナップショット プロセスを開始できることを意味します。
allow_web_synchronization bit パブリケーションが Web 同期に対して有効になっているかどうかを判断します。 値は 1 、Web 同期が有効になっていることを意味します。
web_synchronization_url nvarchar(500) Web 同期に使用されるインターネット URL。
allow_partition_realignment bit パブリッシャーで、行の変更によりパーティションに変更があった場合、削除をサブスクライバーに送信するかどうかを決定します。 値は 1 、削除がサブスクライバーに送信されることを意味します。 詳細については、「sp_addmergepublication (Transact-SQL)」を参照してください
retention_period_unit tinyint リテンション期間を定義するときに使用する単位を定義します。 次のいずれかの値を指定できます。

0 = day

1 = 週

2 = 月

3 = year
has_downloadonly_articles bit パブリケーションに属するアーティクルがダウンロードのみのアーティクルであるかどうかを示します。 値は 1 、ダウンロードのみの記事があることを示します。
decentralized_conflicts int 競合の原因となったサブスクライバーに競合レコードが格納されているかどうかを示します。 値は 0 、競合レコードがサブスクライバーに格納されていないことを示します。 値は 1 、競合レコードがサブスクライバーに格納されることを示します。
generation_leveling_threshold int 世代に含まれる変更の数を指定します。 世代とは、パブリッシャーまたはサブスクライバーに配信される変更のコレクションです。
automatic_reinitialization_policy bit 自動再初期化を実行する前に、サブスクライバーから変更をアップロードするかどうかを示します。 値は 1 、自動再初期化が行われる前に変更がサブスクライバーからアップロードされることを示します。 値 0 は、自動再初期化の前に変更がアップロードされていないことを示します。

リターン コードの値

0 (成功) または 1 (失敗)。

解説

sp_helpmergepublication はマージ レプリケーションで使用されます。

アクセス許可

パブリケーションのパブリケーション アクセス リストのメンバーは、そのパブリケーションに対して実行 sp_helpmergepublication できます。 パブリケーション データベースの db_owner 固定データベース ロールのメンバーは、すべてのパブリケーションに関する情報を取得するために実行 sp_helpmergepublication できます。

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2022]
EXEC sp_helpmergepublication @publication = @publication;
GO