在SQL Server 2008中有什麼辦法可以禁用事務日誌或清除日誌文件?如何在SQL Server 2008中禁用事務日誌
當我在我的項目中執行一個查詢時(在事務方面非常大),那個時候這個日誌文件的大小將增加(2到3 GB)。
請給我一些不錯的選擇。
在SQL Server 2008中有什麼辦法可以禁用事務日誌或清除日誌文件?如何在SQL Server 2008中禁用事務日誌
當我在我的項目中執行一個查詢時(在事務方面非常大),那個時候這個日誌文件的大小將增加(2到3 GB)。
請給我一些不錯的選擇。
你可能會縮小它
DECLARE @sql NVARCHAR(MAX) = ''
SELECT @sql = @sql + N'DBCC SHRINKFILE('+CAST(file_id AS NVARCHAR)+N', 0);'
FROM sys.database_files
WHERE type = 1
EXEC(@sql)
但它僅適用於簡單恢復模式,而不是你需要備份日誌了,後來它收縮
你不能在所有即使您的數據庫是只讀模式刪除日誌文件。
AND嘗試在處理sql server的數據庫時重新設計和檢查你的方法。收縮文件不是正確的選擇或最佳做法 - 尤其是定期進行!
感謝您的支持努力,是否爲此創建工作是正確的選擇,因此在特定的時間間隔內它將執行並縮小該文件? – 2012-01-04 08:36:03
是的 - 只是在你的情況可能是,但嘗試重新設計和審查你的方法時,處理sql服務器的數據庫。收縮文件不是正確的選擇或最佳做法 - 尤其是定期進行! – 2012-01-04 08:39:52
這適用於完全恢復,但會破壞您的日誌備份鏈。您需要完整備份來重置日誌備份鏈。這也不是答案,真的。它只是修復症狀併產生更多問題。我不會因爲你已經縮小縮小而降低你的評價。這個問題得到一個雖然 – gbn 2012-01-04 08:51:11
更改恢復模式:simple
ALTER DATABASE myDB SET RECOVERY SIMPLE
和運行
DBCC SHRINKFILE (MyLog, 1); // to 1 MB
但是,從你在哪裏得到的日誌名稱?
sp_helpdb MyDb
您不能禁用事務日誌在SQL Server中。沒門。
您可以切換到簡單恢復模式
ALTER DATABASE YourDatabase SET RECOVERY SIMPLE
,紀錄少 - 但事務日誌是SQL Server這樣一個基本的,核心理念,你不能只把它們關掉。
您無法禁用事務日誌。
如果您的日誌需要大3GB,那就這樣吧。如果縮小它,它會再次增長並導致其他問題。
如果它是一關,你可以通過
您的問題已經在SO上提出並解答。這裏的鏈接http://stackoverflow.com/questions/996403/disable-transaction-log – GuZzie 2012-01-04 08:23:02
@GuZzie是的,但鏈接只是爲恢復模型 - 和OP也問清除它.....所以不要把不完整的相關鏈接。 – 2012-01-04 08:24:26
@RoyiNamir 2年前問過問題,但仍未清除?在這種情況下,同樣的決議應該回答Arun的問題。對不起,幫助lol – GuZzie 2012-01-04 08:28:26