DBCC SHRINKFILEでログファイルをBACKUP LOG TO DISKしてもサイズが縮小されない
質問
データベース[My DB]に以下の情報が入っています。
SQL サーバー 2008
MDFサイズ:30GB
LDFサイズ:67 GB
私はログ ファイルをできるだけ縮小したかったので、これを行う方法を見つけ出すための探求を開始しました。 注意: 私は DBA ではないので (または、DBA に近づいてもいないので)、この探求を通して感覚的に進歩しています。
まず、私はちょうど SSMS、DB プロパティ、ファイル、および初期サイズ (MB) 値を 10 に編集しました。 それによって、ログ ファイルは 62 GB に減少しました (私が入力した 10 MB とは異なります)。 そこで、SQL Profilerをアタッチして、DBCC SHRINKFILEが呼び出されていることを確認しました。 そして、そのコマンドをクエリ エディタに入力したところ、次のような結果が得られました。
DBCC SHRINKFILE (N'My DB_Log' , 10)
と出力されました。
Cannot shrink log file 2 (My DB_Log) because the logical log file located at the end of the file is in use.
DbId FileId CurrentSize MinimumSize UsedPages EstimatedPages
------ ----------- ----------- ----------- ----------- --------------
8 2 8044104 12800 8044104 12800
(1 row(s) affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
その後、それについて調べてみたところ、こんなことがわかりました。
http://support.microsoft.com/kb/907511
ということは、shrinkfileの前にログファイルをバックアップして、仮想ログファイルを解放し、shrinkfileがその仕事をできるようにする必要がある、ということです - 私には意味がわかりません... 意味はわかりませんが...。)
そこで、ログ ファイルをバックアップしてから DBCC SHRINKFILE を実行しようと考えました (そして、以前の DBCC SHRINKFILE コマンドの出力で特定された MinimumSize がそれだったので、新しいログ ファイル サイズを 12800 に変更しました)。
BACKUP LOG [My DB] TO DISK = 'D:\SQLBackup\20110824-MyDB-Log.bak'
GO
DBCC SHRINKFILE (N'My DB_Log' , 12800)
GO
結果は、1回目と同じでした。 ログファイルを62GBまでしか減らせません。
何が間違っているのか、次に何を試せばいいのか、よくわかりません。
どのように解決したらよいのでしょうか。
すでに行った手順に加えて、ログを縮小する前に、リカバリーモードをシンプルに設定する必要があります。
これは推奨されない方法です。 を推奨しません。以前のバックアップ/ログファイルからある時点まで回復する能力を失ってしまいます。
この上の例Bを参照 DBCC SHRINKFILE (トランザクト-SQL) msdn ページで例と説明を参照してください。
関連
-
[解決済み】エラー "INSERT EXEC文はネストできません。" "INSERT-EXEC文の中でROLLBACK文は使用できません。" これを解決するにはどうすればよいですか?
-
[解決済み】PRIMARY KEY制約に違反しました。オブジェクトに重複したキーを挿入できない
-
[解決済み] SQL Server: sys.master_files vs. sys.database_files
-
[解決済み] ミリタリータイムを使用するDatetimeフィールド - 標準時間のみが必要です。
-
[解決済み] SQLでテーブルの行数を数える
-
[解決済み] SQL ServerでRegExを使用する
-
[解決済み] SQL Server : varchar を INT に変換する。
-
[解決済み] 条件付きJOINステートメント SQL Server
-
[解決済み] SQL Server Management StudioでIntelliSenseが機能しない
-
[解決済み] SQL Serverです。データベースが "復元" 状態で停止している
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 各GROUP BY式は、外部参照でない列を少なくとも1つ含む必要があります。
-
[解決済み] TABLOCKとTABLOCKXの比較
-
[解決済み] SQL Server 2012 エラー: オブジェクト参照がオブジェクトのインスタンスに設定されていない
-
[解決済み] SSRS レポートの定義が無効です。
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] 階層テーブルの設計
-
[解決済み] COUNTフィールドが正しくないか、構文エラーです。
-
[解決済み] リンクサーバーとしてローカルデータベースを使用する場合、「Deferred prepare could not be completed」エラーが発生する。
-
[解決済み] 関数内から実行できるのは、関数と一部の拡張ストアドプロシージャのみです。
-
[解決済み] SQL ServerでCreateステートメントを使用してtempテーブルを作成する方法は?