2009-05-29 66 views

回答

9

簡而言之,鏡像允許您讓第二臺服務器成爲主服務器的「熱」備份副本,隨時可以接管主服務器發生故障的任何時刻。所以鏡像提供故障切換和可靠性。另一方面,複製允許兩臺或更多服務器保持「同步」 - 這意味着輔助服務器可以回答查詢並且(取決於設置)實際更改數據(它將在同步中合併)。您還可以將其用於本地緩存,負載平衡等。

4

鏡像是一種可在位級創建數據庫副本的功能。基本上你在兩個地方有相同的,相同的數據庫。您不能選擇忽略數據庫的某些部分。您只能擁有一個鏡像,並且「鏡像」始終處於脫機狀態(無法修改)。鏡像通過將正在創建的數據庫日誌傳送到鏡像並在鏡像上應用(重做)日誌來工作。鏡像是高可用性和災難可恢復性的技術。

複製是一個功能,允許在多個站點之間複製數據庫的「切片」。 「切片」可以是一組數據庫對象(即表格),但它也可以包含表格的一部分,如只有特定的行(水平切片)或只有特定的列才能被複制。您可以有多個副本,「副本」可用於查詢,甚至可以更新。複製通過跟蹤/檢測更改(通過觸發器或通過掃描日誌)並將更改(作爲T-SQL語句)發送給訂戶(副本)來工作。複製是一種在非現場提供數據並將數據整合到中央站點的技術。雖然它有時用於高可用性或災難恢復能力,但它對於更好地反映和記錄傳送地址的問題是人爲使用的。

複製有多種類型和風格(合併,交易,對等等),它們在實施變更跟蹤或更新傳播方式上有所不同,如果您想知道更多詳細信息,請閱讀MSDN spec on the subject

1

數據庫鏡像用於增加數據庫的正常運行時間和可靠性。

複製主要用於將主數據庫的一部分(發佈者)分發到一個或多個訂戶數據庫。這通常是爲了使遠程服務器上的數據可用(通常用於只讀),以便遠程客戶端可以在本地(對他們)訪問數據,而不是通過較慢的WAN連接直接從發佈者訪問數據。儘管如前面的帖子所指出的那樣,但是更復雜的場景允許用戶進行更新。它還可以減少發佈者的I/O負載。

9

A.)鏡像: - 鏡像數據庫無法讀取或寫入訪問。

複製: - 用戶數據庫(備份站點)已開放讀取和寫入。

B.)鏡像: - 信息流將是隻有一條路(從校長到鏡像服務器)

複製: - 的變化可以被合併,雙向變化可以作出,因此信息從發佈商流向訂閱者,反之亦然。

C.)鏡像: - 在主數據庫發生故障的情況下,鏡像數據庫將接管該控制並將充當主體,並且可以自動重定向應用程序以連接到此新主體服務器。停機時間很少。應用程序中不需要更改代碼。

複製: - 在對發行失敗的情況下,應用程序需要手動重新定向到訂戶(如果你真的想這樣做),需要在應用程序或連接字符串代碼更改。

D.)鏡像: - 幾乎數據庫中的所有內容都被複制到容災站點,容易複製模式更改。

複製: - 您可以選擇在數據庫中複製選定的一組表/ SP /函數,模式更改可能會導致一些打嗝。

總之,鏡像是DR(災難恢復)用很少的停機時間的好工具,但缺點是DR站點將是用戶訪問,而複製可用於兩者之間的合併數據由於用戶可以訪問備份站點,因此服務器可以充當報告用途的好工具,也可以採用災難恢復解決方案。

這一切都取決於您的需求,業務需求是什麼,這將有助於您在環境中選擇正確的拓撲。

0

數據庫鏡像是一種SQL服務器技術,它在不同的SQL Server實例上維護數據庫的副本,而數據庫複製指的是複製數據並將這些副本從一個數據庫分發到另一個數據庫的技術組。不像可複製的可擴展性,而複製對於近實時報告來說是理想的。 我找到了一個有用的博客,可以清除你的概念: http://www.differencebetween.info/difference-between-database-mirroring-and-replication