全自动备份vss和sql数据库

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 02:42 点击:

 

前言

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 databaseosql -E -i auto_backup_db.sql -o backup_database_log.txt@echo finished backup databaseFOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i-%%j-%%krename "backup_database_log.txt" "backup_database_log_%DATE%.txt"@echo on

 

 

 备份数据库sql脚本auto_backup_db.sql如下,请根据情况修改文件备份路径:    

 

USE mastergoDECLARE @bak_path NVARCHAR(200)DECLARE @bak_file_name NVARCHAR(200)--设置文件备份路径SET @bak_path = 'E:\DataBaseBAK'--利用游标遍历,逐个备份数据库DECLARE @db_name SYSNAME DECLARE cur_database CURSOR FORSELECT  [name]-- 查询所有数据库    FROM    sys.databases    WHERE   [state] = 0 -- 0 = ONLINE 在线状态    AND [name] NOT IN ( 'master', 'model', 'msdb', 'tempdb', 'ReportServer','ReportServerTempDB')    --系统数据库、演示数据库除外OPEN cur_databaseFETCH NEXT FROM cur_database INTO @db_nameWHILE ( @@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_databaseDEALLOCATE cur_database

 

自动备份vss auto_backup_vss.bat

@ECHO OFF@TITLE Backing up source safe databasesSET 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超级管理员密码

作者:Happy doing!

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • sql常见面试题
      • SQL SERVER 2005性能之跟踪
      • SQL编程(一)
      • LINUX上RMAN自动备份脚本
      • sql server面试题
      • 如何将多个SQL查询统计结果一次显示出来
      • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
      • SQL小技巧系列 --- 行转列合并
      • sql server 列转行
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1