web-dev-qa-db-ja.com

単純復旧への切り替え-トランザクションログの縮小

標準の免責事項:私は「非自発的DBA」(私が この記事 で見た素晴らしいフレーズ)であり、 lots および lots および- lotslotslots この主題についての読書ですが、まだ混乱/心配しています...

いくつかのSQL Server 2014運用データベースの復旧モデルをフルからシンプルに変更する必要があります。

データベースは現在完全復旧に設定されており、 SqlBackupAndFTP を使用してバックアップされていました。これは、毎日3つの差分バックアップと20のトランザクションバックアップを使用して、毎日の完全バックアップを実行します。 FTPベースのストレージを提供する会社に大きな問題が発生するまで、これは問題なく機能していました。

約3か月前に Attix5 を使用するように切り替えましたが、これはうまく機能しています。しかし、ソフトウェアの動作方法により、トランザクションログがデータファイルと同じ大きさであることに気付きました(ある場合) 13Gbデータファイルに対して14Gb以上)。

トランザクションログが大きくならないように、復旧モデルをシンプルに切り替えることをお勧めします。

Simple Recoveryを使用しても、ポイントインタイムリストアが提供されないことを知っています-完全バックアップは1時間ごとに行われ、私たちは「過去1〜59分の間に発生した可能性のあるすべてを失う」.

私の理解では、リカバリモデルをシンプルに設定してバックアップを実行する必要があります。これにより、トランザクションログにチェックポイントが設定され、スペースを再利用できます。

ただし、トランザクションログを適切なサイズに縮小する必要があります(バックアップスペースをあまり消費しないようにするため)が、縮小は悪い考えであると読み続けています。または、スティックの端が間違っていますか?

次のコマンドを使用して、トランザクションログを約25MB(1時間のトランザクションセットに十分な大きさになるはずです)まで縮小した場合、それで十分ですか?

DBCC SHRINKFILE('log file name',25)

(私は以前に何十億回も尋ねられたように見える何かを尋ねるのは本当に残念ですが、これは私が間違っている可能性があるものではありません。)

7
freefaller

標準の免責事項:私は「非自発的なDBA」(この記事で見た素晴らしいフレーズ)であり、この主題について何度も何度も読んでいますが、それでも混乱/心配しています...

ですから、ダブルエッジソードで遊んでいて、リスクを認識していることを知っています-どんなエッジに触れても、自分を切ります。

ソフトウェアの動作方法により、トランザクションログがデータファイルと同じ大きさであることを発見しました(1つのケースでは、13 Gbのデータファイルに対して14 Gbを超えます)。

追加 トランザクションログバックアップファイルであるかどうかをベンダーに確認し、 バックアップ圧縮 を使用します。

シンプルリカバリを使用しても、ポイントインタイムの復元が提供されないことはわかっています。1時間ごとにフルバックアップが実行され、過去1〜59分間に発生した可能性のあるものはすべて「失う」ので、これは問題ありません。

これに問題があります。私が正しく理解すれば、あなたはディスクストレージスペースと戦っています。完全バックアップは、トランザクションログバックアップ(または差分ログバックアップ)と比較して、毎回より多くのスペースを占有します。

バックアップツールのベンダーに相談して、問題を修正してもらう必要があります。あるいは、なぜ T-SQLソリューション -を使用しないのですか?これにより、問題が発生していることがわかっているツールを使用するのではなく、より透明性が高く、操作を制御できます。

もう1つお読みくださいすばらしい答え- トランザクションログが増加し続ける、または領域不足になるのはなぜですか?

トランザクションログを適切なサイズに縮小する必要がある

あなたは 自動成長がキックインする頻度 を見つけ、平均値から始めて調整します。トランザクションログの適切なサイジングは非常に重要であり、25 MBを超えないようにしてください。その音は低すぎるし、値が低すぎて自動成長イベントをより頻繁に開始します。

トランザクションログが大きい場合、(マウスを下に置く)

する必要があります縮小チャンクで

ベンダーのバグの多いツールがあなたの健全な決定に影響を与えないようにしてください:-)

3
Kin Shah