トランザクションログが切り捨てられないようにする

MSDE2000ではデフォルトでトランザクションログが切り捨てられる設定になっています。
トランザクションログの中身を見るで、SQL Log Rescueによって、行われた処理の履歴を見ることができると紹介しましたが、ログがすぐに切り捨てられてしまって、確認できないということがあります。
その場合は、復旧モデルをFULLに変更します。
これが、デフォルトでは、SIMPLEになっています。

やり方は、

osql -S [コンピュータ名] -E -n という感じにコマンドプロンプトでログインして、
ALTER DATABASE [データベース名] SET RECOVERY FULL
GO

です。

現在の復旧モデルを確認するには、

SELECT CONVERT(nvarchar(50), DATABASEPROPERTYEX('[データベース名]', 'RECOVERY'))
GO

です。
nvarchar(50)で、50バイトで切っていますが、そうしないとコマンドプロンプトで表示できません。

復旧モードをFULLにすると、ログファイルのサイズが増え続けていくので、
なんらかの処置をする必要があります。
最大値の設定などができるのかもしれません。
私は、一時的にFULLにして、ログをとるといった使い方しかしていないので、その点については今のところわかっていません。

posted by VB.NET+MSDE+ActiveReports at 16:05 | Comment(0) | TrackBack(0) | SQL Server
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/29110147