KB4469908 - 修正: SQL Server 2016 AG の読み取り専用セカンダリ レプリカでアプリケーション ロールを 2 回目に使用するとエラー 3961 が発生する

適用先
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

現象

Microsoft SQL Server 2016 AlwaysOn 可用性グループ (AG) に読み取り専用のセカンダリ レプリカがあることを想定しています。 レプリカで SQL Server アプリケーションの役割を初めて使用する場合、期待どおりに動作します。 ただし、再度使用すると、アプリケーション ロールが失敗し、次のエラー メッセージが表示される場合があります。

注

メッセージ 3961、レベル 16、状態 1、行 行番号
データベース '<DatabaseName>' でスナップショット分離トランザクションが失敗しました。なぜなら、ステートメントによってアクセスされるオブジェクトが、このトランザクションの開始以降に別の同時トランザクション内の DDL ステートメントによって変更されているためです。 メタデータはバージョン管理されていないため、許可されていません。 メタデータの同時更新では、スナップショット分離と混在すると不整合が生じる可能性があります。

解決策

この問題は、SQL Server 用の次の累積的な更新プログラムで解決されています。

SQL Server 2016 SP2 の累積的な更新プログラム CU 38

SQL Server 用の累積的な更新プログラムについて

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。

SQL Server 2016 の最新の累積的な更新プログラム

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

Microsoft がソフトウェア更新プログラムについて説明するために使用する 用語について説明します 。