sqlserver怎样写自动定时备份功能?我们知道数据库备份是很重要的一个步骤,万一数据库出现问题,如果有做好备份的话,那么就能快速的恢复数据,但是服务器安装的SQL Server版本不支持自动定时备份,那么我们怎样自己实现呢?下面小编就给大家分享一下实现思路,有需要的朋友可以参考。
新建db_backup.sql
文件,填入以下内容。
-- 定义需要备份的数据库 DECLARE @backupDatabase VARCHAR(20) = 'DB_NAME' -- 定义数据库备份文件存放的基础路径 DECLARE @backupBasePath VARCHAR(MAX) = 'D:/DB_NAME/' -- 定义备份文件名,文件名格式:<DB>_backup_<yyyyMMdd>_<HH:mm:ss.SSS>.bak DECLARE @backupFileName VARCHAR(50) = NULL -- 获取当前时间戳 DECLARE @backupTime DATETIME = CURRENT_TIMESTAMP -- 处理备份文件名称 SET @backupFileName = @backupDatabase '_backup_' CONVERT(VARCHAR(25), @backupTime, 112) '_'
REPLACE(CONVERT(VARCHAR(25), CURRENT_TIMESTAMP, 114), ':', '') '.bak' -- 处理完整的备份文件路径 SET @backupBasePath = @backupBasePath @backupFileName -- 执行备份 BACKUP DATABASE @backupDatabase TO DISK = @backupBasePath
脚本内容比较简单,这里就不展开说了。
到这里已经可以使用脚本对数据库进行备份,但仍需手动执行脚本,无法实现自动定时备份的需求。
新建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 -?
双击执行批处理文件,如果没有报错且正常输出日志文件,则说明批处理脚本创建成功。
使用win
r
快捷键打开运行对话框,输入taskschd.msc
打开任务计划程序对话框,点击创建任务,依次进行以下步骤:
完成以上步骤后即创建任务成功,然后选中新创建的任务,点击右键选择运行,可测试任务是否可正常执行。
关于sqlserver实现自动备份就介绍到这了,大家按照上述思路步骤操作即可,希望本文能对大家有帮助,想要了解更多sqlserver自动备份的知识,大家可以继续关注其他相关文章,希望大家能多多支持群英网络。
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595