
我們在 SQL Server 2016 伺服器上執行 ERP 軟體,作為 VMware ESXi 上的虛擬機器。目前,我們為虛擬機器配置了 2 個驅動器,其中資料位於 1,日誌位於另一個。當虛擬機器損壞時,我們遇到了問題,我們恢復到 VEEAM 備份。恢復花了很長時間,但很成功。不幸的是,這導致了大約 4 小時的資料遺失。由於交易日誌隨伺服器一起南下,我們無法從交易日誌中復原。
因此我們考慮將交易日誌寫入另一個網路共用。但在嘗試在測試資料庫中設定它時,SQL Server 似乎不允許這樣做。
有辦法完成這件事嗎?性能是否受到重大影響?有更好的方法嗎?
答案1
有辦法完成這件事嗎?
是的,但您可能不想這樣做。您可以啟用追蹤標誌 1807讓 SQL Server 使用 UNC 路徑來儲存其資料和記錄檔。然而,從該文件來看:
Microsoft 通常建議您使用儲存區域網路 (SAN) 或本機連接的磁碟來儲存 Microsoft SQL Server 資料庫文件,因為此配置可以最佳化 SQL Server 效能和可靠性。
(儘管連結的文檔表明 SQL 2016 預設應該允許這樣做,所以您需要詳細說明「SQL Server 似乎不允許這樣做」。)
性能是否受到重大影響?
這取決於在你的硬體上。這取決於「本機」儲存的位置——ESXi 主機內的旋轉磁碟、SAN 或其他地方。這取決於您正在考慮使用的網路共用基礎的儲存。它們最終可能會使用相同的硬件,在這種情況下,效能差異可能會歸結為一點 VMware 開銷。 Microsoft 在上面連結的文件中詳細介紹了有關效能注意事項的資訊。
有更好的方法嗎?
是的
交易日誌檔案本身(通常*.ldf
)並不是您想要用來從災難中復原的檔案。將它們放在伺服器本地是合適的。正如您所做的那樣,將它們放在與資料檔案(通常*.mdf
)分開的磁碟機上是一件好事。
當您遇到災難並需要從備份恢復時,您可以從完整備份恢復,然後可能從一些差異備份中恢復,然後可能從一些交易日誌備份中恢復。因此,你應該寫你的備份到遠離您的伺服器的位置。或者至少,如果您必須在本地編寫它們,請建立一個立即將它們複製到其他地方的流程。正如您所發現的,許多類型的故障會導致所有本地資料無法使用。
有很多關於如何建立適當的備份機制的教學。布倫特奧扎無限公司有幾個好的。