MS Sql Server 2000でのデータベース接続の削除
-
03-07-2019 - |
質問
問題があるデータベースがあります。どういうわけかログは400 Gbになり、データベースは役に立たなくなりました。データベースへの既存の接続をすべてドロップしてから、データベースをデタッチします。
基本的に私がやろうとしているのは、巨大なログファイルを取り除き、新しいログファイルを作成して、それが機能する場合は再接続することです。そうでない場合は、バックアップから復元します。
解決 3
まあ基本的に、データベースに対してコマンドはまったく実行されません。最終的には、サービスをオフにして、mdfファイルとldfファイルの空のコピーを作成し、sqlサーバーで使用されているファイルを置き換えました。その後、前回のバックアップからデータベースを復元し、出来上がりました(再び)(ほぼ)動作しています。
他のヒント
ログが役に立たない場合は、これらのコマンドを使用できますが、運用サーバーに適用する前に自分で記録してください。
ログからページを削除するためのNO_LOGを使用したログのバックアップ
sp_helpdbは、dbのファイルの名前を検索します
DBCC SHRINKFILE( 'your log filename'、0)-物理ファイルを指定されたサイズにトランキングするため。
開いているトランザクションがないことが確実な場合は、データベースをシングルユーザーモードにすることができます。
ALTER DATABASE [YourDB] SET SINGLE_USER WITH NO_WAIT
完了したら、マルチユーザーモードに戻します ALTER DATABASE [YourDB] SET MULTI_USER WITH NO_WAIT
する
truncate_onlyを使用してyourdbをバックアップし、dbcc shrinkdatabase(yourdb)はログファイルを圧縮しませんか?
ALTER DATABASE [DB_NAME_HERE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE [DB_NAME_HERE] SET MULTI_USER