sp_helppublication (Transact-SQL)
適用対象:SQL ServerAzure SQL Managed Instance
パブリケーションに関する情報を返します。 Microsoft SQL Server パブリケーションの場合、このストアド プロシージャはパブリッシャー側のパブリケーション データベースで実行されます。 Oracle パブリケーションの場合、このストアド プロシージャは、任意のデータベース上のディストリビューター側で実行されます。
構文
sp_helppublication [ [ @publication = ] 'publication' ]
[ , [ @found=] found OUTPUT]
[ , [ @publisher = ] 'publisher' ]
引数
[ @publication = ] 'publication'
表示するパブリケーションの名前を指定します。 publication は sysname で、既定値は %であり、すべてのパブリケーションに関する情報を返します。
[ @found = ] 'found' OUTPUT
返される行を示すフラグです。 found は int で、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_switch が 1 に設定されている場合にのみ有効です。 |
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)
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示