2009-12-10 88 views
3

我是一名程序員,有一份非自願DBA的兼職工作。備份後事務日誌有巨大的增長

我有一個維護計劃,每晚都進行完整備份和「檢查數據庫完整性」。我每10分鐘備份一次事務日誌。事務日誌備份大小在數據庫備份之後突增 - 呈指數級增長。我過去每晚都重建索引和統計數據 - 我認爲這就是導致事務日誌高峯的原因 - 但刪除這些步驟並沒有改變任何內容。

如果沒有這麼大的秒殺,在緩慢連接上鏡像我們的備份將會有相當大的幫助 - 所以我希望這是我做錯的事情。任何人都可以提出建議

+0

您可以告訴使用數據庫所處的日誌模式 - 完整日誌還是批量日誌。 – Andrew 2009-12-10 15:09:44

+0

恢復模式已滿 - 這是一回事嗎?我正在使用SQL 2008.我只在6am和午夜之間進行事務日誌備份。完整備份發生在凌晨4點,通常只需要幾分鐘。大型事務日誌是早上6點的日誌 - 自備份以來的第一個日誌。 – aSkywalker 2009-12-10 16:25:24

回答

2

如果您僅從早上6點運行日誌備份到午夜,那麼上午6點的第一個日誌備份將備份自上次日誌備份以來的6小時內發生的所有數據庫活動的

這是完全正常的,可能與您的數據庫備份發生在凌晨4點無關。

由於您使用的是SQL2008,因此我的其他答案中的警告不適用,並且24小時後運行日誌備份應該沒問題。

1

當您的完整備份正在運行時,事務備份將不會運行。那麼您的完整備份需要多長時間?在此期間,事務日誌備份不會截斷事務日誌。

+0

類似於BradC的評論 - 我不是在同一時間運行它們,所以我不認爲這應該是一個問題。 – aSkywalker 2009-12-10 16:29:07

2

這是SQL 2000嗎?

在SQL 2000中,您不應該在完整備份執行時運行日誌備份,或者「不好的事情可能發生」,如阻塞或巨大的日誌文件。

請參閱this ServerFault post來自「The Man」的Paul Randal,他曾經負責Microsoft的SQL引擎。

請參閱this follow-up post瞭解在完整備份執行時跳過日誌備份的一些想法。

在SQL 2005或更高版本中,此限制不再存在,並且您不應該同時運行日誌備份和完整備份。

+0

有趣的東西 - 保羅是驚人的。我正在運行SQL 2008,並且只在'一天'期間運行事務日誌,所以我認爲我應該可以做到這一點。 – aSkywalker 2009-12-10 16:28:10