本帖最后由 sailyang 于 2021-4-8 14:21 编辑
SQL Server使用脚本实现自动备份
因服务器安装的SQL Server版本不支持自动定时备份,需自行实现,大概思路为:
创建备份数据库的脚本
创建批处理脚本执行步骤一中的脚本
创建Windows定时任务执行步骤二中的脚本
1. 创建SQL脚本
新建db_backup.sql文件,填入以下内容。
2. 创建批处理脚本 新建db_backup.bat文件,填入以下内容。
sqlcmd -S localhost -U sa -P 123 -i ./db_backup.sql -o ./db_backup.log 以下为使用到的各个选项的解释:
sqlcmd -S <数据库连接地址> -U <数据库登录名> -P <数据库密码> -i <要执行的脚本文件> -o <执行日志文件> 更多选项请执行sqlcmd -?查看或者查看:sqlcmd 实用工具。
双击执行批处理文件,如果没有报错且正常输出日志文件,则说明批处理脚本创建成功。
3. 创建Windows任务计划 使用win+r快捷键打开运行对话框,输入taskschd.msc打开任务计划程序对话框,点击创建任务,依次进行以下步骤:
输入任务名称 如果是服务器环境,安全选项中务必选择不管用户是否登录都要运行 新建触发器 设置触发器为按预定计划执行一次 在触发器高级设置中选择重复任务间隔根据需要设置,持续时间设置为无限期。这样配置的结果就是在触发后,无限期地每隔xx时间段重复一次 新建操作 选择刚才新建的批处理脚本 检查批处理脚本中是否包含有关目录结构的语句,比如需要读写某个位置的文件。如果有且是Windows Server 2012及以后的操作系统,就需要配置起始位置,起始位置设置为批处理的目录即可。
完成以上步骤后即创建任务成功,然后选中新创建的任务,点击右键选择运行,可测试任务是否可正常执行。 |