プロが教える店舗&オフィスのセキュリティ対策術

SQLの各システムのログが400GBに成っているものもあり、空き容量もなく正常に稼働しない状況です。回答の中に同質問による回答があったのですが、そのコマンドをどこから実行して良いのかも分からない初心者です。稼働出来ない状態で困っております。宜しくご指導の程、お願い申し上げます。

A 回答 (3件)

そんなに大きなログは必要ないんですよね?


必要ないなら以下のいずれかの方法で対処してください。
原則としてそのデータベースに接続しているセッションがない状態で実行します。

1.トランザクションログの切捨てとファイルの圧縮
1)クエリアナライザを開く
2)「BACKUP LOG (データベース名) WITH TRUNCATE_ONLY」と書いて実行する

※2000の場合
3)EnterpiseManagerで対象のデータベースを右クリックし、「すべてのタスク」-「データベースの圧縮」を選択
4)「ファイルの圧縮」の中の「ファイル」ボタンを押し、「データベースファイル」でログの方のファイルを選択
5)「OK」を押す
6)もう一度3)と4)を実行し、「現在のサイズ」が小さくなっていることを確認

※2005の場合
3)SQL Server Management Studioで「タスク」-「圧縮」-「ファイル」を選択
4)ファイルの種類で「ログ」を選択
5)「OK」を押す
6)もう一度3)と4)を実行し、「現在のサイズ」が小さくなっていることを確認

2.デタッチしてトランザクションログファイルの再作成
※2000の場合
1)EnterpriseManagerで対象のデータベースを右クリックし、プロパティの「データファイル」「トランザクションログ」タブを見て、ファイルのパスを控える
2)EnterpriseManagerで対象のデータベースを右クリックし、「すべてのタスク」-「データベースのデタッチ」を選択
3)接続しているユーザが残っていれば「消去」ボタンを押してセッションを切ってください。
4)「データベースはデタッチできる状態です」と出たら「OK」を押してデタッチする
5)1)で控えた「トランザクションログ」ファイルをエクスプローラで削除(拡張子はldf。間違えてmdfを削除しないように!)
6)EnterpriseManagerで「データベース」フォルダを右クリックし、「すべてのタスク」-「データベースのアタッチ」を選択
7)「アタッチするデータベースのMDFファイル」で、1)で控えた「データファイル」を指定すると、MDFは見つかり、LDFは見つからないという風にリストが表示される。
8)そのまま「OK」を押すと、トランザクションログファイルは勝手に新規作成されて、アタッチが完了する

※2005の場合
1)SQL Server Management Studioで対象のデータベースを右クリックし、プロパティの「ファイル」タブを見て、ファイルのパスを控える
2)SQL Server Management Studioで対象のデータベースを右クリックし、「タスク」-「デタッチ」を選択
3)接続しているユーザが残っていれば「接続の削除」チェックをオンにする
4)「OK」を押してデタッチする
5)1)で控えた「トランザクションログ」ファイルをエクスプローラで削除(拡張子はldf。間違えてmdfを削除しないように!)
6)SQL Server Management Studioで「データベース」フォルダを右クリックし、「アタッチ」を選択
7)「アタッチするデータベース」で、「追加」を押し、1)で控えた「データファイル」を指定すると、下のボックスに「データ」と「ログ」が表示されるが、「ログ」は「見つかりませんでした」と表示されるので、「ログ」の行を選択して「削除」ボタンを押す
8)そのまま「OK」を押すと、トランザクションログファイルは勝手に新規作成されて、アタッチが完了する

そこまでログファイルが大きくなってしまうと、私は2で対処しますが、1でもできます。ステップが多いので慎重に作業してください。
    • good
    • 0

勘違いな回答でしたらごめんなさい。


SQLServer2000なら、クエリアナライザでこのコマンドを実行すればログの切捨てはできたような・・・

backup log [対象のデータベース名] with truncate_only
dbcc shrinkfile('[対象のデータベース名]_log')
    • good
    • 0

SQL Server 2000なら、クエリアナライザ


SQL Server 2005なら、SQL Server Management Studiio
で、処理ができると思います。

処理に自信のない時は、データベースのバックアップを取ってから実行してくださいね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す