sp_helppublication (Transact-SQL)

パブリケーションに関する情報を返します。Microsoft SQL Server パブリケーションの場合、このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されます。Oracle パブリケーションの場合、このストアド プロシージャは、任意のデータベース上のディストリビュータ側で実行されます。

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

構文

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_conflictdetection1 に設定されている場合、この 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 のユーザーだけです。