我有一個數據庫,我們遇到了問題。不知怎的,日誌變成了400Gb,數據庫變得沒用了。我想刪除所有現有的連接到數據庫,然後分離數據庫。在MS Sql Server 2000中刪除數據庫連接
基本上我要做的是擺脫巨大的日誌文件,並創建一個新的和重新附加,如果它的工作。如果不是,我們將從備份中恢復。
我有一個數據庫,我們遇到了問題。不知怎的,日誌變成了400Gb,數據庫變得沒用了。我想刪除所有現有的連接到數據庫,然後分離數據庫。在MS Sql Server 2000中刪除數據庫連接
基本上我要做的是擺脫巨大的日誌文件,並創建一個新的和重新附加,如果它的工作。如果不是,我們將從備份中恢復。
那麼基本上沒有命令會執行數據庫的攻擊。我們最終做的是關閉服務並創建mdf和ldf文件的空副本並替換sql server使用的那些文件。之後,我們從最後一次備份中恢復數據庫,然後再次運行(主要是)。
如果日誌無用,您可以使用這些命令,但請在生產服務器上應用之前自行記錄它們。 WITH NO_LOG
BACKUP LOG的disgard從日誌頁面,
的sp_helpdb爲尋找分貝
DBCC SHRINKFILE的文件名( '你的日誌文件名',0) - 用於集羣的物理文件大小指定。
如果您確定沒有打開的事務,則可以將數據庫置於單用戶模式。
ALTER DATABASE [YourDB] WITH NO_WAIT
SET SINGLE_USER當您完成將它放回多用戶模式 ALTER DATABASE [YourDB] SET MULTI_USER與NO_WAIT
是否
備份日誌yourdb使用truncate_only,那麼dbcc shrinkdatabase(yourdb)不會爲您收縮日誌文件?
ALTER DATABASE [DB_NAME_HERE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE [DB_NAME_HERE] SET MULTI_USER
dbcc shrinkfile無法找到日誌文件,即使我知道我在輸入正確的名稱。嘗試使用命令只是連續運行。 – DForck42 2009-05-04 14:19:27