2010-08-25 17 views
1

在Sql Server中,我發現,當我將數據庫標記爲只讀時,其現有的大型事務日誌仍然存在。爲了解決這個問題,我必須將其設置回可寫,然後將dbcc shrinkfile設置爲日誌文件,然後再次將其設置爲只讀。什麼是隻讀數據庫上的事務日誌的使用?

如果數據庫是隻讀的,那麼事務日誌的用途是什麼?是否有一個它不會被刪除/刷新的原因?

回答

3

如果您的數據庫仍處於完全恢復模式,則日誌不會在沒有正確備份的情況下收縮。您應該將只讀數據庫切換爲簡單恢復。

此外,如果您決定分離/附加此數據庫,則需要日誌文件。如前所述here

相比之下,對於只讀數據庫, 日誌無法重建,因爲 主文件不能被更新。 因此,當您附加日誌不可用的只讀 數據庫時,您必須在 FOR OATTACH子句中提供日誌文件或文件。

+0

將數據庫切換到只讀狀態實際上可以防止通常在簡單恢復模式下發生的自動縮減。 – GlennS 2010-08-27 14:57:31

1

在只讀數據庫上的事務日誌沒有用:-)假設你已經過去了一些不再關心爲填充事務而進行的事務的點。我想它不會被刷新,因爲這不會是很好的默認行爲,想象一下如果你想回到寫入模式?或者您在只讀操作期間發現存在問題,您需要使用日誌?

相關問題