sp_helppublication (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed Instance

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

Transact-SQL 構文表記規則

構文

  
sp_helppublication [ [ @publication = ] 'publication' ]  
    [ , [ @found=] found OUTPUT]  
    [ , [ @publisher = ] 'publisher' ]  

引数

[ @publication = ] 'publication' 表示するパブリケーションの名前を指定します。 publication は sysname で、既定値は %であり、すべてのパブリケーションに関する情報を返します。

[ @found = ] 'found' OUTPUT 返される行を示すフラグです。 foundint で、OUTPUT パラメーターは既定値の 23456 です1 は、パブリケーションが見つかった場合を示します。 0 は、パブリケーションが見つからない場合を示します。

[ @publisher = ] 'publisher'SQL Server以外の発行元を指定します。 publisher は sysname で、既定値は NULL です。

注意

SQL Serverパブリッシャーからパブリケーション情報を要求する場合は、publisher を指定しないでください。

結果セット

列名 データ型 説明
pubid int パブリケーションの ID。
name sysname パブリケーションの名前。
restricted int 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
status tinyint パブリケーションの現在の状態。

0 = 非アクティブ。

1 = アクティブ。
タスク 旧バージョンとの互換性のために用意されています。
レプリケーションの頻度 tinyint レプリケーション周期の種類。

0 = トランザクション

1 = スナップショット
同期方法 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 メッセージ キューを使用してトランザクションを格納します。

sql = SQL Serverを使用してトランザクションを格納します。

注: メッセージ キューのサポートは廃止されました。
backward_comp_level データベース互換性レベルと は、次のいずれかになります。

90 = Microsoft SQL Server 2005 (9.x)

100 = Microsoft SQL Server 2008 (10.0.x)
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サブスクライバーのみがサポートされていることを意味します。 詳細については、「 Non-SQL Server Subscribers」を参照してください。
enabled_for_p2p_conflictdetection int ピア ツー ピア レプリケーションが有効になっているパブリケーションでの競合をディストリビューション エージェントが検出するかどうかを指定します。 値 1 は、競合が検出されることを意味します。 詳細については、「 ピア ツー ピア レプリケーションにおける競合検出」を参照してください。
originator_id int ピア ツー ピア トポロジ内のノードの ID を指定します。 この ID は、 enabled_for_p2p_conflictdetection が 1 に設定されている場合に競合検出に使用 されます。 既に使用されている ID を確認するには、 Mspeer_originatorid_history システム テーブルに対してクエリを実行します。
p2p_continue_onconflict int 競合が検出されたときに、ディストリビューション エージェントが変更の処理を続行するかどうかを指定します。 値 1 は、エージェントが変更の処理を続行することを意味します。

**注意** 既定値の 0 を使用することをお勧めします。 このオプションを 1 に設定すると、ディストリビューション エージェントは、最も高い発信元 ID を持つノードから競合する行を適用することで、トポロジ内のデータの収束を試みます。 この方法では、収束は保証されません。 競合が検出された後は、トポロジの整合性を確認する必要があります。 詳細については、「 Conflict Detection in Peer-to-Peer Replication」の「競合の処理」を参照してください。
allow_partition_switch int ALTER TABLE... を指定します。SWITCH ステートメントは、パブリッシュされたデータベースに対して実行できます。 詳細については、「パーティション テーブルとパーティション インデックスのレプリケート」を参照してください。
replicate_partition_switch int ALTER TABLE... を指定します。パブリッシュされたデータベースに対して実行される SWITCH ステートメントは、サブスクライバーにレプリケートする必要があります。 このオプションは、 allow_partition_switch1 に設定されている場合にのみ有効です。
enabled_for_p2p_lastwriter_conflictdetection int SQL Server 2019 (15.x) CU 13 以降では、ピアツーピア レプリケーションが有効になっているパブリケーションの最後のライターの競合をディストリビューション エージェントが検出するかどうかを指定します。 値 1 は、最後のライターの競合が検出されることを意味します。

リターン コードの値

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

Remarks

sp_helppublication は、スナップショットおよびトランザクション レプリケーションで使用します。

sp_helppublication では、このプロシージャを実行するユーザーが所有しているすべてのパブリケーションに関する情報が返されます。

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks2022]
EXEC sp_helppublication @publication = @myTranPub
GO

アクセス許可

sp_helppublication を実行できるのは、パブリッシャーの sysadmin 固定サーバー ロールのメンバー、パブリケーション データベースの db_owner 固定データベース ロールのメンバー、またはパブリケーション アクセス リスト (PAL) のユーザーだけです。

SQL Server以外のパブリッシャーの場合、ディストリビューターの sysadmin 固定サーバー ロールのメンバー、またはディストリビューション データベースまたは PAL のユーザーのdb_owner固定データベース ロールのメンバーのみがsp_helppublication実行できます。

参照

パブリケーション プロパティの表示および変更
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_droppublication (Transact-SQL)
レプリケーション ストアド プロシージャ (Transact-SQL)