sp_helpmergepublication (Transact-SQL)
適用対象: SQL Server
マージ パブリケーションに関する情報を返します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
構文
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 = ] found OUTPUT
返される行を示すフラグ。 @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 で指定された別の場所に格納されます。 別の場所は、別のサーバー、ネットワーク ドライブ、リムーバブル メディア (リムーバブル ディスクなど) 上に配置できます。 スナップショット ファイルを 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) SP190 = SQL Server 2005 (9.x) SP2100 = 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 = day1 = 週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