2009-08-09 119 views
8

我看到我們的數據庫有完整的恢復模式,並有一個3GB的事務日誌。Hows是否會影響性能?

隨着日誌變大,這將如何影響數據庫的性能以及訪問數據庫的應用程序的性能?

JD

+0

這是一個誤導性的標題。我確定這只是一個錯字,但是「大型交易」和「大型交易日誌」是完全不同的東西,我敢肯定你知道! – 2009-08-09 15:30:07

回答

7

建議的最佳做法是爲其自己的磁盤或LUN分配SQL Server事務日誌文件。

這是爲了避免磁盤上的事務日誌文件碎片化,正如其他海報所提及的那樣,並且還避免/最小化磁盤爭用。

理想的場景是讓您的DBA提前爲您的數據庫環境分配足夠的日誌空間,即一次分配x GB的數據。在專用磁盤上,這將創建一個連續分配,從而避免碎片。

如果您需要增加交易日誌,您應該再次嘗試以相當大的塊進行交易,以便盡力分配連續資源。

您還應該看看不要收縮您的事務日誌文件,因爲重複的縮小和自動增長會導致磁盤上的數據文件碎片化。

我覺得最好把autogrowth數據庫屬性當作失效保護,也就是說你的DBA應該主動監視事務日誌空間(可能通過設置警報),以便它們可以相應地增加事務日誌文件的大小以支持你的數據庫使用要求,但自動增長屬性可以確保數據庫在意外增長髮生時能夠繼續正常運行。

更大的事務日誌文件本身如果不損害性能,因爲SQL服務器會按順序寫入日誌,所以假設您正在管理整體日誌大小和額外空間的分配情況,您應該不會擔心。

0

如果日誌被碎片或需要成長將放緩的應用。

0

如果您未通過執行備份定期清除事務日誌,則日誌將變滿,並佔用整個可用磁盤空間。

1

在幾個方面。

如果您的系統配置爲自動增長事務日誌,隨着文件變大,您的SQL服務器將需要做更多的工作,並且您可能會變慢。當您最終耗盡空間時,您運氣不佳,您的數據庫將停止採用新的交易。

您需要與您的DBA(或者您是DBA?)一起獲得並執行頻繁的定期日誌備份。將它們從服務器上保存到另一個專用備份系統中。在備份日誌時,現有日誌文件中的空間將被回收,從而防止日誌變得更大。備份事務日誌還可以讓您在上一次完整備份或差異備份後將數據庫恢復到特定時間點,這將在發生服務器故障時顯着減少數據丟失。

相關問題