灌水 异机备份数据库

喵喵 · 2017年11月06日 · 1019 次阅读

情况:

公司在做自动化测试时,是使用 SQL Server 数据库来保存页面元素信息,在之前,我已经做了备份计划,计划每天凌晨整体向数据库服务器本地备份一份,每周手动拷贝到另外电脑上一份,就怕数据丢失,但是,最近数据库服务器直接坏掉,丢失一部分数据,决定每天异机备份数据库

方法:

再采取手动异机备份已经不太合适,因为每天一次的频率有点高了,为了节约时间,写成了 bat 文件,并添加到 windows 的任务与计划中

场景:

数据库服务器上(IP:192.168.1.100)的 bak 文件夹中,存在定时备份的数据库文件,远程登录用户名/密码:administrator/123456;

异机上创建一个文件夹,用于存储服务器上的备份文件(D:\100databak)

步骤:

  • 1.共享数据库服务器上的 bak 文件夹

  • 2.编写批处理文件

    创建一个 txt 文件,写三行代码,然后将 txt 文件保存成 bat 文件:

    第一行表示:删除映射盘符,避免创建映射时,存在相同盘符的映射

    第二行表示:再异机上面创建一个 z 盘,保存 192.168.1.100 数据库服务器上 bak 共享文件的数据

    第三行表示:将本地 z 盘的所有数据,拷贝到 D 盘\100databak 文件夹中

    net use z: /del 
    net use z: \\192.168.1.100\bak "123456" /user:"administrator"  
    xcopy z:\*.* D:\100databak /s/h/d/y
    
  • 3.创建任务计划

    打开 windows 的任务计划程序,创建基本任务:

按照界面上的提示操作,填写名称,执行频率等信息,需要注意,在选择启动程序的界面,除了选择 bat 文件,还需要在起始于(可选)位置填写 bat 文件所在的路径:

遇到的问题

  • 1. 开始的 bat 文件,只写了第三行代码,映射是使用计算机 - 映射网络驱动器创建的,任务运行时,它找不到创建的映射,所以需要前两行代码是有必要添加的
  • 2. 批处理的格式很严格,有一个空格的地方不能有两个空格,所以文件夹的命名别有空格,否则它不认识
  • 3. 我在调试批处理文件时,添加了 pause,导致在 windows 在执行任务计划时,任务状态总是:正在运行,windows 的任务只会运行准备就绪的任务,所以,这个任务不会被再次运行
  • 4. 数据库服务器端需要开启 computer browser 服务,否则创建映射会失败
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册