2010-01-04 92 views
0

我試圖找出這是否可能,但到目前爲止我還沒有找到任何好的解決方案。我想實現的是編寫一個存儲過程,可以克隆數據庫,但沒有存儲的數據。這意味着應該包含所有表,視圖,約束,鍵和索引,但不包含任何數據。可以做到嗎?克隆整個數據庫與SP

回答

0

我已經成功地使用了微軟的SQL Server數據庫發佈嚮導用於這一目的。這非常簡單,不需要編碼。下面是一個示例調用:

sqlpubwiz腳本-d數據庫名-S服務器-schemaonly C:\ Projects2 \垃圾\ DatabaseName.sql

我相信默認創建的數據和模式,但可以使用schemaonly參數。

下載地址here

5

當然 - 您的存儲過程必須讀取系統目錄視圖以找出數據庫中的對象,確定它們的潛在依賴關係,然後創建一個或一組重新創建數據庫的SQL腳本,並執行這些。

這是可能的 - 不是很好,很容易做到。尤其是對象間的依賴可能會造成更多的麻煩比最初滿足眼睛....

你還可以:

  • 使用類似SQL Server Management Studio中(如果你的SQL Server上 - 你沒有具體說明)和手動創建腳本,只是重新執行它們單獨的服務器

  • 使用「差異」的工具,像Redgate SQL Compare比較兩個服務器上,並且具有第二個帶來最新