承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

SQL Server使用脚本实现自动备份的方法及实战

管理员 2023-08-29 08:01:30 互联网圈 0 ℃ 0 评论 4084字 收藏

因服务器安装的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

脚本内容比较简单,这里就不展开说了。详情可查看:BACKUP (Transact-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打开任务计划程序对话框,点击创建任务,顺次进行以下步骤:

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

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

到此这篇关于SQL Server使用脚本实现自动备份的方法及实战的文章就介绍到这了,更多相关sqlserver自动备分内容请搜索之前的文章或继续浏览下面的相关文章希望大家以后多多支持!

文章来源:丸子建站

文章标题:SQL Server使用脚本实现自动备份的方法及实战

https://www.wanzijz.com/view/74977.html

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信