sp_replmonitorsubscriptionpendingcmds (Transact-SQL)
適用対象: SQL ServerAzure SQL Managed Instance
トランザクション パブリケーションのサブスクリプションに対する保留中のコマンドの数と、トランザクション パブリケーションの処理にかかる時間の大まかな見積もりに関する情報を返します。 このストアド プロシージャは、返されたサブスクリプションごとに 1 行を返します。 レプリケーションの監視に使用されるこのストアド プロシージャは、ディストリビューション データベースのディストリビューターで実行されます。
構文
sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @subscriber_db = ] 'subscriber_db'
, [ @subscription_type = ] subscription_type
, [ @subdb_version = ] subdb_version
引数
[ @publisher = ] 'publisher'
パブリッシャーの名前。 publisher は sysname で、既定値はありません。
[ @publisher_db = ] 'publisher_db'
パブリッシュされたデータベースの名前です。 publisher_dbは sysname で、既定値はありません。
[ @publication = ] 'publication'
出版物の名前。 publication は sysname で、既定値はありません。
[ @subscriber = ] 'subscriber'
サブスクライバーの名前。 サブスクライバー は sysname で、既定値はありません。
[ @subscriber_db = ] 'subscriber_db'
サブスクリプション データベースの名前。 subscriber_dbは sysname で、既定値はありません。
[ @subscription_type = ] subscription_type
サブスクリプションの種類。 subscription_typeは int であり、既定値はなく、これらの値のいずれかになります。
Value | 説明 |
---|---|
0 |
プッシュ サブスクリプション |
1 |
プル サブスクリプション |
[ @subdb_version = ] subdb_version
dbversion
サブスクリプション データベースの値。 subdb_versionは int 型の省略可能なパラメーターで、既定値は 0 です。
結果セット
列名 | データ型 | 説明 |
---|---|---|
pendingcmdcount |
int | サブスクリプションで保留中のコマンドの数。 |
estimatedprocesstime |
int | 保留中のすべてのコマンドをサブスクライバーに配信するために必要な秒数の見積もり。 |
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_replmonitorsubscriptionpendingcmds
はトランザクション レプリケーションで使用されます。
SQL Server 2019 (15.x) CU17 より前は、 sp_replmonitorsubscriptionpendingcmds
ピア ツー ピア レプリケーションではサポートされておらず、ピアツーピア レプリケーション トポロジのクエリに使用した場合、保留中のコマンドの数が正しく返されませんでした。 SQL Server 2019 (15.x) CU 17 では、ピア ツー ピア パブリケーションとの互換性を実現 sp_replmonitorsubscriptionpendingcmds
するためのサポートが追加されました。
ただし、SQL Server 2019 (15.x) CU17 以降の場合でも、 sp_replmonitorsubscriptionpendingcmds
テーブル MSrepl_originators
に正しくないバージョンのサブスクリプション データベースの古いエントリが含まれている場合、ピアツーピア レプリケーションで使用すると、保留中のコマンドの数が正しく報告される可能性があります。 この問題を解決するには、ストアド プロシージャの引数を使用subdb_version
するときに、古いエントリMSrepl_originators
をすべて削除するか、サブスクリプション データベースの正しいdbversion
エントリをsp_replmonitorsubscriptionpendingcmds
渡します。
決定dbversion
する方法の詳細については、KB (キロバイト)5017009を参照してください。
アクセス許可
ディストリビューターの sysadmin 固定サーバー ロールのメンバー、またはディストリビューション データベースの 固定データベース ロールdb_owner メンバーのみが実行 sp_replmonitorsubscriptionpendingcmds
できます。 ディストリビューション データベースを使用するパブリケーションのパブリケーション アクセス リストのメンバーは、そのパブリケーションの保留中のコマンドを返すために実行 sp_replmonitorsubscriptionpendingcmds
できます。
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示