时间:2021-05-23
因服务器安装的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>.bakDECLARE @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)。
到这里已经可以使用脚本对数据库进行备份,但仍需手动执行脚本,无法实现自动定时备份的需求。
新建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 实用工具。
双击执行批处理文件,如果没有报错且正常输出日志文件,则说明批处理脚本创建成功。
使用win+r快捷键打开运行对话框,输入taskschd.msc打开任务计划程序对话框,点击创建任务,依次进行以下步骤:
完成以上步骤后即创建任务成功,然后选中新创建的任务,点击右键选择运行,可测试任务是否可正常执行。
到此这篇关于SQL Server使用脚本实现自动备份的思路详解的文章就介绍到这了,更多相关sqlserver自动备份内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语
摘要:本文提供了一种使用aspphp脚本来实现网站文件备份的思路,可以实现指定文件的按天备份。个人网站往往在虚拟主机上,对主机的控制权限很小,因此不能使用诸如任
思路其实很简单写一个shell脚本通过mysql的mysqldump,将数据导出成对应的sql文件;使用linux的crontab定时运行对应脚本,将sql,文
目前流行几种备份方式:1、逻辑备份:使用mysql自带的mysqldump工具进行备份。备份成sql文件形式。优点:最大好处是能够与正在运行的mysql自动协同