zoukankan      html  css  js  c++  java
  • 全自动备份vss和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超级管理员密码

    
    


     

  • 相关阅读:
    并发和多线程(二)--启动和中断线程(Interrupt)的正确姿势
    并发和多线程(一)--创建线程的方式
    MySQL系列(十二)--如何设计一个关系型数据库(基本思路)
    Elasticsearch系列(二)--query、filter、aggregations
    Spark-python入门
    python中的Turtle模块
    pytorch显示网络结构
    风格迁移(2)-Fast Style Transfer
    风格迁移(1)-格拉姆矩阵
    使用GAN生成图片
  • 原文地址:https://www.cnblogs.com/BingoLee/p/2203679.html
Copyright © 2011-2022 走看看