CREATE proc [dbo].[usp_autoBackupDB]
@dbname sysname=null --要备份的数据库名,不指定即为全部备份
,@path nvarchar(128)='d:\' --备份目录路径
,@backup_type varchar(16)='database' --备份类型,可以为database,log
,@backup_sysdb int=0 --是否备份系统数据库,0为不备份,1为备份
as
set nocount on; declare @dbcnt int =0
,@sql varchar(2000)=''
,@except_db varchar(1000)=case @backup_sysdb
when 0 then ''''+'master'+''''+','+'''' +'msdb'+''''+','+''''+'tempdb'+''''+','+''''+'model'+''''
when 1 then '' end;
declare @db_list table(id int identity(1,1) not null,name sysname);
declare @backup_err_list table(id int identity(1,1) not null,name sysname);
if right(@path,1)<>'\'
set @path=@path+'\' if @dbname is null or @dbname in ('all','*')
begin
--将所有数据库名存到一张临时表上
set @sql='select name from sys.databases where name not in ('+@except_db+');'
insert into @db_list(name) exec(@sql); --得到一共有多少个数据库
select @dbcnt=count(1) from @db_list;
--开始循环
while @dbcnt>0
begin
--从临时表中获得最后一个数据库的名字
select @dbname=name from @db_list where id=@dbcnt;
set @sql='backup '+@backup_type+' '+@dbname+' to disk='+''''+@path+@backup_type+'_'+@dbname+'.'+convert(varchar(8),getdate(),112)+'.'+DATENAME(HH,GETDATE())+''''
--开始循环备份
exec (@sql);
if @@ERROR<>0
insert into @backup_err_list(name) values(@dbname);
set @dbcnt=@dbcnt-1
end
end
else
begin
set @sql='backup '+@backup_type+' '+@dbname+' to disk='+''''+@path+@backup_type+'_'+@dbname+'.'+convert(varchar(8),getdate(),112)+'.'+DATENAME(HH,GETDATE())+''''
--仅备份一次
exec (@sql);
if @@ERROR<>0
insert into @backup_err_list(name) values(@dbname); end
if exists(select * from @backup_err_list)
select ID ,name as 'backup_err_dbname' from @backup_err_list;
else print 'backup success'; set nocount off; GO

sqlserver2008R2数据库自动备份脚本的更多相关文章

  1. svn数据库自动备份脚本

    创建一个存放备份数据的路径 mkdir /data/svnbak -p 采用shell脚本的方式实现自动备份 #vim backup.sh #!/bin/bash log="/data/sv ...

  2. mysql5.7 数据库自动备份脚本

    新建备份目录 mkdir /backups mkdir /backups/mysql 新建存放备份脚本目录 mkdir /data/scripts 备份脚本: mysql_backup.sh ==== ...

  3. oracle数据库自动备份脚本

    ::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [ ...

  4. mysql数据库自动备份脚本

    #!/bin/bash #功能说明:本功能用于备份mysql数据库 #编写日期:2018/05/17 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin ...

  5. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

  6. Windows下Oracle数据库自动备份批处理脚本

    expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...

  7. Oracle数据库的自动备份脚本

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  8. Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  9. Oracle自动备份脚本(网上找到的资料)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

随机推荐

  1. 第十五次ScrumMeeting博客

    第十五次ScrumMeeting博客 本次会议于12月4日(一)22时整在3公寓725房间召开,持续30分钟. 与会人员:刘畅.辛德泰.张安澜.赵奕.方科栋. 1. 每个人的工作(有Issue的内容和 ...

  2. 第三周:构造一个简单的LINUX系统MENUOS

    吕松鸿 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.Linux内 ...

  3. SDN可靠性相关

    A subtree-based approach to failure detection and protection for multicast in SDN FRONTIERS OF INFOR ...

  4. DHCP中续代理

    什么是DHCP中继代理? 答:DCHP中继代理(即DHCP Relay  Agent )用于转发来自于另一个没有DHCP服务器子网段中的客户端的DHCP请求,即当一台DCHP客户机发起请求后,此时DH ...

  5. 如何花样展示自己的摄影作品?强大的WebGL能力展示

    注意:Windows平台推荐使用Edge.Chrome.FireFox,部分浏览器打不开 P.S.慢慢用鼠标在图片上拖拽会感觉更神奇    

  6. Python 访问soap服务

    使用库:subs soap服务信息: 网址:http://mobile.bjmemc.com.cn/AirService/Service.asmx 功能:使用其中的GetData服务获取北京各个地点的 ...

  7. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...

  8. Fantacy团队第一次站立会议

    1.队名解释 首先队名Fantacy,并没有任何含义,想取幻想(Fantasy)之名,却并非幻想一词,因为我们组的基础并不好,幻想需要有了坚实的基础才能实现,没有基础等于空想.所以我们组的目的是,提升 ...

  9. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 3. 循环

    在前面的教程中,咪博士留了一道练习题给大家—-画正方形,相信聪明的你应该已经画出来了. 下面是咪博士实现的代码. 是不是跟你的代码很像呢? import turtle turtle.forward(2 ...

  10. BZOJ2001 [Hnoi2010]City 城市建设 CDQ分治

    2001: [Hnoi2010]City 城市建设 Time Limit: 20 Sec  Memory Limit: 162 MB Description PS国是一个拥有诸多城市的大国,国王Lou ...