Sql-Server

使生產數據庫成為快照複製的發布者和分發者

  • May 17, 2018

在我們的環境中,我們使用 Log Shipping 作為 DR。我們的主數據庫是一個集群實例。我的要求是為報告目的設置快照複製。

我的計劃如下:

  1. 將生產數據庫作為發行商和出版商。
  2. 訂閱者將是只讀的報告。

我的問題是:

如果生產數據庫同時充當分發者和訂閱者,會有什麼問題嗎?

這取決於您的硬體。我已經看到 70GB 範圍內的表需要大約 20 分鐘才能創建快照。在舊硬體上更長。如果正在執行其他任何操作,則可能導致阻塞。

如果將快照文件寫入與數據庫文件相同的驅動器,則會產生 I/O 爭用並影響性能。並使您的網路頻寬飽和。

但是,如果您也有單獨的分銷商,也會發生同樣的情況。

由於您的數據庫為 100GB,您可以使用壓縮備份和恢復方法(確保啟用了即時文件初始化)。

另一種方法是使用日誌傳送延遲在備用伺服器上恢復日誌文件並使數據庫處於備用讀取模式( WITH STANDBY)。

你的做法是——

  • 在您的主伺服器上進行定期日誌備份(在您的情況下,每 15 分鐘一次)
  • 保持複製作業原樣,將日誌文件複製到網路共享。
  • 根據您的門檻值選擇延遲恢復日誌的選項。
  • 為了加快恢復日誌- 將 logshipping 的設置更改為norecovery
  • 完成恢復日誌後,將其更改回standby.

如果要自動化整個過程,請使用 d batools - Log Shipping functions/cmdlet

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