sp_helpmergepublication (Transact-SQL)

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

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

  • [ @publication = ] 'publication'
    パブリケーションの名前を指定します。publication のデータ型は sysname で、既定値は % です。既定値は、現在のデータベース内にあるすべてのマージ パブリケーションに関する情報を返すことを示します。

  • [ @found = ] 'found' OUTPUT
    行を返すことを示すフラグです。found のデータ型は int です。これは OUTPUT パラメーターの 1 つであり、既定値は NULL です。1 は、パブリケーションが見つかったことを示します。0 は、パブリケーションが見つからないことを示します。

  • [ @publication_id**=**\] **'**publication_id' OUTPUT
    パブリケーション識別番号です。publication_id のデータ型は uniqueidentifier です。これは OUTPUT パラメーターの 1 つで、既定値は NULL です。

  • [ @reserved**=**\] 'reserved'
    単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。 reserved のデータ型は nvarchar(20) で、既定値は NULL です。

  • [ @publisher**=** ] 'publisher'
    パブリッシャーの名前を指定します。publisher のデータ型は sysname で、既定値は NULL です。

  • [@publisher_db = ] '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 つのパーティションでデータが変更されたときに確認されます。

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

注意
既定では、マージ パブリケーションでは事前計算済パーティションが使用され、このオプションより高いレベルの最適化が実施されます。詳細については、「パラメーター化された行フィルター」および「事前計算済みパーティションによるパラメータ化されたフィルタのパフォーマンス最適化」を参照してください。

allow_subscription_copy

int

パブリケーションにサブスクライブするサブスクリプション データベースをコピーできるかどうかを示します。値 0 は、コピーできないことを表します。

allow_synctoalternate

int

代替同期パートナーがこのパブリッシャーと同期できるかどうかを示します。値 0 は、同期パートナーが同期できないことを表します。

validate_subscriber_info

nvarchar(500)

サブスクライバー情報を取得し、サブスクライバー上でのパラメーター化された行フィルター条件を検証するときに使用される機能の一覧。各マージで、情報に一貫性を持たせながらパーティション分割する場合に使用できます。

backward_comp_level

int

データベースの互換性レベル。次のいずれかの値をとります。

10 = SQL Server 7.0

20 = SQL Server 7.0 SP1

30 = SQL Server 7.0 SP2

30 = SQL Server 7.0 SP3

30 = SQL Server 7.0 SP4

40 = SQL Server 2000

40 = SQL Server 2000 SP1

40 = SQL Server 2000 SP2

40 = SQL Server 2000 SP3

90 = SQL Server 2005

90 = SQL Server 2005 SP1

90 = SQL Server 2005 SP2

100 = SQL Server 2008

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 = 日

1 = 週

2 = 月

3 = 年

has_downloadonly_articles

bit

パブリケーションに属するアーティクルが、ダウンロードのみのアーティクルであるかどうかを示します。値 1 は、ダウンロードのみのアーティクルであることを表します。

decentralized_conflicts

int

競合レコードが、競合の原因となったサブスクライバーで格納されるかどうかを示します。値 0 は、競合レコードがサブスクライバーで格納されないことを表します。値 1 は、競合レコードがサブスクライバーで格納されることを表します。

generation_leveling_threshold

int

1 回の生成に含まれる変更の数です。生成とは、パブリッシャーまたはサブスクライバーに配信される変更の集まりです。詳細については、「マージ レプリケーションで変更を追跡および列挙する方法」を参照してください。

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 [AdventureWorks2008R2]
EXEC sp_helpmergepublication @publication = @publication;
GO