一次性備份SQL Server中所有的資料

2022-03-11 13:36:31 字數 2042 閱讀 2445

備份處理的儲存過程   

set ansi_nulls on

set quoted_identifier on

go/*--備份所有資料庫  

備份的檔名為資料庫名+日期+.bak  

將所有的使用者資料庫(或指定的資料庫列表)  

備分到指定的目錄下.   

/*--呼叫示例  

--備份所有使用者資料庫  

exec   p_backupdb   @bkpath='d:\',@dbname=''  

--備份指定資料庫  

exec   p_backupdb   @bkpath=d:\',@dbname='資料庫名稱'  

--*/  

create  proc   [dbo].[p_backupdb]  

@bkpath   nvarchar(260)='d:\', --備份檔案的存放目錄,不指定則使用sql預設的備份目錄  

@dbname   nvarchar(4000)='' --要備份的資料庫名稱列表,不指定則備份所有使用者資料庫  

asdeclare   @sql   varchar(8000)

declare @strdate nvarchar(200)

set @strdate = convert(nvarchar(10),getdate(),120)

set @strdate = replace(@strdate, '-' , '')

--檢查引數  

if   isnull(@bkpath,'')=''  

begin  

select   @bkpath=rtrim(reverse(filename))   from   master..sysfiles   where   name='master'  

select   @bkpath=substring(@bkpath,charindex('\',@bkpath)+1,4000)  

,@bkpath=reverse(substring(@bkpath,charindex('\',@bkpath),4000))+'backup\'  

end  

else   if   right(@bkpath,1)<>'\'   set   @bkpath=@bkpath+'\'  

--得到要備份的資料庫列表  

if   isnull(@dbname,'')=''  

declare   tb   cursor   local   for  

select   name   from   master..sysdatabases   where   name   not   in('master','tempdb','model','msdb')  

else  

declare   tb   cursor   local   for  

select   name   from   master..sysdatabases  

where   name   not   in('master','tempdb','model','msdb')  and(name  like  '%'+@dbname+'%') 

--備份處理  

open   tb  

fetch   next   from   tb   into   @dbname  

while   @@fetch_status=0  

begin  

set   @sql='backup   database   '+@dbname  

+'   to   disk='''+@bkpath+@dbname +'_'+@strdate 

+'.bak''   with   format'  

exec(@sql)  

fetch   next   from   tb   into   @dbname  

end  

close   tb  

deallocate   tb  

go大家有空可以多多關顧我的個人小站:

一次性成功

沒有人能隨隨便便成功 最近察覺到自己思維的乙個誤區,希望實現的目標第一次就成功,順順利利跳過失敗。這是大家都想要的結局,美好的期望總被現實的波浪所淹沒,因為失敗是避免不了的。一次性成功的想法導致焦慮,困惑,自我懷疑,這個時候如果放低要求換個角度思考,第一次失敗又如何,如果失敗了倒下了哪有怎樣?只要自...

集中問題,一次性出擊

在工作中,總會遇到很多的問題,有些時候有些人會找你處理很多的問題,很多的問題甚至與是由於別人導致的,但是卻需要你來處理,這導致你的工作量非常大.於是你會抱怨,你不想為該使用者處理問題,但是當你將問題提交到領導那裡的時候,領導諮詢到底是什麼問題,領導會忽略掉你的情緒,看事實,你忽然發現你只是記得別人有...

一次性密碼本

一 什麼是一次性密碼本 只要通過暴力破解法對金鑰空間進行遍歷,無論是什麼密文總有一天都能夠被破譯,然而,一次性密碼本是個例外。即使用暴力破解法遍歷整個金鑰空間,一次性密碼本也絕對無法被破解。二 一次性密碼本的加密 三 一次性密碼本的解密 四 一次性密碼本是無法破譯的 我們假設對一次性密碼本的密文嘗試...