Sql-Server

SP 用於恢復數據庫並在其上執行其他任務

  • January 24, 2013

我正在為我們的 QA 部門創建一個儲存過程,它將執行以下操作:接受特定輸入以生成一致的名稱,恢復數據庫(給它生成的名稱,)設置數據庫以進行複制(三個合併發布),然後初始化這三個出版物的快照。

不要擔心這個的複制部分,到目前為止我已經處理好了。我想知道的是:

恢復數據庫的最有效/最有效的方法是什麼?它會從備份中恢復(他們將從中恢復的 2 個數據庫是 1.5gb 和 599mb)還是另一種方式?如果不是來自 .bak 文件,您認為還有什麼其他的恢復方式是合適的?

:: 嚴格來說,這需要使用 TSQL ::

謝謝你,韋斯


這是我使用的腳本

真正備份數據庫的唯一方法是創建數據庫的備份(使用 BACKUP DATABASE)。所有其他方法(腳本數據庫架構和內容、複製文件、作業系統文件快照)都是解決方法,而不是數據庫備份。

因此,正如我所見,將數據庫從一個地方復製到另一個地方的最佳方法是從備份中恢復它(RESTORE DATABASE)。在我看來,沒有其他有效和更有效的方法。無論如何,那是我的 2 美分。

現在,為了做好所有這些準備工作,我將創建不同的儲存過程(使用動態 sql 來建構正確的名稱、路徑等):

  • 從特定位置恢復數據庫;
  • 準備特定的權限->可能是不同的使用者..等;
  • 準備複製對象;

PS:如果可能,請確保啟用備份壓縮,因為它確實有助於提高大小和速度。

PS2:考慮到您的備份文件大小,我不會太擔心操作的持續時間。即使在普通的開發人員盒子上也應該很快。

引用自:https://dba.stackexchange.com/questions/33484