主頁 > 知識(shí)庫 > 復(fù)制SqlServer數(shù)據(jù)庫的方法

復(fù)制SqlServer數(shù)據(jù)庫的方法

熱門標(biāo)簽:福州外呼系統(tǒng)招商 百度地圖標(biāo)注信息怎么修改 四川穩(wěn)定外呼系統(tǒng)公司 溫州語音外呼系統(tǒng)排名 AI智能云呼電話機(jī)器人怎么注冊(cè) 商家地圖標(biāo)注圖片 沈陽外呼系統(tǒng)有效果嗎 電話機(jī)器人接口是什么樣的 怎么在高德地圖標(biāo)注多個(gè)點(diǎn)
在目前的工作中需要解決復(fù)制整個(gè)SqlServer數(shù)據(jù)庫的問題,復(fù)制的內(nèi)容包括數(shù)據(jù)庫大綱、數(shù)據(jù)庫中的存儲(chǔ)過程、函數(shù)、表結(jié)構(gòu)、主外鍵關(guān)系以及表中的所有數(shù)據(jù)等,也就是說copy版本與原數(shù)據(jù)庫一模一樣。經(jīng)過一段時(shí)間的摸索,找到的一個(gè)比較簡單的解決方案是:
(1)在復(fù)制數(shù)據(jù)庫之前,先備份該數(shù)據(jù)庫到文件。
(2)依據(jù)備份文件創(chuàng)建新的數(shù)據(jù)庫,并Restore即可。
   備份數(shù)據(jù)庫可用如下Sql語句: 
復(fù)制代碼 代碼如下:

string.Format("backup database {0} to disk = '{1}';", dbName, bakFilePath) 
  依據(jù)備份文件創(chuàng)建并Restore新數(shù)據(jù)庫可以使用如下存儲(chǔ)過程實(shí)現(xiàn): 
復(fù)制代碼 代碼如下:

CREATE PROCEDURE CopyDB 

@newDbName varchar(50),  --新數(shù)據(jù)庫名稱 
@dbDataDirPath varchar(100), --數(shù)據(jù)庫安裝的Data文件夾目錄路徑 
@soureDbName varchar(100), --源數(shù)據(jù)庫名稱 
@soureBackupFilePATH varchar(100)--源數(shù)據(jù)庫備份文件的路徑 

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 

   測試的代碼如下: 
 
復(fù)制代碼 代碼如下:

               IListSPParameter> paraList = new ListSPParameter>(); 
                SPParameter para1 = new SPParameter("newDbName", ParameterDirection.Input, "EASNew9"); 
                paraList.Add(para1); 
                SPParameter para2 = new SPParameter("dbDataDirPath", ParameterDirection.Input, @"C:\Program Files\Microsoft SQL Server\MSSQL\Data\"); 
                paraList.Add(para2);  
                SPParameter para3 = new SPParameter("soureDbName", ParameterDirection.Input, "AutoSchedulerSystem"); 
                paraList.Add(para3); 
                SPParameter para4 = new SPParameter("soureBackupFilePATH", ParameterDirection.Input, @"d:\sqlDatabase\AutoSchedulerSystem"); 
                paraList.Add(para4); 
                IDictionarystring, object> outParas = null; 
                Program.DataAccesser.GetSPAccesser(null).ExcuteNoneQuery("CopyDB", paraList, out outParas);
您可能感興趣的文章:
  • SqlServer將數(shù)據(jù)庫中的表復(fù)制到另一個(gè)數(shù)據(jù)庫
  • sqlserver 復(fù)制表 復(fù)制數(shù)據(jù)庫存儲(chǔ)過程的方法
  • sqlserver復(fù)制數(shù)據(jù)庫的方法步驟(圖文)

標(biāo)簽:邯鄲 來賓 西寧 無錫 營口 寶雞 七臺(tái)河 汕尾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《復(fù)制SqlServer數(shù)據(jù)庫的方法》,本文關(guān)鍵詞  復(fù)制,SqlServer,數(shù)據(jù)庫,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《復(fù)制SqlServer數(shù)據(jù)庫的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于復(fù)制SqlServer數(shù)據(jù)庫的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章