sp_helppublication (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
パブリケーションに関する情報を返します。 SQL Server パブリケーションの場合、このストアド プロシージャはパブリッシャー側のパブリケーション データベースで実行されます。 Oracle パブリケーションの場合、このストアド プロシージャは、任意のデータベース上のディストリビューター側で実行されます。
構文
sp_helppublication_snapshot
[ @publication = ] N'publication'
[ , [ @publisher = ] N'publisher' ]
[ ; ]
引数
[ @publication = ] N'publication'
表示するパブリケーションの名前。 @publication は sysname で、既定値は %
で、すべてのパブリケーションに関する情報を返します。
[ @publisher = ] N'publisher'
SQL Server 以外のパブリッシャーを指定します。 @publisher は sysname で、既定値は 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_conflictdetection が 1 に設定されている場合に競合検出に使用されます。 既に使用されている 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_switch が 1 に設定されている場合にのみ有効です。 |
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
を実行できます。