• 售前

  • 售后

热门帖子
入门百科

SQL Server使用脚本实现自动备份的思路详解

[复制链接]
飘渺九月 显示全部楼层 发表于 2021-8-14 15:12:18 |阅读模式 打印 上一主题 下一主题
因服务器安装的SQL Server版本不支持自动定时备份,需自行实现,大概思绪为:
       
  • 创建备份数据库的脚本   
  • 创建批处置处罚脚本实行步骤一中的脚本   
  • 创建Windows定时任务实行步骤二中的脚本
1. 创建SQL脚本

新建
  1. db_backup.sql
复制代码
文件,填入以下内容。
  1. -- 定义需要备份的数据库
  2. DECLARE @backupDatabase VARCHAR(20) = 'DB_NAME'
  3. -- 定义数据库备份文件存放的基础路径
  4. DECLARE @backupBasePath VARCHAR(MAX) = 'D:/DB_NAME/'
  5. -- 定义备份文件名,文件名格式:<DB>_backup_<yyyyMMdd>_<HH:mm:ss.SSS>.bak
  6. DECLARE @backupFileName VARCHAR(50) = NULL
  7. -- 获取当前时间戳
  8. DECLARE @backupTime DATETIME = CURRENT_TIMESTAMP
  9. -- 处理备份文件名称
  10. SET @backupFileName = @backupDatabase + '_backup_' + CONVERT(VARCHAR(25), @backupTime, 112) + '_' + REPLACE(CONVERT(VARCHAR(25), CURRENT_TIMESTAMP, 114), ':', '') + '.bak'
  11. -- 处理完整的备份文件路径
  12. SET @backupBasePath = @backupBasePath + @backupFileName
  13. -- 执行备份
  14. BACKUP DATABASE @backupDatabase TO DISK = @backupBasePath
复制代码
脚本内容比较简单,这里就不睁开说了。详情可查察:BACKUP (Transact-SQL)。
到这里已经可以使用脚本对数据库举行备份,但仍需手动实行脚本,无法实现自动定时备份的需求。
2. 创建批处置处罚脚本

新建
  1. db_backup.bat
复制代码
文件,填入以下内容。
  1. sqlcmd -S localhost -U sa -P 123 -i ./db_backup.sql -o ./db_backup.log       
复制代码
以下为使用到的各个选项的解释:
  1. sqlcmd -S <数据库连接地址> -U <数据库登录名> -P <数据库密码> -i <要执行的脚本文件> -o <执行日志文件>
复制代码
更多选项请实行
  1. sqlcmd -?
复制代码
查察或者查察:sqlcmd 实用工具。
双击实行批处置处罚文件,假如没有报错且正常输出日志文件,则分析批处置处罚脚本创建乐成。
3. 创建Windows任务筹划

使用
  1. win
复制代码
+
  1. r
复制代码
快捷键打开运行对话框,输入
  1. taskschd.msc
复制代码
打开任务筹划步伐对话框,点击创建任务,依次举行以下步骤:
       
  • 输入任务名称   
  • 假如是服务器环境,安全选项中务必选择不管用户是否登录都要运行   
  • 新建触发器   
  • 设置触发器为按预定筹划实行一次   
  • 在触发器高级设置中选择重复任务间隔根据必要设置,一连时间设置为无穷期。如许配置的结果就是在触发后,无穷期地每隔xx时间段重复一次   
  • 新建操作   
  • 选择刚才新建的批处置处罚脚本   
  • 检查批处置处罚脚本中是否包罗有关目录结构的语句,比如必要读写某个位置的文件。假如有且是Windows Server 2012及以后的操作体系,就必要配置起始位置,起始位置设置为批处置处罚的目录即可。



完成以上步骤后即创建任务乐成,然后选中新创建的任务,点击右键选择运行,可测试任务是否可正常实行。
到此这篇关于SQL Server使用脚本实现自动备份的思绪详解的文章就先容到这了,更多相干sqlserver自动备份内容请搜刮草根技术分享从前的文章或继承欣赏下面的相干文章希望各人以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作