SQLデータベースログがいっぱいです。解決方法


現在の解決方法は、ハードディスク上の他のファイルを削除し、ハードディスクの空間を空けて、データベースのログファイルのサイズを無制限に変更し、データベースを分離して、分離成功を確保し、その後、データベースログファイルを削除します。データベースを追加してログファイルを再構築します。データベースを自動収縮に変え、ログファイルをmbごとに成長させ、最大値を固定値に設定し、値の大きさはデータ処理の状況を見て、指の大きいudate操作がある場合は、大きな点に設定します。クエリアナライザで操作:クリアログDUMP TRANSACTION庫名WITH NO_LOGカットオフ事務ログ:BACKUP LOGデータベース名WITH NO_LOG解決SQLデータベースログがいっぱいの問題1、右ボタンデータベース→属性→オプション→故障還元モデル→簡単→確定;2、右キーデータベース→すべてのタスク→縮小データベース→確定;3、右ボタンデータベース→属性→オプション→故障還元モデル→大容量ログ記録→確定とする。二、複雑な方法1、クリアログDUMP TRANSACTION倉庫名WITH NO_LOG 2、事務ログBACKUP LOGデータベース名WITH NO_LOG 3、データベースファイルを収縮する(圧縮しないと、データベースのファイルは減らない)企業管理器--右ボタンで圧縮したいデータベース--すべてのタスク--収縮データベース--収縮ファイル--選択ログファイル--収縮方式でXDMに収縮することを選択します。ここで最小M数を与えます。直接この数を入力して、確定すればいいです。データファイルを選択します。収縮方式でXDMに収縮することを選択します。ここで最小M数を与えます。この数を直接入力して、確定すればいいです。SQL文でも完成できます。収縮データベースDBCC SHRINKDATABASE(顧客資料)。収縮指定データファイル。1はファイル番号です。この文で調べられます。最大化された縮小ログファイル(sql 7.0であれば、このステップはクエリアナライザでのみ行えます)a.データベース企業マネージャ-サーバ--データベース--右キー--データベースを分離します。データベースbを分離します。私のコンピュータからLOGファイルcを削除します。データベース企業マネージャ--データベース--右ボタンを追加します。データベースを追加します。この方法は新しいLOGを生成します。サイズは500 K以上しかないです。以下の例はpbsを分離して、pbsのファイルを現在のサーバーに添付します。a.EXEC sp_を分離するdetach_db@dbname='pbs'b.ログファイルを削除しますc.EXEC sp_を追加します。atch_シングルス.file_db@dbname='pbs'、@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\pbs.mdf'5、今後自動的に収縮できるように、企業管理器-サーバ--右ボタンデータベース--属性--オプション--「自動収縮」を選択します。SQL文設定方式:EXECdboption'データベース名'、'atoshrink'、'TRUE'6、これからは大きな企業管理器であるサーバ--右キーデータベース--属性--事務ログ--ファイルの成長をxM(xはあなたが許可する最大データファイルサイズ)--SQL文の設定方式:alter databaseデータベース名modify file(name=論理ファイル名、nameファイル名)maxsize=20)特に注意してください。前のステップが行われていません。後ろのステップをしないでください。そうしないと、データベースが壊れます。普通は第4、6の2歩をすることを提案しないで、第4歩は安全ではありませんて、データベースを損なうかもしれませんかますデータを失うかもしれなくて、第6歩はログが上限に達するならば、後でのデータベースの処理は失敗することができて、ログを整理した後でようやく回復することができます。ログファイルがいっぱいで、SQLデータベースがファイルに書き込めない場合、二つの方法があります。一つの方法:ログを空にします。1.クエリアナライザを開けて、命令DUMP TRANSACTIONデータベース名WITH NO_を入力します。LOG 2.企業管理器--右ボタンを開けて、圧縮したいデータベース--すべてのタスクを収縮するデータベース--収縮ファイル--選択ログファイル--収縮方式でXXX Mに収縮することを選択します。ここで最小M数を与えます。直接この数を入力して、確定すればいいです。もう一つの方法は、SQL SERVERのログファイルがデータベースのメインファイルに即時に書き込まれていないため、処理が間違っているとデータの損失が発生します。1:LOGを削除してデータベース企業管理器を分離します->サーバ->データベース->右ボタン->データベースを分離します。2:LOGファイルを削除してデータベース企業管理器を追加します。注意:第一の方法をお勧めします。これからは大きくなりたくないです。SQL 2000で使用します。データベース上で右ボタン->>属性->オプション->故障回復モデル-選択-シンプルモデルです。またはSQL文で:alter databaseデータベース名set recovery simpleまた、Truncate logn checkpoint(このオプションはSQL 7.0に使用されます。SQL 2000では、故障回復モデルはシンプルモデルとして選択されています。CHECKPOINTコマンドを実行すると、トランザクションログファイルがそのサイズの70%を超えると、その内容を開発データベースにクリアします。このオプションは常にTrue Auto shrinkに設定されています。定期的にデータベースをチェックします。データベースファイルまたはログファイルの未使用空間がそのサイズの25%を超えると、システムは自動的にファイルを縮小します。未使用空間は25%になります。ファイルサイズがビルドされていない時の初期サイズは縮小されていません。ファイルサイズが縮小された後のファイルも初期サイズより大きくなければなりません。注意:一般的に作成されたデータベースのデフォルトの属性が設定されていますが、予期せぬ状況によりデータベースの属性が変更されました。ユーザがログを空にしてから、データベースの上の属性を確認してください。