sp_helppublication (Transact-SQL)
パブリケーションに関する情報を返します。Microsoft SQL Server パブリケーションの場合、このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されます。Oracle パブリケーションの場合、このストアド プロシージャは、任意のデータベース上のディストリビュータ側で実行されます。
構文
sp_helppublication [ [ @publication = ] 'publication' ]
[ , [ @found=] found OUTPUT]
[ , [ @publisher = ] 'publisher' ]
引数
[ @publication = ] 'publication'
表示するパブリケーションの名前を指定します。publication のデータ型は sysname で、既定値は % です。既定値は、すべてのパブリケーションに関する情報を返すことを意味します。[ @found = ] 'found' OUTPUT
行を返すことを示すフラグです。found のデータ型は int です。これは OUTPUT パラメータの 1 つであり、既定値は 23456 です。1 は、パブリケーションが見つかったことを示します。0 は、パブリケーションが見つからないことを示します。[ @publisher = ] 'publisher'
SQL Server 以外のパブリッシャを指定します。publisher のデータ型は sysname で、既定値は NULL です。注 SQL Server パブリッシャからのパブリケーション情報を要求する場合は、publisher は指定しないでください。
結果セット
列名 |
データ型 |
説明 |
---|---|---|
pubid |
int |
パブリケーションの ID。 |
name |
sysname |
パブリケーションの名前。 |
restricted |
int |
単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。 |
status |
tinyint |
パブリケーションの現在の状態。 0 = 非アクティブ 1 = アクティブ |
task |
|
旧バージョンとの互換性のために用意されています。 |
replication frequency |
tinyint |
レプリケーション周期の種類。 0 = トランザクション 1 = スナップショット |
synchronization method |
tinyint |
同期化モード。 0 = ネイティブな一括コピー プログラム (bcp ユーティリティ) 1 = キャラクタ一括コピー 3 = 同時実行。ネイティブな一括コピー (bcp ユーティリティ) が使用されますが、スナップショットの実行中はテーブルはロックされません。 4 = Concurrent_c。文字一括コピーが使用されますが、スナップショットの実行中はテーブルはロックされません。 |
description |
nvarchar(255) |
パブリケーションの説明 (省略可能)。 |
immediate_sync |
bit |
スナップショット エージェントを実行するたびに、同期ファイルを作成または再作成するかどうかを示します。 |
enabled_for_internet |
bit |
ファイル転送プロトコル (FTP) やその他のサービスによって、パブリケーション用の同期ファイルをインターネット上で公開するかどうかを示します。 |
allow_push |
bit |
パブリケーションに対してプッシュ サブスクリプションを許可するかどうかを示します。 |
allow_pull |
bit |
パブリケーションに対してプル サブスクリプションを許可するかどうかを示します。 |
allow_anonymous |
bit |
パブリケーションに対して非同期サブスクリプションを許可するかどうかを示します。 |
independent_agent |
bit |
パブリケーション用のスタンドアロン ディストリビューション エージェントがあるかどうかを示します。 |
immediate_sync_ready |
bit |
スナップショット エージェントが、新しいサブスクリプションでそのまま使用できるスナップショットを作成するかどうかを示します。新しいサブスクリプションまたは再初期化されたサブスクリプションに対して常にスナップショットが提供されるようパブリケーションが設定されている場合のみ、このパラメータを定義します。 |
allow_sync_tran |
bit |
パブリケーションでサブスクリプションの即時更新を許可するかどうかを示します。 |
autogen_sync_procs |
bit |
サブスクリプションの即時更新をサポートするストアド プロシージャを自動的に生成するかどうかを示します。 |
snapshot_jobid |
binary(16) |
スケジュールされているタスクの ID。 |
retention |
int |
指定されたパブリケーションに関する変更を保存する期間 (時間単位)。 |
has subscription |
bit |
パブリケーションにアクティブなサブスクリプションがあるかどうかを示します。1 はパブリケーションにアクティブなサブスクリプションがあることを示し、0 はパブリケーションにサブスクリプションがないことを示します。 |
allow_queued_tran |
bit |
変更をパブリッシャで適用できるようになるまで、サブスクライバで変更をキューイングする機能を無効にするかどうかを示します。0 の場合、サブスクライバ側で加えられた変更はキューに登録されません。 |
snapshot_in_defaultfolder |
bit |
スナップショット ファイルが既定のフォルダに格納されるかどうかを示します。0 の場合、スナップショット ファイルは alternate_snapshot_folder で指定された代替位置に格納されます。1 の場合、スナップショット ファイルは既定のフォルダに格納されます。 |
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 形式で圧縮するかどうかを示します。0 は、スナップショットが圧縮されないことを示します。 |
ftp_address |
sysname |
ディストリビュータ用 FTP サービスのネットワーク アドレス。サブスクライバのディストリビューション エージェントまたはマージ エージェントがパブリケーション スナップショット ファイルを取得する場所を示します。 |
ftp_port |
int |
ディストリビュータ用 FTP サービスのポート番号。 |
ftp_subdirectory |
nvarchar(255) |
パブリケーションで FTP を利用したスナップショット配布がサポートされている場合に、サブスクライバのディストリビューション エージェントまたはマージ エージェントがパブリケーション スナップショット ファイルを取得する場所。 |
ftp_login |
sysname |
FTP サービスへの接続に使用されるユーザー名。 |
allow_dts |
bit |
パブリケーションでデータを変換できるかどうかを示します。0 は、DTS 変換が許可されないことを示します。 |
allow_subscription_copy |
bit |
パブリケーションにサブスクライブするサブスクリプション データベースをコピーする機能が有効かどうかを示します。0 は、コピーが許可されないことを表します。 |
centralized_conflicts |
bit |
競合レコードがパブリッシャに格納されるかどうかを示します。 0 = 競合レコードは、競合の原因となったパブリッシャとサブスクライバの両方に格納されます。 1 = 競合レコードはパブリッシャに格納されます。 |
conflict_retention |
int |
競合の保有期間の日数。 |
conflict_policy |
int |
キュー更新サブスクライバ オプションを使用するときの競合の解決方法。次のいずれかの値になります。 1 = パブリッシャ優先 2 = サブスクライバ優先 3 = サブスクリプションを再初期化 |
queue_type |
|
使用されるキューの種類。次のいずれかの値をとります。 msmq = Microsoft Message Queuing を使用してトランザクションを格納します。 sql = SQL Server を使用してトランザクションを格納します。
注
Message Queuing の使用は現在サポートされていません。
|
backward_comp_level |
|
データベースの互換性レベル。次のいずれかの値をとります。 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 100 = Microsoft SQL Server 2008 |
publish_to_AD |
bit |
パブリケーションが Microsoft Active Directory™ にパブリッシュされるかどうかを示します。値 1 はパブリケーションがパブリッシュされることを示し、値 0 はパブリッシュされないことを示します。 |
allow_initialize_from_backup |
bit |
サブスクライバでは、最初のスナップショットではなくバックアップから、このパブリケーションへのサブスクリプションを初期化できるかどうかを示します。1 は、サブスクリプションがバックアップから初期化できることを示し、0 はできないことを示します。詳細については、「スナップショットを使用しないトランザクション サブスクリプションの初期化」を参照してください。 |
replicate_ddl |
int |
スキーマ レプリケーションがパブリケーションに対してサポートされているかどうかを示します。1 は、パブリッシャで実行されるデータ定義言語 (DDL) ステートメントがレプリケートされることを示し、0 は、DDL ステートメントがレプリケートされないことを示します。詳細については、「パブリケーション データベースでのスキーマの変更」を参照してください。 |
enabled_for_p2p |
int |
ピア ツー ピア レプリケーション トポロジでパブリケーションを使用できるかどうかを示します。1 はパブリケーションでピア ツー ピア レプリケーションがサポートされることを示します。詳細については、「ピア ツー ピア トランザクション レプリケーション」を参照してください。 |
publish_local_changes_only |
int |
単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。 |
enabled_for_het_sub |
int |
パブリケーションで SQL Server 以外のサブスクライバがサポートされるかどうかを示します。値 1 は SQL Server 以外のサブスクライバがサポートされることを示します。値 0 は SQL Server サブスクライバだけがサポートされることを示します。詳細については、「SQL Server 以外のサブスクライバー」を参照してください。 |
enabled_for_p2p_conflictdetection |
int |
ピア ツー ピア レプリケーションが有効になっているパブリケーションでの競合をディストリビューション エージェントが検出するかどうかを指定します。値 1 は、競合が検出されることを示します。詳細については、「ピア ツー ピア レプリケーションにおける競合検出」を参照してください。 |
originator_id |
int |
ピア ツー ピア トポロジ内のノードの ID を指定します。enabled_for_p2p_conflictdetection が 1 に設定されている場合、この ID は競合検出で使用されます。既に使用されている ID を確認するには、Mspeer_originatorid_history システム テーブルに対してクエリを実行します。 |
p2p_continue_onconflict |
int |
競合の検出時にディストリビューション エージェントで変更の処理を継続するかどうかを指定します。値 1 はエージェントで変更の処理を継続することを示します。
注意
既定値の 0 を使用することをお勧めします。このオプションを 1 に設定すると、ディストリビューション エージェントは、発行者 ID が最も大きいノードから競合する行を適用してトポロジ内のデータを収束しようとします。この方法では収束が保証されません。競合が検出された後に、トポロジに一貫性があることを確認する必要があります。詳細については、「ピア ツー ピア レプリケーションにおける競合検出」の「競合の処理」を参照してください。
|
alllow_partition_switch |
int |
パブリッシュされたデータベースに対して ALTER TABLE ... SWITCH ステートメントを実行できるかどうかを指定します。詳細については、「パーティション テーブルとパーティション インデックスのレプリケート」を参照してください。 |
replicate_partition_switch |
int |
パブリッシュされたデータベースに対して実行される ALTER TABLE ... SWITCH ステートメントをサブスクライバにレプリケーションする必要があるかどうかを指定します。このオプションは、allow_partition_switch が 1 に設定されている場合にのみ有効です。 |
リターン コード値
0 (成功) または 1 (失敗)
説明
sp_helppublication は、スナップショットおよびトランザクション レプリケーションで使用します。
sp_helppublication では、このプロシージャを実行するユーザーが所有しているすべてのパブリケーションに関する情報が返されます。
使用例
DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran'
USE [AdventureWorks2008R2]
EXEC sp_helppublication @publication = @myTranPub
GO
権限
sp_helppublication を実行できるのは、パブリッシャの sysadmin 固定サーバー ロールのメンバ、パブリケーション データベースの db_owner 固定データベース ロールのメンバ、またはパブリケーション アクセス リスト (PAL) のユーザーだけです。
SQL Server 以外のパブリッシャの場合、sp_helppublication を実行できるのは、ディストリビュータの sysadmin 固定サーバー ロールのメンバ、ディストリビューション データベースの db_owner 固定データベース ロールのメンバ、または PAL のユーザーだけです。