惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
J
Java Code Geeks
博客园 - 聂微东
量子位
C
Check Point Blog
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
B
Blog
罗磊的独立博客
腾讯CDC
GbyAI
GbyAI
博客园 - 【当耐特】
A
About on SuperTechFans
M
MIT News - Artificial intelligence
U
Unit 42
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队

博客园 - Bingo Lee

创业这三年¥.NET之尴尬处境 创业这三年@各种奇遇 创业这3年#迈出第一步 传统企业信息化 中国式IT的项目 谁来衡量我们的价值??? 加班?!希望“京东”不是你的最后一站 WinRAR自动备份文件 ASP.NET MVC3 入门指南之数据验证[源码RAR下载] Sql server 实用技巧之主键、系统表与代码生成器[源码+视频] 英孚订课助手 Excel插入、更新Orcale Asp.net MVC3.0 入门指南 7.1 展示查找页面 SQL SERVER VS ORCALE(实现已有数据行自增) Asp.net MVC3.0 入门指南 6 审视编辑方法和视图 ASP.NET MVC3.0 入门指南 5 从控制器访问模型数据 Asp.net MVC3.0 入门指南 4 模型 Model Asp.net MVC3.0 入门指南 3.2视图 View Asp.net MVC3.0 入门指南 3.1视图 View
全自动备份vss和sql数据库(含源码下载)
Bingo Lee · 2011-10-09 · via 博客园 - Bingo Lee

2011-10-09 14:40  Bingo Lee  阅读(2083)  评论()    收藏  举报

  • 前言

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超级管理员密码