2013-04-18 159 views
1

我有一個示例數據庫,在我的asp.net項目中,我需要用另一個名稱創建該數據庫的副本。我正在考慮用存儲過程來完成它。通過存儲過程創建數據庫的副本

可能嗎?如果是這樣,怎麼樣?

+5

備份,然後用新名稱恢復? http://msdn.microsoft.com/en-gb/library/aa176752(v=sql.80).aspx –

+0

不知道它是否可能,買什麼?如果您有權訪問服務器以添加新數據庫,只需進入SQL管理並克隆數據庫即可。 – Limey

+0

請查看此博客文章[sample sql code](http://weblogs.asp.net/mschwarz/archive/2004/08/26/220735.aspx) –

回答

8

做到這一點,最簡單的方法是做一個備份和數據庫的恢復:

backup database YourDatabaseName 
to disk = 'C:\Yourbackupdir\BackupFile.bak' 
with copy_only; 
go 

然後你就可以做相應的恢復:

restore database YourNewDatabaseName 
from disk = 'C:\Yourbackupdir\BackupFile.bak'; 
go 

同樣地,如果這是在相同的服務器或者如果您沒有類似的數據庫文件的目錄結構,則可能需要指定MOVE子句:

restore database YourNewDatabaseName 
from disk = 'C:\Yourbackupdir\BackupFile.bak' 
with 
    move 'YourDataFileName' to 'C:\NewLocation\DataFile1.mdf', 
    move 'YourLogFileName' to 'C:\NewLocation\LogFile1.ldf'; 
go 

您可以通過運行restore filelistonly from disk = 'C:\Yourbackupdir\BackupFile.bak';來獲取文件列表。

+0

非常感謝。這是個好主意。 – user571874

+0

+1對於'with copy_only' –