質問

問題があるデータベースがあります。どういうわけかログは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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top