zoukankan      html  css  js  c++  java
  • sqlserver数据库备份与还原

    备份脚本及使用方法

    下载地址:链接: https://pan.baidu.com/s/1MsmAZ3R9WpxUPliv1_DcPA 提取码: 8bnk

    具体文件:

    backup.bat

    echo off
    rem 所有版本库的父目录
    set SVN_ROOT=D:/Repositories
    rem 备份的目录
    set BACKUP_SVN_ROOT=D:/svnrootbackup1
    rem Subversion的安装目录
    set SVN_HOME=D:/Develop/VisualSVNServer
    set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%
    if exist %BACKUP_DIRECTORY% goto checkBack
    echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
    mkdir %BACKUP_DIRECTORY%
    rem 验证目录是否为版本库,如果是则取出名称备份
    for /r %SVN_ROOT% %%I in (.) do @if exist "%%I/conf/svnserve.conf" %SVN_ROOT%/simplebackup.bat "%%~fI" %%~nI
    goto end
    :checkBack
    echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
    goto end
    :end

    simplebackup.bat

    @echo 正在备份版本库%1......
    @%SVN_HOME%/bin/svnadmin hotcopy %1 %BACKUP_DIRECTORY%/%2
    @echo 版本库%1成功备份到了%2......

    readme.txt

    ,完全备份:
    
    最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了.但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造马备份的结果不够准确,失去备份的作用,为此xubversion 提供了"svnadmin hotcopy"的命令,可以防止这种问题.
    
    比如有如下的版本库:
    
    D:/svnroot
    ├─project1
    │     ├─conf
    │     ├─dav
    │     ├─db
    │     │     ├─revprops
    │     │     ├─revs
    │     │     └─transactions
    │     ├─hooks
    │     └─locks
    └─project2
           ├─conf
           ├─dav
           ├─db
           │     ├─revprops
           │     ├─revs
           │     └─transactions
           ├─hooks
    └─locks
    
    如果要把project1备份到D:/svnrootbackup目录下,只需要运行:svnadmin hotcopy d:/svnroot/project1 d:/svnrootbackup/project1
    
    ps:如果我们目录下有很多版本库,需要为每个版本库写这样一条语句备份,必需想办法优化这个过程.为此,建立以下的2个bat文件.
    
    simplebackup.bat:
    @echo 正在备份版本库%1......
    @%SVN_HOME%/bin/svnadmin hotcopy %1 %BACKUP_DIRECTORY%/%2
    @echo 版本库%1成功备份到了%2!
    
    backup.bat:
    echo off
    rem Subversion的安装目录
    set SVN_HOME="D:/Subversion"
    rem 所有版本库的父目录
    set SVN_ROOT=D:/svnroot
    rem 备份的目录
    set BACKUP_SVN_ROOT=D:/svnrootbak
    set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%
    if exist %BACKUP_DIRECTORY% goto checkBack
    echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
    mkdir %BACKUP_DIRECTORY%
    rem 验证目录是否为版本库,如果是则取出名称备份
    for /r %SVN_ROOT% %%I in (.) do @if exist "%%I/conf/svnserve.conf" %SVN_ROOT%/simplebackup.bat "%%~fI" %%~nI
    goto end
    :checkBack
    echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
    goto end
    :end
    
    使用的时候,只需要修改backup.bat开头的三个路径,将两个脚本拷贝到"svn_root"下就可以了.根据以上的配置,你只需要运行backup.bat.就可以把"svn_root"下的版本库都备份到"backup_svn_root"里,并且存放在备份所在的目录里.

    使用方法上面已经说了:

    使用的时候,只需要修改backup.bat开头的三个路径,将两个脚本拷贝到"svn_root"下就可以了.根据以上的配置,你只需要运行backup.bat.就可以把"svn_root"下的版本库都备份到"backup_svn_root"里,并且存放在备份所在的目录里.

    至于还原, 之前好像有总结, 忘了哪篇了, 搜'sqlserver还原'本博应该可以搜到(还是转载的 = =|| ).
  • 相关阅读:
    Python天天美味(17) open读写文件
    Linux服务器性能数据收集 Sysstat介绍
    招募Asp.net开发人员一名[上海]
    Python天天美味(21) httplib,smtplib
    Python天天美味(23) enumerate遍历数组
    试用IronPython
    Python天天美味(22) 拷贝对象(深拷贝deepcopy与浅拷贝copy)
    Python天天美味(13) struct.unpack
    Python天天美味(12) 条件判断的缩写
    分享Silverlight/WPF/Windows Phone一周学习导读(11月21日11月27日)
  • 原文地址:https://www.cnblogs.com/yadongliang/p/9827032.html
Copyright © 2011-2022 走看看