一.定时备份
1.创建存放备份数据的文件夹(如D:\bak\bakup),否则执行sql语句会报错;
2.编写一个用于备份数据的sql脚本,内容如下:
--声明备份集名称变量
declare @name varchar(250)
--变量赋值,形如DBname_20210818.bak
set @name='D:\bak\bakup\DBname_'+ convert(varchar(50),getdate(),112)+'.bak'
--DBname为对应备份数据库的名称
BACKUP DATABASE DBname TO DISK = @name
WITH NOFORMAT, NOINIT, NAME = N'Full Backup of DBname', SKIP, NOREWIND, NOUNLOAD
DBname为对应备份数据库的名称,WITN选项详见:Microsoft SQL文档那-完整数据库备份
3.保存为myScript.sql,同样存放至D:\bak\bakup(自定义的备份文件路径)下
4.编写一个批处理文件,执行sql脚本,内容如下:
sqlcmd -SmyServer\instanceName -U account -P password -d DBname -i D:\bak\bakup\myScript.sql -o D:\bak\bakup\examLog.txt
myServer\instanceName:使用计算机名称和要连接的实例替换 myServer\instanceName SQL Server (如QA-DB-B06\SQLSERVER2014)
-U后面为数据库用户名 -P后面为数据库密码
-d后面为数据库名称 -i后面为sql脚本存放路径
-o后面为执行sql脚本后输出的内容指定文件(可省略)
sqlcmd工具详见:Microsoft sqlcmd - 运行 Transact-SQL 脚本文件
5.保存编码格式为ANSI的文本文件,修改txt后缀格式为.bat,如myScript.bat,同样存放至D:\bak\bakup下(注:编码格式选择ANSI保存,否则运行时会中文乱码无法正确执行命令)
6.新建一个Windows任务计划,定期(比如每天)执行批处理命令
选择[管理工具]-[任务计划程序]
点击[创建基本任务]
输入名称和描述
选择任务触发周期
选择[启动程序]
添加启动程序所需的创建存放备份数据的文件夹(如D:\bak\bakup)bat文件以及sql脚本
点击[完成]后,完成定时备份任务计划设定
通过点击[任务计划程序],查看所有任务计划,选中某一条计划右击,可对其进行运行,导出等操作
双击计划或右击-点击[属性],可以对现有计划的内容进行修改
二.异机备份
异机备份,即将本地的文件通过远程网络驱动备份至目标备份文件夹中
1.设置映射网络驱动
打开"计算机",右击-[映射网络驱动]
文件夹,根据示例\\server\qa的形式,输入目标备份文件夹,勾选"使用其他凭据连接",
点击[完成]后,需要输入远程服务器的用户名和密码,进行凭据的连接,注意勾选"记住我的凭据"
2.使用net use 命令查看共享映射情况
WIN+R,输入cmd,呼出命令行窗口
输入net use,状态为ok,表示已完成映射共享(即\\192.168.1.7\qa成功映射为本机的Y盘)
3.在上述Y盘中,创建一个用于存放备份数据的文件夹,如Y:\nbak
4.编写一个批处理文件,内容如下:
--删除映射的Y盘
net use Y: /delete
--将\\192.168.1.7\qa映射为本机的Y盘
net use Y: \\192.168.1.7\qa "password" /user:"account"
--将本机D:\bak\bakup中的备份文件复制到共享映射的Y:\nbak中去
--输出结果存放至本机D:\bak\bakup\transfer.log中
xcopy D:\bak\bakup Y:\nbak /e /y /i /c /r /q>> D:\bak\bakup\transfer.log
::net use Y: /delete
5.保存编码格式为ANSI的文本文件,修改txt后缀格式为.bat,如transfer.bat,存放至D:\bak\bakup下,双击运行即可完成异机备份
6.可通过新建Windows任务计划,设置定时异机备份,操作步骤同定时备份中的6,其中启动程序中的"添加参数"和"起始于"无需填写