天天看點

SQL Server備份屬于I/O密集型操作

SQL Server備份屬于I/O密集型操作。簡單來說,你需要首先進行讀操作,然後再寫整個資料庫的内容。下面是幾個可以改善I/O吞吐量的步驟:

  向盡可能多的磁盤做寫操作

  使用盡可能多的磁盤驅動器來分離負載量,可以是由許多塊盤組成的RAID陣列或者是多個RAID陣列。

  從盡可能多塊磁盤做讀操作

  如果你的資料庫跨多塊磁盤分布,你可以降低I/O瓶頸。

  利用分離磁盤做讀操作和寫操作

  對不同的磁盤組做讀操作和寫操作有助于增加I/O吞吐量。

  RAID配置

  對讀操作和寫操作盡可能使用速度最快的RAID配置。例如,RAID 5比較慢,因為它需要對磁盤有額外的寫操作。RAID 0對寫操作來說是最快的,但是它不提供備援。可以考慮使用RAID 1+0:1和0代表鏡像式(1)和條帶式(0),是以你可以有一個資料集鏡像,而且你可以條帶式跨多個鏡像組合來擷取額外的I/O吞吐量。既然備份首先要從資料庫讀,然後向備份檔案寫,那麼寫操作的優勢在存儲備份檔案的磁盤上是顯而易見的。

  控制器

  利用不同的控制器和(或者)通道來增加I/O吞吐量。另外,要使用你能買得起的最好的控制器。在購買控制器時,你應該檢視端口數量,支援的最大驅動器數量,緩沖大小,電池備份和SCSI協定支援情況。要跨多個控制器或通道分離讀操作和寫操作活動。

  在本地寫資料

  要寫本地磁盤,而不要向網絡連接配接的存儲做寫操作。如果資料被寫到直接連接配接的儲存設備,你可以排除掉伺服器外部可能引起使備份變慢時間變長的其它因素。

  寫多個裝置

  除了讀寫多塊磁盤,可以利用盡可能多的線程來增加吞吐量。這一點可以通過利用企業管理器并選擇多個輸出檔案或者通過利用T-SQL并在備份指令中包含多個檔案來做到。你還可以通過寫不同磁盤子系統來進一步增加吞吐量。

  壓縮備份

  利用第三方工具壓縮你的備份輸出。這樣一來,你可以降低備份檔案整個大小的90%,并将備份時間減半。因為大部分資料在資料庫中是文本資料,是以它是高度可壓縮的。

  把備份寫到磁盤

  永遠要把備份寫到磁盤上,不要直接寫到其他類型的媒體上;在直接寫到記憶體之後,磁盤備份是下一個最快的選擇。

  快速磁盤驅動器

  使用你能得到的最快的磁盤驅動器。SCSI驅動器還是要比IDE更快,能達到高達15k RPM的速度。