現象
たとえば次のようなシナリオを考えてみます。
- Microsoft SQL Server で DTC_SUPPORT=PER_DB が構成されているAlways On可用性グループ (AG) のデータベースで変更データ Capture (CDC) を有効にするとします。
- ストアド プロシージャ sp_cdc_disable_dbを実行して、AG 内のデータベースで CDC を無効にしようとします 。
- この状況で、msdb.dbo.sp_delete_job を使用してクリーンアップ ジョブが既に完了している場合は、アサーション ダンプを受け取ることがあります 。
- 別の状況では、 ROLLBACK SAVEPOINT の実行後に分散トランザクションまたはクロスデータベース トランザクションをコミットすると、アサーション ダンプが発生する可能性もあります。
- 詳細については、「Always On 可用性グループの分散トランザクションを構成する」を参照してください。
DateTime spid1462s * *******************************************************************************
DateTime spid1462s *
DateTime spid1462s * スタック ダンプの開始:
DateTime spid1462s * DateTime spid 1462
DateTime spid1462s *
DateTime spid1462s * 場所: xactrm.cpp:LineNumber
DateTime spid1462s * Expression: !(m_activeDtcRMCount == 0) ||(m_preparedDtcXdesCount == m_xdesCount)
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
解決策
この問題は、次の SQL Server の累積的な更新プログラムで修正されています。
SQL Server の累積的な更新プログラムについて:
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
参考資料
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。