
ログファイルをサイズ上限を無制限にしておくと、どんどんサイズが大きくなってしまいますよね。かといってサイズの上限を決めておくと、そこに達したらそれ以上データを作成できなくなってしまいます。
ある程度のサイズになったら、または週に一度くらいで自動的にトランザクションログを切り捨てたいんですが、どのような方法がありますでしょうか?
既にかなりのサイズになっており、困ってます。
本にはログのバックアップを取ると良いとあったのですが、バックアップを取るということは領域の解放、ログファイルサイズの縮小にはならないんじゃないかと思い、有識者のみなさまに質問させていただくことにしました。みなさまおすすめの管理方法を教えてください。
P.S.
やはり、物理的にファイルを削除するのは難がありますでしょうか?
No.1ベストアンサー
- 回答日時:
>本にはログのバックアップを取ると良いとあったのですが、
>バックアップを取るということは領域の解放、
>ログファイルサイズの縮小にはならないんじゃないかと思い、
>有識者のみなさまに
>
うーーむ、まるで本の著者が有識者ではないような表現ですね...
ちなみに、私は有識者ではありませんが。
その本に書いてあるとおり、ログの最適な管理方法は
定期的にログをバックアップすることです。
> ログファイルサイズの縮小にはならないんじゃないかと思い
>
ログファイルを縮小することは必ずしもいいこととは限りません。
仮に、ログファイルを小さくしても、大きいトランザクションが
実行されれば、ログは自動拡張するわけです。この自動拡張がくせもの
で、拡張はデフォルトで 10% ずつなので、頻繁な拡張が発生すると、
無茶苦茶おそくなります。
なので、最大トランザクションに耐えられるよう、
あらかじめログを大きめにとっておくというのは、パフォーマンス上
やっておいたほうがよいことになります。
どうしても、小さく保っておきたい場合は、
・復旧モデルを「シンプル」
にし、かつデータベースのオプションで「自動圧縮」をチェックして
おきます。パフォーマンス上の弊害は前述のとおりです。
また、復旧モデルがシンプルの場合の弊害は、以下の堀川さんの記事が
参考になると思います。
特集: バックアップとリカバリの克服
http://www.sqlpassj.org/tokushu/backup/default.a …
また、どうしてもログを手動で縮小したい場合は、
Enterprise Manager で「すべてのタスク」メニューから「データベースの圧縮」
または
DBCC SHRINKFILE コマンドを使います。
以下も参考になると思います。
Re: トランザクションログの切捨て不能-2
http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_i …
松本崇博
Blog: http://blogs.sqlpassj.org/matu_tak/
アドバイスありがとうございます。本の著者の方が有識者ではないとは思っておりません。たぶん、文章の裏に根拠があるのだろう(もしくは私の読み違い)と思ったのですが、如何せん、私の今の知識ではそれがわからなかったため、有識者でご存知の方がいらっしゃれば、それを指摘してもらえるかもと思ったものです。
質問してからさらに調べたのですが、バックアップを取るときに最新のログのみ残して確定済のログを消すことでログファイルの増大を防ぎ、本当にログファイルを切捨て(縮小)するのは別のコマンドが必要のようですね。トランザクションログに関する文章をもっと読む必要を感じておりましたので、いろいろなページを紹介していただき、助かりました。参考のページを拝見してみます。
No.3
- 回答日時:
> バックアップを取るということは領域の解放、ログファイルサイズの縮小にはならないんじゃないか
逆に、バックアップを行わないと解放は行われません。
その本にはバックアップのコマンドとかは書いてないのでしょうか?
とりあえずBooks Onlineで、Backup Logの項目を調べてみるといいのでは?
アドバイスありがとうございます。BACKUPコマンドがあったので実行してみたのですが、物理ファイルのサイズを小さくするものではありませんでした。いろいろ調べた結果、DBCC SHRINKFILEをジョブで実行して定期的にサイズを小さくするのが一番希望に近いようなのですが、イレギュラーな方法をとっているのではないかと不安です。
No.2
- 回答日時:
ログの切り捨ては蓄積した変更履歴を放棄することのため
切捨て後は直ぐにデータベースのフルバックアップを取るようにします。
※自動復旧でロールフォワードされないため(変更履歴が反映されない)
BACKUP TRAN WITH NO_LOG
とかで一発切り捨てもできたような。
※誤字があるかも
>>物理的にファイルを削除
これはサーバが起動しなくなるような。
回答ありがとうございます。データベースは500MB程度なのにログが既に数GBに達していたため、かなり困っておりました。コマンド試してみます。物理的にファイルを削除は前任者の方がやられていたようで、なぜか無事だったようです。とはいえ今後データベースを預かる身としてはそれを続けていくのはかなり怖いので、きちんとしたコマンドを探しておりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- その他(AV機器・カメラ) 【大至急】写真加工に強い方、お願いします。 現在、自作のブックカバーをプリンパさんに依頼しています。 2 2023/06/07 21:30
- Outlook(アウトルック) アイホンで撮った写真を一枚だけPCに移し画像を縮小してWebメールに添付して送信する方法 1 2022/04/22 15:33
- ホームページ作成・プログラミング グリッドレイアウトHTMLとCSS 1 2023/02/22 02:36
- ビデオカメラ Corel Digital Studioの動画をSDに保存するには? 5 2023/05/18 01:36
- 中学校 比の文章題 2 2022/08/28 02:49
- CPU・メモリ・マザーボード 「コンピューターのメモリが不足しています」 3 2022/12/15 22:07
- 物理学 光り時計の思考実験をやり直すと、ガンマの数式は成立しない。 2 2022/05/24 09:01
- Photoshop(フォトショップ) 写真のサイズ変更 1 2022/08/07 16:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-アクセスで作ったファイルの...
-
期限切れのバックアップの削除
-
SQLServer7.0のLDF圧縮
-
MS SQLサーバデータのバックア...
-
接続されてるユーザーを切断す...
-
Accessdでの「トランザクション...
-
postgresql についてです
-
SQL Server のテーブルについて
-
SQLServer2000からSQLServer200...
-
データベースからのインポート...
-
マネーフォワードのアプリでク...
-
SQLの実行と発行は同じ意味...
-
Symantec System Recovery
-
SQL2008から2000へデータコピー...
-
ファイルメーカーで画像を参照...
-
SQLSERVER2008 R8についてお願...
-
ファイルサイズって
-
SQL SERVER 2005 EXPRESS EDITION
-
SQLServerのバックアップ
-
SQLiteと管理ソフト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
期限切れのバックアップの削除
-
ログファイルの圧縮がされずに...
-
BACKUP DATABASE とINSERTが同...
-
バックアップについて
-
ログ ファイルはいっぱいです。...
-
バックアップの容量と時間の見積り
-
トランザクションログの切り捨...
-
SQL-Server トランザクションロ...
-
SQLServer2000でのトランザクシ...
-
SQLServerのトランザクションロ...
-
オラクル、ファイルのミラー化...
-
XamppでインストールしたMySQL...
-
MySQLでバックアップなしデータ...
-
トランザクションログバックア...
-
oracleとSQL Server比較検証
-
こんにちは。
-
【SQL Server2005】mdfファイル...
-
WindowsFirewallのログの保存先...
-
AccessからMSDEへの移行
-
SQLServerでトランザクションロ...
おすすめ情報