最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 数据库 > MySQL数据库 >
sqlserver怎样写自动定时备份功能?
网络发表于 2021-08-28 17:40 次浏览

    sqlserver怎样写自动定时备份功能?我们知道数据库备份是很重要的一个步骤,万一数据库出现问题,如果有做好备份的话,那么就能快速的恢复数据,但是服务器安装的SQL Server版本不支持自动定时备份,那么我们怎样自己实现呢?下面小编就给大家分享一下实现思路,有需要的朋友可以参考。

  1. 创建备份数据库的脚本
  2. 创建批处理脚本执行步骤一中的脚本
  3. 创建Windows定时任务执行步骤二中的脚本

    1. 创建SQL脚本

    新建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

    脚本内容比较简单,这里就不展开说了。

    到这里已经可以使用脚本对数据库进行备份,但仍需手动执行脚本,无法实现自动定时备份的需求。

    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 -?

    双击执行批处理文件,如果没有报错且正常输出日志文件,则说明批处理脚本创建成功。

    3. 创建Windows任务计划

    使用win r快捷键打开运行对话框,输入taskschd.msc打开任务计划程序对话框,点击创建任务,依次进行以下步骤:

  1. 输入任务名称
  2. 如果是服务器环境,安全选项中务必选择不管用户是否登录都要运行
  3. 新建触发器
  4. 设置触发器为按预定计划执行一次
  5. 在触发器高级设置中选择重复任务间隔根据需要设置,持续时间设置为无限期。这样配置的结果就是在触发后,无限期地每隔xx时间段重复一次
  6. 新建操作
  7. 选择刚才新建的批处理脚本
  8. 检查批处理脚本中是否包含有关目录结构的语句,比如需要读写某个位置的文件。如果有且是Windows Server 2012及以后的操作系统,就需要配置起始位置,起始位置设置为批处理的目录即可。

    完成以上步骤后即创建任务成功,然后选中新创建的任务,点击右键选择运行,可测试任务是否可正常执行。

    关于sqlserver实现自动备份就介绍到这了,大家按照上述思路步骤操作即可,希望本文能对大家有帮助,想要了解更多sqlserver自动备份的知识,大家可以继续关注其他相关文章,希望大家能多多支持群英网络。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
上一篇:没有了
下一篇:没有了
相关信息推荐