回答
建議的最佳做法是爲其自己的磁盤或LUN分配SQL Server事務日誌文件。
這是爲了避免磁盤上的事務日誌文件碎片化,正如其他海報所提及的那樣,並且還避免/最小化磁盤爭用。
理想的場景是讓您的DBA提前爲您的數據庫環境分配足夠的日誌空間,即一次分配x GB的數據。在專用磁盤上,這將創建一個連續分配,從而避免碎片。
如果您需要增加交易日誌,您應該再次嘗試以相當大的塊進行交易,以便盡力分配連續資源。
您還應該看看不要收縮您的事務日誌文件,因爲重複的縮小和自動增長會導致磁盤上的數據文件碎片化。
我覺得最好把autogrowth數據庫屬性當作失效保護,也就是說你的DBA應該主動監視事務日誌空間(可能通過設置警報),以便它們可以相應地增加事務日誌文件的大小以支持你的數據庫使用要求,但自動增長屬性可以確保數據庫在意外增長髮生時能夠繼續正常運行。
更大的事務日誌文件本身如果不損害性能,因爲SQL服務器會按順序寫入日誌,所以假設您正在管理整體日誌大小和額外空間的分配情況,您應該不會擔心。
如果日誌被碎片或需要成長將放緩的應用。
如果您未通過執行備份定期清除事務日誌,則日誌將變滿,並佔用整個可用磁盤空間。
在幾個方面。
如果您的系統配置爲自動增長事務日誌,隨着文件變大,您的SQL服務器將需要做更多的工作,並且您可能會變慢。當您最終耗盡空間時,您運氣不佳,您的數據庫將停止採用新的交易。
您需要與您的DBA(或者您是DBA?)一起獲得並執行頻繁的定期日誌備份。將它們從服務器上保存到另一個專用備份系統中。在備份日誌時,現有日誌文件中的空間將被回收,從而防止日誌變得更大。備份事務日誌還可以讓您在上一次完整備份或差異備份後將數據庫恢復到特定時間點,這將在發生服務器故障時顯着減少數據丟失。
如果日誌文件在小步驟中增長較大,那麼最終將產生大量虛擬日誌文件 這些虛擬日誌文件將減慢數據庫的啓動,恢復和備份操作。
這裏展示瞭如何解決這個問題的文章: http://www.sqlserveroptimizer.com/2013/02/how-to-speed-up-sql-server-log-file-by-reducing-number-of-virtual-log-file/
- 1. 變量是否會影響性能?
- 2. $(this)是否會影響性能,如$([selector])?
- 3. Windows性能計數器是否會影響性能?
- 4. 實體上的Blob屬性是否會影響查詢性能?
- 5. NSClassFromString會影響性能嗎?
- 6. 此javascript語句是否影響性能?
- 7. Linux上的ACL是否影響性能
- 8. 表大小是否影響INSERT性能?
- 9. setbuf()是否會影響cout?
- 10. 使用'Commit Retaining'是否會影響Firebird性能?
- 11. 加載不使用的.php文件是否會影響性能?
- 12. 檢查java上的列表是否爲空會影響性能?
- 13. 調用空類方法是否會影響性能?
- 14. 是否重複使用Android Shared Preference存儲會影響性能?
- 15. Javascript。代碼的位置是否會影響性能?
- 16. 數據庫(最大)字段長度是否會影響性能?
- 17. WHERE子句中的字段順序是否會影響性能?
- 18. 交換noexcept規範是否會影響性能?
- 19. 列數是否會影響查詢性能?
- 20. 在生產中使用ActionCable時,性能是否會影響?
- 21. URI中是否有空格字符會影響性能?
- 22. JAR文件的大小是否會影響JVM的性能?
- 23. SetFileBandwidthReservation是否會影響內存映射文件的性能?
- 24. Java Visual VM是否會影響受監控的JVM的性能?
- 25. Drools Salience是否會對性能產生影響?
- 26. 此嵌套子文檔模式是否會影響性能?
- 27. 訪問修飾符是否會影響性能?
- 28. 外鍵是否會影響查詢性能
- 29. 字符串的硬編碼是否會影響性能?
- 30. -server標誌是否會影響Tomcat行爲(與性能相反)
這是一個誤導性的標題。我確定這只是一個錯字,但是「大型交易」和「大型交易日誌」是完全不同的東西,我敢肯定你知道! – 2009-08-09 15:30:07