没有合适的资源?快使用搜索试试~ 我知道了~
数据库备份和还原(完全备份和差额备份)-存储过程
4星 · 超过85%的资源 需积分: 9 11 下载量 145 浏览量
2010-04-02
12:45:51
上传
评论
收藏 5KB TXT 举报
温馨提示
试读
4页
数据库备份(完全备份和差额备份)的存储过程代码··可直接使用
资源推荐
资源详情
资源评论
CREATE proc p_backupdb
@dbname sysname= ' ', --要备份的数据库名称,不指定则备份当前数据库
@bkpath nvarchar(260)= ' ', --备份文件的存放目录,不指定则使用SQL默认的备份目录
@bkfname nvarchar(260)= ' ', --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间
@bktype nvarchar(10)= 'DB ', --备份类型: 'DB '备份数据库, 'DF ' 差异备份, 'LOG ' 日志备份
@appendfile bit=1, --追加/覆盖备份文件
@password nvarchar(20)= ' ', --为备份文件设置的密码(仅sql2000支持),设置后,恢复时必须提供此密码
@datatm nvarchar(100)
as
declare @sql varchar(8000)
if isnull(@dbname, ' ')= ' ' set @dbname=db_name()
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
if isnull(@bkfname, ' ')= ' ' set @bkfname= '\DBNAME\_\DATE\_\TIME\.BAK '
set @bkfname=replace(replace(replace(@bkfname, '\DBNAME\ ',@dbname)
, '\DATE\ ',convert(varchar,getdate(),112))
, '\TIME\ ',replace(convert(varchar,getdate(),108), ': ', ' '))
set @sql= 'backup '+case @bktype when 'LOG ' then 'log ' else 'database ' end +@dbname
+ ' to disk= '''+@bkpath+@datatm+@bkfname
+ ''' with '+case @bktype when 'DF ' then 'DIFFERENTIAL, ' else ' ' end
+case @appendfile when 1 then 'NOINIT ' else 'INIT ' end
+case isnull(@password, ' ') when ' ' then ' ' else ',PASSWORD= '+@password+ ' ' end
exec(@sql)
GO
资源评论
- china_sunwei2012-08-15比较简练实用
xiaoleida
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功