sql server创建备份计划
对于备份计划,在sql server中微软提供了相应的功能集,通过Maintenance Plans向导可以对数据库进行相关维护工作。
通过下图的向导,可以进行如定期备份和清除工作。
前提是安装介质包含了sql server维护的功能,并且正常启动了sql server agent服务。而在express版本中并没有提供维护计划功能集。
而对于express版本,我们可以通过windows的任务计划来实现备份操作。
首先我们写一串sql语句,用作备份清理计划。
1 --bk-- 2 declare @filename varchar(255) 3 set @filename = N'C:\BACKUP\test_' + cast(datepart(yyyy, getdate()) as varchar) 4 + cast(datepart(mm, getdate()) as varchar) + cast(datepart(dd, getdate()) as varchar) + '.bak' 5 6 backup database[test] to disk = @filename with init 7 go 8 9 --delete bk-- 10 declare @date datetime 11 set @date = getdate() - 3 12 13 execute master.dbo.xp_delete_file 0, N'C:\BACKUP', N'bak', @date, 1 14 go
上面的sql创建了test数据库的备份,并保留了3天的备份记录。
上面用到了一个系统存储过程xp_delete_file。介绍下这个存储过程相关参数:
1. File Type = 0 for backup files or 1 for report files.
2. Folder Path = The folder to delete files. The path must end with a backslash "\".
3. File Extension = This could be 'BAK' or 'TRN' or whatever you normally use.
4. Date = The cutoff date for what files need to be deleted.
5. Subfolder = 0 to ignore subfolders, 1 to delete files in subfolders.
ok,创建好sql后,需要再写一个bat。调用到sqlcmd命令,相关参数可以说明可以看一下帮助文档。下面表示输入的sql脚本和吐出的执行日志。
1 sqlcmd -i "C:\backup\job.sql" -o "C:\backup\err.txt"
下面可以通过windows附件中的任务计划工具,将bat脚本作为执行任务,并设置执行时间周期。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构