程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sqlserver 復制表 復制數據庫存儲過程的方法

sqlserver 復制表 復制數據庫存儲過程的方法

編輯:更多數據庫知識

在目前的工作中需要解決復制整個SqlServer數據庫的問題,復制的內容包括數據庫大綱、數據庫中的存儲過程、函數、表結構、主外鍵關系以及表中的所有數據等,也就是說copy版本與原數據庫一模一樣。經過一段時間的摸索,找到的一個比較簡單的解決方案是: 
(1)在復制數據庫之前,先備份該數據庫到文件。 
(2)依據備份文件創建新的數據庫,並Restore即可。 
備份數據庫可用如下Sql語句: 
string.Format("backup database {0} to disk = '{1}';", dbName, bakFilePath)  依據備份文件創建並Restore新數據庫可以使用如下存儲過程實現: 
復制代碼 代碼如下:
CREATE PROCEDURE CopyDB  
(  
@newDbName varchar(50),  --新數據庫名稱  
@dbDataDirPath varchar(100), --數據庫安裝的Data文件夾目錄路徑  
@soureDbName varchar(100), --源數據庫名稱  
@soureBackupFilePATH varchar(100)--源數據庫備份文件的路徑  
)  
AS  
declare @sql varchar(3000)  
set @sql='  
create database '+@newDbName+'  
ON  
(  
  name='+@soureDbName+'_Data,  
  filename='''+@dbDataDirPath+@newDbName+'_Data.mdf'',  
  SIZE = 10,  
  FILEGROWTH = 15%  
)  
LOG ON  
(  
  name='''+@soureDbName+'_Log'',  
  filename='''+@dbDataDirPath+@newDbName+'_Log.LDF'',  
  SIZE = 5MB,  
  MAXSIZE = 25MB,  
  FILEGROWTH = 5MB  
)  
--開始還原  
RESTORE DATABASE '+@newDbName+' from disk='''+@soureBackupFilePATH+''' WITH REPLACE  
'  
exec(@sql)  
GO

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved