2013-10-01 73 views
0

有一個運行SQL Server的Windows 2008 Server作爲大數據解決方案。 (生產)數據庫大約爲1TB。現在,所有的測試和開發都是針對這臺生產服務器的。爲大型生產數據庫創建開發環境

我被告知,複製數據庫或備份數據庫對於開發數據庫來說是不可能的,因爲沒有額外的服務器可供使用。數據庫的大小似乎是另一個限制,因爲它很大。不僅如此,這個數據庫無疑會很快增長(5TB)。

在這種情況下,如何設置開發環境來測試和開發數據庫?

+10

如果您希望您的公司保持業務,請立即停止測試並針對生產進行開發。這不是一個「如果」的問題,只是一個「什麼時候」出現可怕的錯誤,並且丟失了有價值的數據的問題。你需要一個開發環境,期限。開發數據庫不必擁有生產中的所有數據,只要它具有相同的模式和合理的樣本集即可處理。 –

+2

理想情況下,您的開發環境儘可能模仿生產。如果由於硬件限制而無法實現這一點,您有兩種選擇:(1)針對生產進行開發,或者(2)將開發數據庫調低,直至滿足硬件限制。 (1)非常邪惡,它要求解決方案(2),這意味着性能測試必須在實時服務器上仔細測試。對於不改變的查詢,對於改變數據的查詢,這可以很好......你必須有機會將邏輯錯誤過濾掉,只有性能現在可能成爲問題。 – Wrikken

+3

//我被告知,由於沒有額外的服務器使用,所以對於開發數據庫來說是不可能的。//這是瘋了。如果公司在財務上處於「泡沫」階段,就不能購買一臺用於開發和非生產用途的服務器。 – granadaCoder

回答

2

兩個選項:

  1. 創建相同的SQL Server實例中一個新的數據庫。
  2. 創建一個運行在同一物理機器上的新SQL Server實例。

我推薦後者,因爲交叉風險較小,登錄名和用戶將全部分開,這意味着您可以保護您的生產環境免遭意外訪問。

有關實例的詳細信息,你可以看看here

來填充您的新實例,你可以從你的生產環境,只需要該數據的一部分設立的提取物。這樣你就不必有兩倍的磁盤空間。您應該可以使用Sql Server Integration Services。開始使用here

P.S.你真的應該得到一個完全獨立的開發環境,但這聽起來像是他們不讓你參與重大決策。

+0

如果他們要這樣做,他們也可以讓開發者在他們的本地盒子上安裝SQL Developer,並且有一個非常精細的數據版本。 – NotMe

+1

雖然我認識到我的答案的惡劣氣味,並且能夠理解需要打擊downvote按鈕的情感,但我必須指出,我是唯一一個真正回答問題的人,因爲所述的限制 - 其他人都只是告訴這個可憐的人告訴他的老闆做一些他不會去做的事情。 <3 –

+0

好的解釋,投票改變了。 – NotMe