DBAtlas · データベース運用アトラス

1934: INSERT/UPDATE failed because the following SET options have incorrect settings(次の SET オプションの設定が誤っているため INSERT/UPDATE が失敗)

SQL Server

意味

必要な SET オプションが誤って設定されていたため、DML 操作 (INSERT/UPDATE/DELETE) が失敗した。典型的には、インデックス付きビュー、計算列のインデックス、フィルター選択されたインデックス、空間/XML インデックスに必須の SET 設定が満たされていない場合に発生する。

原因

対象のテーブル/ビューに特定の SET オプション (特に QUOTED_IDENTIFIER と ANSI_NULLS が ON、NUMERIC_ROUNDABORT が OFF など) を必要とするオブジェクトがあるが、セッションの現在の SET オプションがその要件を満たしていない。古いクライアントドライバや、誤った SET オプションを明示的に設定するスクリプトがきっかけとなる。

対処方法

接続/セッションで必要なオプションを設定する: SET QUOTED_IDENTIFIER ON; SET ANSI_NULLS ON; SET ANSI_PADDING ON; SET ANSI_WARNINGS ON; SET CONCAT_NULL_YIELDS_NULL ON; SET ARITHABORT ON; SET NUMERIC_ROUNDABORT OFF; アプリケーションのドライバが接続時にこれらのオプションを正しく送信していることを確認する。エラーメッセージに誤ったオプションの名前が示されるので、それらを修正する。

DBAtlas で開く →

同じデータベースの他の項目