Sql-Server

SQL Server 上的磁槃體系結構

  • April 5, 2018

我正在使用SQL Server 2017 Always-On系統建構一個新環境。

這將是24/7 活躍的,並且會有很多 DML程序。

我有一個用於作業系統的 100GB SAS、一個用於數據的 1TB SAS 和一個用於 TempDB 和日誌文件的 1TB SSD 磁碟。

  • C: / - 100GB - SAS
  • D: / - 1TB - SAS - 數據文件
  • E:/ - 1TB - SSD - 日誌/臨時數據庫文件

上述結構對於最佳性能/最佳實踐是否正確?還是應該將 Log/Tempfile 更改為 SAS 而不是 Datafiles ?

對於單個生產數據庫,我需要創建多少個數據和日誌文件?1 個數據文件和 1 個日誌文件是最佳實踐嗎?

儲存視角最佳實踐:

  1. 為 Data、Log 和 Tempdb 提供單獨**的驅動器。**不要將日誌文件和 Tempdb 文件保存在同一驅動器上,因為 Tempdb 非常活躍並且一直需要良好的 IOPS。因此,為 Tempdb 添加另一個驅動器。
  2. 如果可以,請將數據文件也保存在 SSD 中。如果數據庫非常讀/寫密集,這將提高您的性能。
  3. 啟用即時文件初始化

另外我想問一下,對於單個生產數據庫,需要創建多少數據文件/日誌文件?1 個數據文件和 1 個日誌文件是最佳實踐嗎?

添加多個日誌文件不會幫助或提高性能,因為日誌記錄是按順序完成的。Paul Randal 有一篇很棒的部落格文章,他證明了為什麼多個日誌文件對您不利。

在數據文件上,擁有一個 mdf 文件就足夠了。如果您的數據庫很大,那麼稍後再進行文件組分區。如果您為完全不可預測的使用者數據庫添加多個數據文件,性能可能會或可能不會有任何改進。Paul 的另一個部落格點擊此處他回答了這個問題。在我的環境中,我們只使用單個數據文件,除非空間不足並且需要添加額外的 .ndf 將數據定向到另一個驅動器。

以下是 Microsoft 文件的片段:

貯存

對以下內容使用不同的磁碟或磁碟分區:

  1. 視窗作業系統。
  2. 系統數據庫的數據文件。
  3. 系統和使用者數據庫的日誌文件。
  4. TempDB 數據庫的數據和日誌文件。

為獲得最佳讀/寫性能,請確保用於 SQL Server 數據文件的磁碟使用 64 KB 塊大小進行格式化。

微軟文件

引用自:https://dba.stackexchange.com/questions/203097