SqlServer整庫備份還原腳本


一。整備數據庫

腳本分為兩部分,一部分是批處理文件(dbbak.bat),一部分為SQL文件(dbbak.sql ),兩個文件要放在同一個目錄下。

批處理文件中為主文件,真正的數據庫備份操作是在SQL文件中完成的。

1.批處理文件內容 

sqlcmd -S 192.168.56.36 -Usa -Ppassword -i .\dbbak.sql -o .\dbbak.log

說明:

sqlcmd -S <數據庫IP地址> -U<數據庫用戶> -P<數據庫密碼> -i <需執行的SQL文件名稱> -o <執行結果日志文件>

sqlcmd:為Sqlsever2005后自帶的命令行工具,可以執行SQL文件。

2.SQL文件內容如下

declare @date nvarchar(10) --定義日期變量
set @date = CONVERT(nvarchar(10),getdate(),112) --為日期變量賦當前日期,日期格式為 yyyymmdd 舉例 20170830
declare @path nvarchar(250) -- 定義備份路徑變量
set @path = 'D:\dbbak\' --賦值
declare @db_filename nvarchar(150) --定義文件名變量
set @db_filename = @path + 'db_'+@date+'.bak' --拼字符串,形成完整的備份文件路徑
backup database DBNAME TO DISK=@db_filename --執行數據庫備份操作,注意 DBNAME為你實際要備份的數據庫名,記得改

 

 

二。還原數據庫

腳本分為兩部分,一部分是批處理文件(dbrestore.bat),一部分為SQL文件(dbrestore.sql ),兩個文件要放在同一個目錄下。

1.批處理文件內容 

sqlcmd -S 192.168.56.36 -Usa -Ppassword -i .\dbrestore.sql  -o .\dbrestore.log

說明:

sqlcmd -S <數據庫IP地址> -U<數據庫用戶> -P<數據庫密碼> -i <需執行的SQL文件名稱> -o <執行結果日志文件>

sqlcmd:為Sqlsever2005后自帶的命令行工具,可以執行SQL文件。

2.SQL文件內容如下

declare @date nvarchar(10) --定義日期變量
set @date = CONVERT(nvarchar(10),getdate(),112) --為日期變量賦當前日期,日期格式為 yyyymmdd 舉例 20170830
declare @path nvarchar(250) -- 定義備份路徑變量
set @path = 'D:\dbbak\' --賦值
declare @db_filename nvarchar(150) --定義文件名變量
set @db_filename = @path + 'db_'+@date+'.bak' --拼字符串,形成完整的備份文件路徑
restore database DBNAME from DISK=@db_filename --執行數據庫還原操作,注意 DBNAME為你實際要備份的數據庫名,記得改

 

 

enjoy :]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM