Sql-Server
報告鏡像或複制的最佳解決方案?
您好我有 SQL SERVER 2008R2 數據中心版,我使用 SSRS 和供應商應用程序進行報告。我有一個報告伺服器,我們每天從 Live Server 備份和恢復,以便為我們的報告提供可用數據。
因此,我面臨許多問題,因此開發的任何程式碼都必須等待一天,直到還原完成才能進行測試。在 Reporting Server 上開發的任何程式碼都會被覆蓋。出人意料的意外報告顯示了一天前的數據,我可以繼續說下去。
我知道我有兩個可用的鏡像和複製選項:
鏡像將允許只讀模式並且報告執行正常嗎?這種只讀模式是否還有我遺漏的其他含義?
複製我在所有表上都沒有主鍵,所以我只剩下使用全域唯一標識符 (GUID) 的合併複製選項,我不能讓 sql server 將此列添加到我的數據庫中的所有表中。
任何人都可以告訴我一個解決方案,以便在另一台伺服器上擁有 Sql Server 數據庫的實時副本以用於報告目的?
我的要求
- 我可以忍受幾分鐘的舊數據。
- 在生產伺服器上所做的任何更改都需要復製到報告伺服器,即數據、Sql Server 對象(表、視圖、儲存過程、一切)
- 在報告伺服器上創建的任何對像都不需要復製到生產伺服器/數據庫。
請告知任何解決方案,因為這將是一個很大的幫助,謝謝您。
僅使用鏡像是不夠的,因為鏡像輔助不可用於查詢。您必須創建和維護快照,這可能很煩人。
您的選擇沒有特別的順序:
- 使用快照進行鏡像:有效但有管理成本。
- 備份和恢復:您是從完整備份而不是差異或日誌中恢復嗎?如果是這樣,您也許可以減少花費在還原上的時間。
- 日誌傳送:管理成本,應用日誌備份時數據庫不可用
- 複製:從管理角度來看具有挑戰性,並非真正用於同步完整數據庫
- 來自事務性數據庫的報告 - 由於未經證實的性能問題,該選項經常被丟棄。這些擔憂也可以通過使用資源調控器、快照隔離等來緩解。這是一個未充分利用的選項,IMO。
- 使用 SSIS 或類似工具的 ETL。但是,您必須進行自己的架構更改。
- 可用性組,如果您可以升級到 2012(我假設您使用的是 2008 R2)。這確實是當今最好的選擇。
- Idera 製作了一個名為 Virtual Database 的工具,允許您掛載和查詢備份文件。在某些情況下,這是一個有趣的選擇。
如果不了解有關您的環境的更多資訊,很難做出明確的建議。我已經使用了這些方法中的大多數,取得了不同程度的成功。請注意,大多數地方最終都會為報告和分析建構更強大的數據集市/數據倉庫,因此您可能有一天會使用 ETL 路線。
哦,請確保您已獲得輔助伺服器的許可;)