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

3906: Failed to update database because the database is read-only(データベースが読み取り専用のため更新に失敗)

SQL Server

意味

読み取り専用としてマークされたデータベースでデータを変更 (INSERT/UPDATE/DELETE/DDL) しようとした。SQL Server が書き込みを拒否した。

原因

データベースが READ_ONLY に設定された、接続が可用性グループのセカンダリレプリカ (読み取り用) に向かった、スナップショットまたはリストア後にデータベースが読み取り専用のままになっている、またはファイルシステムが読み取り専用。誤ってセカンダリレプリカにルーティングされたアプリケーションが典型的な原因。

対処方法

本当に書き込み可能にする必要がある場合: ALTER DATABASE mydb SET READ_WRITE; 可用性グループでは、アプリケーションをプライマリレプリカにルーティングする (ReadWrite 接続ルーティング / ApplicationIntent を確認)。読み取り専用のスナップショットには書き込めないため、ソースデータベースを対象にする。ファイルの権限とファイルシステムも確認する。

DBAtlas で開く →

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