次の方法で共有


sp_helpsubscription (Transact-SQL)

適用対象: SQL ServerAzure SQL Managed Instance

特定のパブリケーション、アーティクル、サブスクライバー、または一連のサブスクリプションに関連付けられているサブスクリプション情報を一覧表示します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。

Transact-SQL 構文表記規則

構文

sp_helpsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @found = ] found OUTPUT ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

引数

[ @publication = ] N'publication'

関連付けられているパブリケーションの名前。 @publicationは sysname で、既定値は %、このサーバーのすべてのサブスクリプション情報を返します。

[ @article = ] N'article'

アーティクルの名前。 @articleは sysname で、既定値は %、選択したパブリケーションとサブスクライバーのすべてのサブスクリプション情報を返します。 場合 allは、パブリケーションの完全なサブスクリプションに対して 1 つのエントリのみが返されます。

[ @subscriber = ] N'subscriber'

サブスクリプション情報を取得するサブスクライバーの名前。 @subscriberは sysname で、既定値は %、選択したパブリケーションとアーティクルのすべてのサブスクリプション情報を返します。

[ @destination_db = ] N'destination_db'

転送先データベースの名前。 @destination_dbは sysname で、既定値は %.

[ @found = ] foundOUTPUT

返される行を示すフラグ。 @foundは int 型の OUTPUT パラメーターです

  • 1 は、パブリケーションが見つかったかどうかを示します。
  • 0 は、パブリケーションが見つからないことを示します。

[ @publisher = ] N'publisher'

パブリッシャーの名前。 @publisherは sysname で、既定値は現在のサーバーの名前です。

@publisherは、Oracle パブリッシャーの場合を除き、指定しないでください。

結果セット

列名 データ型 説明
subscriber sysname サブスクライバーの名前。
publication sysname パブリケーションの名前。
article sysname 記事の名前。
destination database sysname レプリケートされたデータの格納先のデータベースの名前。
subscription status tinyint サブスクリプションの状態:

0 = 非アクティブ
1 = Subscribed
2 = アクティブ
synchronization type tinyint サブスクリプション同期の種類:

1 = 自動
2 = なし
subscription type int サブスクリプションの種類:

0 = Push
1 = Pull
2 = 匿名
full subscription bit サブスクリプションがパブリケーション内のすべてのアーティクルを対象としているかどうかを示します。

0 = いいえ
1 = はい
subscription name nvarchar (255) サブスクリプションの名前。
update mode int 0 = 読み取り専用
1 = 即時更新サブスクリプション
distribution job id binary(16) ディストリビューション エージェントのジョブ ID。
loopback_detection bit ディストリビューション エージェントが、サブスクライバーで発生したトランザクションをサブスクライバーに戻すかどうかを示します。

0 = 戻ります。
1 = 返されません。

双方向トランザクション レプリケーションで使用されます。 詳細については、「 Bidirectional Transactional Replication」を参照してください。
offload_enabled bit レプリケーション エージェントのオフロード実行をサブスクライバーで実行するように設定するかどうかを指定します。

の場合 0、エージェントはパブリッシャーで実行されます。
の場合 1は、サブスクライバーでエージェントが実行されます。
offload_server sysname リモート エージェントのアクティブ化が有効になっているサーバーの名前。 の場合 NULLは、MSdistribution_agentsテーブルに一覧表示されている現在の offload_server が使用されます。
dts_package_name sysname データ変換サービス (DTS) パッケージの名前を指定します。
dts_package_location int DTS パッケージの場所 (サブスクリプションに割り当てられている場合)。 パッケージがある場合は、値を0指定して、パッケージの場所を指定します。distributor の値1を指定します。subscriber
subscriber_security_mode smallint サブスクライバーのセキュリティ モードです。ここで 1 、Windows 認証を意味し 0 、SQL Server 認証を意味します。
subscriber_login sysname サブスクライバーのログイン名。
subscriber_password 実際のサブスクライバー パスワードは返されません。 結果は文字列によって ****** マスクされます。
job_login sysname ディストリビューション エージェントが実行される Windows アカウントの名前。
job_password 実際のジョブ パスワードは返されません。 結果は文字列によって ****** マスクされます。
distrib_agent_name nvarchar(100) サブスクリプションを同期するエージェント ジョブの名前。
subscriber_type tinyint サブスクライバーの種類。次のいずれかの値を指定できます。

0 = SQL Server サブスクライバー
1 = ODBC データ ソース サーバー
2 = Microsoft JET データベース (非推奨)
3 = OLE DB プロバイダー
subscriber_provider sysname SQL Server 以外のデータ ソースの OLE DB プロバイダーが登録されている一意のプログラム識別子 (PROGID)。
subscriber_datasource nvarchar (4000) OLE DB プロバイダーで認識されるデータ ソースの名前。
subscriber_providerstring nvarchar (4000) データ ソースを識別する OLE DB プロバイダー固有の接続文字列。
subscriber_location nvarchar (4000) OLE DB プロバイダーによって認識されるデータベースの場所
subscriber_catalog sysname OLE DB プロバイダーへの接続時に使用するカタログ。

リターン コードの値

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

解説

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

アクセス許可

実行アクセス許可は、既定でパブリック ロールに設定されます。 ユーザーに返されるのは、ユーザーが自分で作成したサブスクリプションの情報だけです。 すべてのサブスクリプションに関する情報は、パブリッシャーの sysadmin 固定サーバー ロールのメンバー、またはパブリケーション データベースの固定データベース ロールdb_ownerメンバーに返されます。