まず、次のような複雑な方法でログ ファイルとデータベース ファイルを圧縮します。
1. ログをクリアします。
DUMP TRANSACTION ライブラリ名を NO_LOG 付きで実行します。
2. トランザクション ログを切り捨てます。
BACKUP LOG データベース名 WITH NO_LOG を使用します。
3. データベースを圧縮します。ファイル (圧縮されていない場合、データベース ファイルは縮小されません)縮小モードで XXM まで、ここに縮小できる最小の M 数が表示されます。
-- データ ファイルを選択します -- 縮小モードで、[XXM に縮小] を選択します。縮小が許可される M の最小数がここに表示されます。この数値を直接入力して確認します
SQL ステートメントを使用して完了することもできます
-データベースを縮小します
DBCC SHRINKDATABASE (顧客情報)
-指定されたデータ ファイルの場合、1 はファイル番号であり、次のステートメントでクエリできます: select * from sysfiles
DBCC SHRINKFILE(1)
4. ログ ファイルのサイズを最小限に抑えるために (SQL 7.0 の場合、この手順で実行できるのはクエリ アナライザで実行されます)
a. データベースを分離します:
Enterprise Manager -- サーバー -- データベース -- 右クリック -- データベースを切断します
b. データベースを接続します:
c. --サーバー--データベース--右クリック--データベースをアタッチします
このメソッドは、新しいログを生成します。サイズは 500 K を超えるだけです
または、コードを使用します:
次の例では、pub をデタッチしてから、ファイルを添付しますpubs を現在のサーバーに接続します
a. デタッチします
E X E C sp_detach_db @dbname = 'pubs'
b. ログを削除します
c. 再度接続します
E -- データベースを右クリックします。 「自動圧縮」を選択します
--SQL文の設定方法:
E 大きくなりすぎました
Enterprise Manager--サーバー--データベースを右クリック--プロパティ--トランザクションログ
--ファイルの増加をxMに制限します(xは許可する最大データファイルサイズです)
-- SQL ステートメントの設定方法:
Alter database データベース名 edit file (name = 論理ファイル名、maxsize = 20)
特別な注意:
以下の手順は実行しないでください。前の手順を完了せずに次の手順を実行してください
そうしないと、データベースが破損する可能性があります
手順 4 と 6 を実行することは一般的に推奨されません
手順 4 は安全ではなく、データベースが損傷したり、データが失われる可能性があります
手順 6.ログが上限に達すると、その後のデータベース処理は失敗し、ログをクリアした後にのみ復元できます。
さらに、私が繰り返し試したより簡単な方法を提供します。
より簡単な方法:
1.データベースのプロパティ ウィンドウを右クリックし、[障害回復モデル] を [simple] に設定します
2.右にデータベースのすべてのタスクを作成します - データベースを縮小します
3.データベースのプロパティ ウィンドウを右クリックし、障害回復モデルを大容量ログに設定します
http://www.bkjia.com/PHPjc/631064.html