sp_helpmergepublication (Transact-SQL)

適用対象: SQL サーバー

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

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'

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

[ @found = ] found OUTPUT

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

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

[ @publication_id = ] 'publication_id' OUTPUT

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

[ @reserved = ] N'reserved'

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

[ @publisher = ] N'publisher'

パブリッシャーの名前。 @publishersysname で、既定値は NULL です。

[ @publisher_db = ] N'publisher_db'

パブリケーション データベースの名前。 @publisher_dbsysname で、既定値は 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