sp_repldone (Transact-SQL)
適用対象: SQL ServerAzure SQL Managed Instance
サーバーで最後にディストリビュートされたトランザクションを識別するレコードを更新します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
注意事項
sp_repldoneを手動で実行すると、配信されたトランザクションの順序と整合性を無効にすることができます。 sp_repldoneは、経験豊富なレプリケーション サポート担当者の指示に基づいたレプリケーションのトラブルシューティングにのみ使用する必要があります。
構文
sp_repldone [ @xactid= ] xactid
, [ @xact_seqno= ] xact_seqno
[ , [ @numtrans= ] numtrans ]
[ , [ @time= ] time
[ , [ @reset= ] reset ]
引数
[ @xactid = ] xactid
サーバーの最後の分散トランザクションの最初のレコードのログ シーケンス番号 (LSN) です。 xactid は binary(10)で、既定値はありません。
[ @xact_seqno = ] xact_seqno
サーバーの最後の分散トランザクションの最後のレコードの LSN です。 xact_seqnoは binary(10) で、既定値はありません。
[ @numtrans = ] numtrans
分散トランザクションの数を指定します。 numtrans は int で、既定値はありません。
[ @time = ] time
指定した場合、トランザクションの最後のバッチを分散するために必要なミリ秒数です。 time は int で、既定値はありません。
[ @reset = ] reset
リセットの状態を指定します。 reset は int で、既定値はありません。 1 の場合、ログ内のすべてのレプリケートされたトランザクションが分散としてマークされます。 0 の場合、トランザクション ログは最初にレプリケートされたトランザクションにリセットされ、レプリケートされたトランザクションは分散としてマークされません。 reset は、xactid と xact_seqno の両方が NULL の場合にのみ有効です。
リターン コードの値
0 (成功) または 1 (失敗)
解説
sp_repldoneはトランザクション レプリケーションで使用されます。
sp_repldoneは、配布されたトランザクションを追跡するためにログ リーダー プロセスによって使用されます。
sp_repldoneを使用すると、トランザクションがレプリケートされたことをサーバーに手動で通知できます (ディストリビューターに送信されます)。 また、レプリケーションを待機している次のトランザクションとしてマークされたトランザクションを変更することもできます。 レプリケートされたトランザクションの一覧では、前後に移動できます。 このトランザクションおよびそれ以前のトランザクションはすべてディストリビュートされたことを示すマークが付きます。
必要なパラメーター xactid とxact_seqnoは、sp_repltransまたはsp_replcmdsを使用して取得できます。
アクセス許可
sysadmin 固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーは、sp_repldone実行できます。
例
xactid が NULL、xact_seqnoが NULL、リセットが 1 の場合、ログ内のすべてのレプリケートされたトランザクションが分散としてマークされます。 これは、有効ではなくなったレプリケートされたトランザクションがトランザクション ログに存在し、ログを切り捨てる場合に便利です。次に例を示します。
EXEC sp_repldone @xactid = NULL, @xact_seqno = NULL, @numtrans = 0, @time = 0, @reset = 1
注意事項
この手順は、トランザクションが保留中のレプリケーションが存在する場合にトランザクション ログを切り捨てることができるように、緊急時に使用できます。
参照
sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示