一次性備份SQL Server中所有的資料
本文原始來自網上一篇文章,不過原始的儲存過程有些問題,本文經過驗證並進行了進一步的修正,增加了備份的時候自動增加備份日期,文章內容如下:
備份處理的儲存過程
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)='' --要備份的資料庫名稱列表,不指定則備份所有使用者資料庫
as
declare @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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-625025/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jtti:sql server怎麼增量備份資料庫JttiSQLServer資料庫
- SQL SERVER備份資料庫檔案(使用SSMS)SQLServer資料庫SSM
- SQL SERVER 2012資料庫自動備份的方法SQLServer資料庫
- SQL Server2019資料庫備份與還原指令碼,資料庫可批量備份SQLServer資料庫指令碼
- SQL Server 查詢資料庫中所有表資料條數SQLServer資料庫
- SQL Server資料庫備份保護的關鍵UMSQLServer資料庫
- SQL資料庫備份管理SQL資料庫
- 【SQL Server】本地備份和還原SQLServer
- 詳解SQL Server 2012資料庫備份與還原的教程SQLServer資料庫
- SQL Server實戰一:建立、分離、附加、刪除、備份資料庫SQLServer資料庫
- SQL Server中使用臨時表進行資料備份與恢復SQLServer
- 如何將SQL Server 2000備份的資料庫檔案還原(升級)為SQL Server 2005或更高版本的資料庫?SQLServer資料庫
- 怎樣在SQL Server搭建主從備份SQLServer
- [學習筆記]SQL server完全備份指南筆記SQLServer
- SQL Server資料庫判斷最近一次的備份執行結果SQLServer資料庫
- KOSQL Server2019資料庫備份與還原指令碼(批量備份)zrbSQLServer資料庫指令碼
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- Mysql許可權管理以及sql資料備份MySql
- SQL Server資料庫建立遠端伺服器備份計劃(小白詳細圖文教程)SQLServer資料庫伺服器
- SQL server 修改表資料SQLServer
- 資料庫映象 (SQL Server)資料庫SQLServer
- SQL Server資料庫安全SQLServer資料庫
- QQ 空間備份神器,一鍵備份你所有的青春!
- js去掉字串中所有的空格JS字串
- 網站搬家時匯入SQL Server備份檔案失敗網站SQLServer
- 初探MySQL資料備份及備份原理MySql
- MySQL資料備份MySql
- 資料庫備份資料庫
- Rsync 資料備份
- 備份onetab資料
- mongo資料備份Go
- Blazor使用sql server 資料庫BlazorSQLServer資料庫
- SQL Server資料庫巡檢SQLServer資料庫
- sql server 2005資料庫快照SQLServer資料庫
- SQL Server收縮資料庫SQLServer資料庫
- sql server 資料庫收縮SQLServer資料庫
- SQL Server資料庫遷移SQLServer資料庫
- SQL Server-資料型別SQLServer資料型別
- 管理SQL Server資料庫安全SQLServer資料庫