您好,欢迎访问一九零五行业门户网

全自动备份vss和sql数据库(含源码下载)

前言 visual source safe 里有代码,sql server 里有数据,这就是项目的全部。 拥有他们就拥有了全部,所以这些东西的安全实在是重要。 本文以批处理的方式,实现了全自动备份vss和全部sql数据库的功能。 备份数据库: 采用osql调用sql脚本的方式,自动备份
前言visual source safe 里有代码,sql server 里有数据,这就是项目的全部。
拥有他们就拥有了全部,所以这些东西的安全实在是重要。
本文以批处理的方式,实现了全自动备份vss和全部sql数据库的功能。
备份数据库:
采用osql调用sql脚本的方式,自动备份全部数据库,并导出执行结果。
备份数据库的批处理文件(auto_backup_db.bat),他采用信任连接的方式调用auto_backup_db.sql脚本实现备份功能,
并将备份的日志写入backup_database_log.txt,为避免重名覆盖将文件名修改为backup_database_log_%date%.txt,
形如:backup_database_log_2011-10-09.txt。
@echo off
@echo start to backup database
osql -e -i auto_backup_db.sql -o backup_database_log.txt
@echo finished backup database
for /f tokens=1-3 delims=- %%i in ('date /t') do set date=%%i-%%j-%%k
rename backup_database_log.txt backup_database_log_%date%.txt
@echo on
备份数据库sql脚本auto_backup_db.sql如下,请根据情况修改文件备份路径:
use master
go
declare @bak_path nvarchar(200)
declare @bak_file_name nvarchar(200)
--设置文件备份路径
set @bak_path = 'e:\databasebak'
--利用游标遍历,逐个备份数据库
declare @db_name sysname
declare cur_database cursor for
select [name]-- 查询所有数据库
from sys.databases
where [state] = 0 -- 0 = online 在线状态
and [name] not in ( 'master', 'model', 'msdb', 'tempdb', 'reportserver','reportservertempdb')
--系统数据库、演示数据库除外
open cur_database
fetch next from cur_database into @db_name
while ( @@fetch_status = 0 )
begin
--设置备份文件名称,形如:dbname_2011-10-09.bak
set @bak_file_name = @bak_path + '\' + @db_name + '_'
+ convert(varchar(10), getdate(), 120) + '.bak'
--开始完整备份
backup database @db_name to disk = @bak_file_name
fetch next from cur_database into @db_name
end
close cur_database
deallocate cur_database
自动备份vss auto_backup_vss.bat
@echo off
@title backing up source safe databases
set vss_install_path=c:\program files\microsoft visual sourcesafe\
set vss_db=\\192.168.0.244\vss
set bak_file=e:\%date%_vss_backup.ssa
set vss_admin_name=admin
set vss_admin_password=your_password
for /f tokens=1-3 delims=- %%i in ('date /t') do set date=%%i-%%j-%%k
%vss_install_path%ssarc -d- -y%vss_admin_name%,%vss_admin_password% -s%vss_db% %bak_file% $/
@echo finished backup vss
请根据情况修改这些条目:
vss_install_path = vss的安装路径
vss_db = vss数据库路径
bak_file = 备份文件路径
vss_admin_password=vss超级管理员密码

其它类似信息

推荐信息