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的速度。