sp_helpmergepublication (Transact-SQL)

更新 : 2006 年 12 月 12 日

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

トピック リンク アイコン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

指定されたパブリケーションに関する変更を保存する日数。

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 サイトに保存し、後でサブスクライバで取得することもできます。

ms189475.note(ja-jp,SQL.90).gifメモ :

このパラメータを 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 の場合、同期は最適化され、変更のあったパーティション内の行を保持するサブスクライバだけが影響を受けます。

ms189475.note(ja-jp,SQL.90).gifメモ :

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

allow_subscription_copy

int

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

allow_synctoalternate

int

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

validate_subscriber_info

nvarchar(500)

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

backward_comp_level

int

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

10 = Microsoft SQL Server 7.0

20 = SQL Server 7.0 Service Pack 1

30 = SQL Server 7.0 Service Pack 2

35 = SQL Server 7.0 Service Pack 3

40 = Microsoft SQL Server 2000

50 = SQL Server 2000 Service Pack 1

60 = SQL Server 2000 Service Pack 3

90 = Microsoft SQL Server 2005

publish_to_activedirectory

bit

パブリケーション情報を Microsoft Active Directory にパブリッシュするかどうかを示します。0 は、Active Directory からパブリケーション情報を使用できないことを表します。

このパラメータは、旧バージョンのスクリプトとの互換性を保つために用意されており、使用は推奨されません。現在、Microsoft 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 は、削除がサブスクライバに送信されることを表します。

0 は、削除が送信されないことを表します。詳細については、「sp_addmergepublication」を参照してください。

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 = 自動再初期化の前に変更はアップロードされません。

解説

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

権限

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

戻り値

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

使用例

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

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

参照

関連項目

sp_addmergepublication (Transact-SQL)
sp_changemergepublication (Transact-SQL)
sp_dropmergepublication (Transact-SQL)
レプリケーション ストアド プロシージャ (Transact-SQL)

その他の技術情報

パブリケーションのプロパティを表示および変更する方法 (レプリケーション Transact-SQL プログラミング)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

追加内容 :
  • generation_leveling_threshold 列に関する情報を追加。