设为首页 加入收藏

TOP

使用T-SQL进行数据库备份并检查该备份文件是否存在且作出相应处理(二)
2014-11-24 01:41:43 来源: 作者: 【 】 浏览:11
Tags:使用 T-SQL 进行 数据库 备份 检查 文件 是否 存在 作出 相应 处理
ata',
'E:\开发软件\数据库\SQl2005示例数据库\AdvWorksData.bak'
BACKUP DATABASE AdventureWorks
TO AdvWorksData
end

改进,如果该备份文件已经存在使用当前系统日期时间作为文件名的一部分,这样每次备份几乎就不可能出现同名数据累加的现象了

代码
USE master
GO
declare @num int --申明一个接受返回值的变量
EXEC xp_fileexist 'E:\开发软件\数据库\SQl2005示例数据库\AdvWorksData.bak',@num output -- 执行文件存在否的验证 存在返回1 不存在返回0
if(@num = 1) --如果存在就给出提示或做其他功能的实现
begin
declare @file varchar(120),@name varchar(30)
set @file = 'E:\开发软件\数据库\SQl2005示例数据库\AdvWorksData_'+ replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-','_'),' ','_'),':','')+'.bak'
set @name = 'AdvWorksData'+CONVERT(VARCHAR(30),GETDATE(),9)
print '备份文件已经存在,自动按照日期重新命名进行备份'
EXEC sp_addumpdevice 'disk',@name , @file
BACKUP DATABASE AdventureWorks
TO @name
end
else --该文件不存在执行备份操作
begin
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'E:\开发软件\数据库\SQl2005示例数据库\AdvWorksData.bak'
BACKUP DATABASE AdventureWorks
TO AdvWorksData
end

注意:E:\开发软件\数据库\SQl2005示例数据库\ 该文件是已经事先创建好了的,还可以判断文件是否存在然后进行处理,但考虑一般备份文件的时候都有事先建立文件夹的习惯,所以这里不做处理。

摘自:红枫叶

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇T-SQL日期处理总结 下一篇SQL Server2012 T-SQL对分页的增..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: