Sql-Server
如何在 SQL Server 中創建結核病報告數據庫的開發/測試環境
我正在研究幾個大型報告數據庫,其中包含大量報告和分析查詢以及許多 ETL 作業。當我在生產中進行更改時,我通常會更改索引或程式碼。
更改一些程式碼後發生了一次小事故,所以我正在考慮開始創建開發/測試環境。
但是數據庫很大,有一些巨大的表。數據庫位於具有大量 CPU 核心和記憶體的大型伺服器上。如何在我自己的電腦上以開發者版製作一個輕量級的測試環境?
另一種選擇是在生產伺服器上創建一個測試環境,它是一個數據倉庫伺服器(即無論如何都有很多臨時查詢)。這是更好的方法嗎?我只需要恢復備份並將數據庫命名為其他名稱…
數據庫中有許多依賴項,因此手動編寫所有對象的腳本工作量太大。例如,一些儲存過程使用大約 100 個表…
所以我的問題是:我怎樣才能停止直接在生產中進行所有更改?
謝謝
最好的選擇是擁有一個單獨的開發/測試伺服器,您可以在其中擁有數據倉庫的完整實例。如果你沒有單獨的伺服器,你可以使用 Azure 虛擬機(或類似的),在不使用時可以關閉它。
而且您還應該有一個本地開發環境,可能包含數據的子集。這使團隊可以並行工作而不會互相干擾。
如果您只有一台伺服器,您可以將開發/測試數據庫和生產數據庫放在一起,但您必須注意不要過度使用伺服器上的資源。
直接針對生產數據倉庫執行一些開發/測試活動也是完全合適的。例如,當您建構或修改報告時,而不是當您修改表、視圖或儲存過程,或處理 ETL 作業時。一個好的經驗法則是,如果工作需要的不僅僅是 SELECT 權限,則不應直接在生產環境中完成。