我有一個運行模擬SQL 2005數據庫的SQL 2008的Web服務器,並且我有一個本地SQL 2005數據庫用於測試環境。SQL日誌和活動事務
這使我使用腳本備份/恢復數據進行測試,因爲2008服務器備份不會還原到2005服務器。
當我運行該SQL查詢,以減少我的生產Web SQL Server上的表的大小(2008)
DELETE FROM TickersDay
WHERE (DATEDIFF(day, TickersDay.[date], GETDATE()) >= 8)
GO
我得到這個消息:
Msg 9002, Level 17, State 4, Line 3
The transaction log for database 'VTNET' is full. To find out why space in the log
cannot be reused, see the log_reuse_wait_desc column in sys.databases
它出現時我有時也會發布腳本。
當我運行SQL命令我得到以下結果:
SELECT [name], recovery_model_desc, log_reuse_wait_desc
FROM sys.databases
結果:
[name] recovery_model_desc log_reuse_wait_desc
VTNET SIMPLE ACTIVE_TRANSACTION
這裏是我的問題和事項:
- 我明白了..我有一個需要回滾命令的交易聲明
<如果@@ TRANCOUNT> 0還原> ..但我有100個存儲過程,所以我才這樣做....
與此同時...我怎樣才能根除這一問題?我已經嘗試收縮,我已經嘗試備份Db ...
正如你所看到的,它是在SIMPLE模式下...我不知道如何備份一個僅記錄文件......(還沒有找到如何做到這一點)......
感謝您的詳細解釋和答案(多個)...不知道哪些工作,但我增加了大小(和使用不受限制),並使用您的查詢,它的工程很棒!足夠的未提交的交易bs ...我以後會擔心的.. – CraigJSte 2011-01-12 22:52:21