次の方法で共有


sp_helpsubscription (Transact-SQL)

適用対象: SQL Server Azure 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'

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

[ @article = ] N'article'

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

[ @subscriber = ] N'subscriber'

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

[ @destination_db = ] N'destination_db'

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

[ @found = ] found OUTPUT

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

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

[ @publisher = ] N'publisher'

パブリッシャーの名前。 @publishersysname で、既定では現在のサーバーの名前になります。

@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 は、スナップショット レプリケーションとトランザクション レプリケーションで使用されます。

アクセス許可

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