create proc bakup_database
as declare @strpsw varchar(50)
declare @strusr varchar(50)
declare @strcmdshell varchar(300)
declare @strdatabasename varchar(20)
declare @fullfilename varchar(200)
declare @fileflag varchar(50)
declare @tofilename varchar(200)
declare @sqlstr varchar(500)
declare @sqlstr2 varchar(500)
declare @flagdel varchar(20)
set @fileflag=replace(replace(convert(char(20),getdate(),20),':','-'),' ','-') --備份的檔案命名規則:日期-時間.bak
set @strusr='152.168.2.202\administrator' --需填寫網域名稱\使用者名稱(目標機器的windows登陸名)
set @strpsw='jiang'--需填寫windows登陸密碼(如:soondy)
set @strcmdshell= 'net use ' + @strpsw + '/user:' +@strusr --需填寫ip(目標機器的ip位址,如:192.168.2.178)
set @strdatabasename='fs_me'--填寫資料庫名稱(如:soondy)
set @fullfilename='e:\'+@fileflag+'.bak'--需填寫本地備份臨時檔案的目錄,因為需要先備份到本地再copy到目標機器(如:儲存目錄為e:\soondytest\)
set @tofilename='\\152.168.2.202\share\' --需填寫ip(目標機器的ip位址)以及儲存的目錄(如:\\192.168.2.178\c$\test\)
set @flagdel='false'--填寫true表示刪除本地的備份臨時檔案,填寫false或其他字元表示保留該檔案
set @sqlstr='copy '+@fullfilename+'
'+@tofilename
set @sqlstr2='del ' +@fullfilename
backup database @strdatabasename to disk= @fullfilename with init
exec master..xp_cmdshell @strcmdshell--嘗試連線到目標機器
exec master..xp_cmdshell @sqlstr --拷貝到目標機器上
if (@flagdel ='true') exec master.. xp_cmdshell @sqlstr2--刪除本地的備份臨時檔案
go然後建立乙個作業即可!
資料庫備份儲存過程
use wechat go object storedprocedure dbo p backupdb script date 2017 11 22 11 38 23 set ansi nulls on goset quoted identifier on gocreate proc dbo p b...
資料庫作業備份儲存過程
declare strpath nvarchar 200 set strpath convert nvarchar 19 getdate 120 set strpath replace strpath,set strpath g 備份 datebase strpath bak backup data...
備份的資料庫儲存過程
備份的資料庫儲存過程 alter proc p backupdb dbname sysname 要備份的資料庫名稱,不指定則備份當前資料庫 bkpath nvarchar 260 備份檔案的存放目錄,不指定則使用sql預設的備份目錄 bkfname nvarchar 260 備份檔案名,檔名中可以用...