2009-05-04 11 views
1

問題が発生しているデータベースがあります。どうにかしてログは400Gbになり、データベースは役に立たなくなってしまいました。既存のすべての接続をデータベースにドロップしてから、データベースをデタッチする必要があります。MS SQL Server 2000のデータベース接続を切断する

基本的には、巨大なログファイルを削除して新しいログファイルを作成し、それが動作すれば再接続します。そうでない場合は、バックアップから復元する予定です。

答えて

0

基本的に、コマンドはデータベースをagaisntすることは全くありません。私たちがやったことは、サービスをオフにし、mdfとldfファイルの空のコピーを作成し、SQL Serverで使用されているファイルを置き換えることでした。その後、最後のバックアップからデータベースを復元し、もう一度作業しています(ほとんど)。

1

ログが無駄な場合は、これらのコマンドを使用できますが、運用サーバーに適用する前に、自分で文書化してください。ログからdisgardページのNO_LOG WITH

バックアップログ、DB

DBCC SHRINKFILEのファイルの名前を探しているため

にsp_helpdb( 'あなたのログファイル名'、0) - トランキングについて物理ファイルを指定されたサイズに変換します。

1

開いているトランザクションがない場合は、データベースをシングルユーザーモードにすることができます。

NO_WAIT

WITH

のALTER DATABASE [YourDB]のSET SINGLE_USERあなたは、マルチユーザモードで戻ってそれを入れ終わったら のALTER DATABASE [YourDB] MULTI_USER WITH NO_WAIT

を設定

バックアップログyourdbをいtruncate_onlyでdbcc shrinkdatabase(yourdb)を使用してログファイルを縮小しないでください。

+0

dbcc shrinkfileは、名前を正しく入力しているのに、ログファイルを見つけることができません。 useコマンドを試してみると、大胆に実行されます。 – DForck42

+0

管理スタジオでは、データベース上のアクティビティをチェックすると、別のプロセスによってロックされている可能性があります。あなたがデータベースをシングルユースで開いたときにオープンしていれば、トランザクションはロールバックされているかもしれません。 – u07ch

0
ALTER DATABASE [DB_NAME_HERE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE 

ALTER DATABASE [DB_NAME_HERE] SET MULTI_USER 
関連する問題