可用性組可以取代事務複製嗎?
我一直在研究 SQL Server 2012 的新功能,以及它如何幫助我目前的情況。
目前我們在 SQL Server 2008 R2 上,並通過事務複製將兩個 OLTP 伺服器的數據庫複製到單個報告伺服器。然後我們使用這些複製的數據庫進行報告。
我對 SQL Server 2012 和可用性組是否可以替換它感興趣 - 所以我將使用新的可用性組並將兩個 OLTP 伺服器的數據庫鏡像到報告伺服器而不是事務複製 - 報告將能夠訪問只讀副本。
我不確定這是否會運作良好,甚至根本無法運作。
我想擺脫複製,因為它會導致我的部署策略出現問題(使用 VSDBCMD.exe)。我還想擺脫大型數據庫上的複制重新初始化延遲。
有沒有人有任何好的例子或經驗?是否可以按照較低版本中的正常鏡像將多個伺服器的可讀副本鏡像到單個伺服器?
這最初是在這裡提出的:https ://stackoverflow.com/questions/10415225/mirroring-and-availability-groups-in-sql2012抱歉,我認為我還不能遷移問題。
從我在 StackOverflow 上的答案中刪除,只是為了防止其他人在相同類型的答案上花費精力。
我個人認為這將比事務複製工作得更好,儘管我沒有在真正的遷移場景中對兩者進行任何正式的比較。我知道,與事務複製相比,即使與標準鏡像(這是對它的升級)相比,人們在事務複製方面遇到的麻煩也很多,你肯定會遇到更少的問題。
最大的好處是可以將輔助節點標記為只讀-因此您可以根據需要執行所有報告,並且根本不會影響鏡像。您只需要更強大的 tempdb(因為它本質上使用 rcsi 來執行此操作)。
當然,您確實需要知道 AG 的雙方都需要獲得完全許可才能將副本用於只讀操作。並且雙方都需要在特定版本的 Windows 上執行(2008 R2 及更低版本的 Enterprise 或更高版本;2012 及更高版本的 Standard 或更高版本),因為它們需要故障轉移集群 - AG 中的 SQL 實例不需要集群,但是他們需要位於作業系統中的基礎設施之上。
事務複製相對於可用性組報告工作負載的優勢
與上述答案相反,這裡有一些原因說明為什麼事務複製可能是比可用性組更好的報告工作負載的解決方案。
- 您可以複製數據庫中的一部分錶。可用性組副本始終是整個數據庫。如果某些表包含敏感資訊,如果所有報告都是針對不包含該資訊的數據庫完成的,那麼審核訪問會更容易。
- 您可以過濾被複製的行,提供精細級別的粒度。例如,您可以將部門特定資訊複製到多個部門報告伺服器,每個伺服器只能訪問其資訊。
- 您可以在發布者和訂閱者之間採用完全不同的索引策略。使用可用性組,索引是相同的,即使將在副本上創建統計資訊並將其儲存在 tempdb 中,但您無法調整複製為您提供的功能。
- 安全問題。通常,報告使用者通過使用 SSMS、access 或 excel 直接連接到數據庫,並且您只想限制他們對報告數據庫的訪問。
如果這些都不是大問題,那麼可用性組可能是更好的選擇。