605: Attempt to fetch logical page belongs to a different allocation unit(取得しようとした論理ページが別のアロケーションユニットに属する)
SQL Server意味
ページの読み取り中に、SQL Server が想定したオブジェクト/アロケーションユニットではなく別のオブジェクトに属するページを検出した。深刻な物理的/論理的データベース破損を強く示す。
原因
ストレージ/ディスク障害、コントローラやドライバのバグ、突然の電源喪失時の書き込みキャッシュの破損、またはファイルシステムの損傷によるページリンクの破壊。'transient 605' はまれに一時的な I/O の問題に起因することがあるが、継続する場合は実際の破損である。
対処方法
直ちに DBCC CHECKDB ('mydb') WITH NO_INFOMSGS, ALL_ERRORMSGS を実行して損傷の範囲を特定する。可能であれば、正常であることが確認済みのバックアップからリストアする (データ損失を最小化する PITR が望ましい)。ストレージ/ハードウェアをテストし、PAGE_VERIFY CHECKSUM の設定を確認する。REPAIR オプションはデータ損失を伴う可能性があるため、バックアップを取得したうえで最後の手段としてのみ使用する。重要な環境では Microsoft サポートに相談する。
同じデータベースの他の項目
- 3906Failed to update database because the database is read-only(データベースが読み取り専用のため更新に失敗)
- 15023User already exists in the current database(ユーザーは現在のデータベースに既に存在する)
- 18452Login failed. The login is from an untrusted domain and cannot be used with Windows authentication(ログイン失敗。信頼されていないドメインからのログインで Windows 認証に使用できない)
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column(1 つ以上のオブジェクトがこの列にアクセスしているため ALTER TABLE ALTER COLUMN が失敗)
- 7202Could not find server 'name' in sys.servers(sys.servers にサーバー 'name' が見つからない)
- 40501The service is currently busy. Retry the request after 10 seconds(サービスは現在ビジー。10 秒後に要求を再試行)
- 8645A time out occurred while waiting for memory resources to execute the query(クエリ実行用のメモリリソース待機中にタイムアウト発生)