現象
Microsoft SQL Server 2016 または2017のsp_getapplockシステムストアドプロシージャと共にメモリ内のトランザクションを使用することを前提とします。 SCHEMA_OBJECT_ACCESS_GROUP サーバーレベルの監査アクショングループでサーバーの監査を有効にした場合、次のような "Msg 41317"エラーメッセージが表示されます。
Msg 41317、レベル16、州4、 LineNumber メモリ最適化テーブルまたはネイティブにコンパイルされたモジュールにアクセスするユーザートランザクションは、複数のユーザーデータベースまたはデータベースモデルと msdb にアクセスできません。また、master に書き込むことはできません。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server 2016 Service Pack 2 の累積更新プログラム 3
ノートこの更新プログラムでは、データベース内でスキーマを作成する権限を持たないユーザーが、データベース監査仕様で SCHEMA_OBJECT_ACCESS_GROUP と SCHEMA_OBJECT_CHANGE_GROUP を有効にしている場合に、[スキーマの作成] コマンドを実行したときに、未解決のデッドロックが表示される問題も解決されます。
SQL Server ビルドについて
SQL Server 2016 用の新しいビルドごとに、以前のビルドで行われたすべての修正プログラムとセキュリティの修正が含まれています。 SQL Server 用の最新の累積的な更新プログラムをインストールすることをお勧めします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。