[解決済み] データベースのトランザクションログが満杯です。ログの領域が再利用できない理由を調べるには、sys.databases の log_reuse_wait_desc カラムを参照してください。
質問
1回の削除クエリで355447レコードを削除しようとすると、次のエラーが発生します。
データベースのトランザクションログが満杯です。ログ内の領域を再利用できない理由を調べるには、sys.databases の log_reuse_wait_desc 列を参照してください。
以下の方法を試してみましたが、やはりdelete文は同じエラーを出します。
DBCC SHRINKFILE(DBname_Log, 2)
BACKUP LOG gis_sync WITH TRUNCATE_ONLY
DBCC SHRINKFILE(DBname_Log, 2)
どうか解決してください...。 ありがとうございます。
どのように解決するのですか?
Damienさんがおっしゃるように、ログが大きくなっている原因を突き止める必要があります。こちらの記事で解説しています。 トランザクションログ再利用待ち
これだけのレコードを削除すると、それだけでかなりのログ容量が必要になるので、ログファイルの容量を確保できない場合は、これらの行をいくつかの小さなステップに分けて削除しなければならないかもしれません。もしフルリカバリを使用している場合、各ステップの後にログのバックアップを取る必要があります。
余談ですが、BACKUP LOG ... WITH TRUNCATE_ONLYは、一般的に非常に悪いアイデアです。もし、あなたがフルリカバリーモードであれば、この方法はバックアップチェーンを破壊し、ポイントインタイムリストアを行うことを妨げます。ポイントインタイム・リカバリーが必要ない場合は、リカバリー設定 "simple"を代わりに使用してください。そうでない場合は、実際のログバックアップを取り、他のバックアップファイルと一緒に保存してください。
ログファイルに対するDBCC SHRINKFILEは、縮小するデータベースに対して何の役にも立ちません。ドライブ上の他のDBのためのスペースを確保するために使用することはできますが、再利用可能なスペースしか削除できないので、現在のデータベースのためのスペースを確保することはできません。つまり、この処理によって解放されたスペースは、いずれにせよトランザクションに使用された可能性があるということです。
関連
-
[解決済み】各GROUP BY式は、外部参照でない列を少なくとも1つ含む必要があります。
-
[解決済み】エラー "INSERT EXEC文はネストできません。" "INSERT-EXEC文の中でROLLBACK文は使用できません。" これを解決するにはどうすればよいですか?
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] SQL Server データベース復元エラー: 指定されたキャストは無効です。(SqlManagerUI)
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] 結果を分割するためのSQLの小数点以下の値
-
[解決済み] SQL Server : ログインに成功しましたが、「データベース [dbName] にアクセスできません。(ObjectExplorer) "と表示されました。
-
[解決済み] 変数に値を代入するSELECT文は、データ検索操作と組み合わせてはいけません。
-
[解決済み] SSISの日付と時刻の連結
-
[解決済み] SQLサーバーを使用して文字列を切り詰める方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー "INSERT EXEC文はネストできません。" "INSERT-EXEC文の中でROLLBACK文は使用できません。" これを解決するにはどうすればよいですか?
-
[解決済み] 式をデータ型datetimeに変換する際に算術オーバーフローエラーが発生する。(日付と時刻の表示中に...)
-
[解決済み] SQL Server MS 2012の現在のセキュリティコンテキストでは、サーバープリンシパルはデータベースにアクセスできません。
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] SQL Server: sys.master_files vs. sys.database_files
-
[解決済み] 階層テーブルの設計
-
[解決済み] BCP - IDENTITY列を持つテーブルにインポートする際、キャスト指定に無効な文字値がある。
-
[解決済み] 関数内から実行できるのは、関数と一部の拡張ストアドプロシージャのみです。
-
[解決済み] データベースとスキーマの違い
-
[解決済み] SQLのReplace関数内の正規表現?