sp_helppublication (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

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

Transact-SQL 構文表記規則

構文

sp_helppublication_snapshot
    [ @publication = ] N'publication'
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

引数

[ @publication = ] N'publication'

表示するパブリケーションの名前。 @publicationsysname で、既定値は % で、すべてのパブリケーションに関する情報を返します。

[ @publisher = ] N'publisher'

SQL Server 以外のパブリッシャーを指定します。 @publishersysname で、既定値は NULL です。

Note

パブリッシャー は、SQL Server パブリッシャーにパブリケーション情報を要求するときに指定しないでください。

結果セット

列名 データ型 説明
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 メッセージ キューを使用してトランザクションを格納します。
sql = SQL Server を使用してトランザクションを格納します。
注: メッセージ キューのサポートは廃止されました。
backward_comp_level データベース互換性レベル。次のいずれかの値を指定できます。

90 = 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の値は、競合が検出されることを意味します。 詳細については、「 Peer-to-Peer - ピア ツー ピア レプリケーションでの競合検出を参照してください。
originator_id int ピア ツー ピア トポロジ内のノードの ID を指定します。 この ID は、 enabled_for_p2p_conflictdetection1 に設定されている場合に競合検出に使用されます。 既に使用されている ID の一覧については、 MSpeer_originatorid_history システム テーブルに対してクエリを実行します。
p2p_continue_onconflict int 競合が検出されたときに、ディストリビューション エージェントが変更の処理を続行するかどうかを指定します。 1の値は、エージェントが変更の処理を続行することを意味します。

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

適用対象: SQL Server 2019 (15.x) CU 13 以降のバージョン。

リターン コードの値

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

解説

sp_helppublication は、スナップショット レプリケーションとトランザクション レプリケーションで使用されます。

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

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

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

アクセス許可

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

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