SQL2005 自动备份的脚本

此版本是始终只有最新的一版(我自己的用的是版本是每天都有一个备份)


复制代码 代码如下:

declare @dbname varchar(200)

set @dbname=’reportserver$sql2005′

–截断日志

dump transaction @dbname with no_log

–收缩数据库

dbcc shrinkdatabase (@dbname,truncateonly)

–备份数据库

use master

declare @version varchar(20)

declare @dateappend varchar(20)

declare @basepath varchar(200)

declare @bakpath varchar(200)

–设定备份的基本目录

set @basepath=’f:\tmp’

–设定版本,每个版本的备份放在不同的地方

set @version=’v6.1′

–设定备份的完整路径

set @bakpath=@basepath+’\’+ @version +’\db.bak’

use master

–创建备份设备,如果存在则无需建立

if exists(select * from sysdevices where name=’ctos_db_bak’)

begin

exec sp_dropdevice ‘ctos_db_bak’

declare @tmpcmd varchar(100)

set @tmpcmd=’del ‘ + @bakpath

exec sp_configure ‘show advanced options’,1

reconfigure

exec sp_configure ‘xp_cmdshell’, 1

reconfigure

exec master..xp_cmdshell @tmpcmd

exec sp_configure ‘show advanced options’, 1

reconfigure

exec sp_configure ‘xp_cmdshell’, 0

reconfigure

end

exec sp_addumpdevice ‘disk’,’ctos_db_bak’,@bakpath

–备份数据库

backup database @dbname to ctos_db_bak

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐