sp_helpsubscription (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
特定のパブリケーション、アーティクル、サブスクライバー、または一連のサブスクリプションに関連付けられているサブスクリプション情報を一覧表示します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
構文
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 = ] found OUTPUT
返される行を示すフラグ。 @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 = Subscribed2 = アクティブ |
synchronization type |
tinyint | サブスクリプション同期の種類:1 = 自動2 = なし |
subscription type |
int | サブスクリプションの種類:0 = Push1 = Pull2 = 匿名 |
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 固定データベース ロールのメンバーに、すべてのサブスクリプションに関する情報が返されます。