一.注意事项
- sqlserver agent服务未开启
设置维护任务时,一定要保证sql server agent服务开启,否则执行报错。同时也可根据执行报错确认是否开启。开启方法如下:
程序 - SQL SERVER 配置管理器 - SQL SERVER服务 - SQL Server代理进行启动
- sql server启动xp_cmdshell组件
【错误描述】
SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问。因为此组件已作为此服务嚣安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure启用‘xp_cmdshell’。有关启用‘xp_cmdshell’的详细信息,请参阅sQL帮助文件。
【原因分析】
xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出,是一个功能非常强大的扩展存贮过程。一般情况下,xp_cmdshell对管理员来说也是不必要的,xp_cmdshell的消除不会对Server造成任何影响。
【解决办法】
通过SQL语句开启。推荐此方法,因为在任何版本的SQL SERVER中都可以使用。
sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go
执行结果:、 配置选项 ‘show advanced options’ 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
配置选项 ‘xp_cmdshell’ 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
如需关闭只需将“sp_configure ‘xp_cmdshell’,1”改为“sp_configure ‘xp_cmdshell’,0”即可。
二.设置维护任务
-
维护任务设置
进入Microsoft SQL Server Management Studio后,进入管理 - 维护计划 - 新建维护计划-然后将工具箱中的维护任务拖入到灰色区域
双击列表中子计划,可以对名称以及作业计划进行编辑;
点击计划框图对计划进行设置,数据库备份一般选择每周一次完整备份,一天一次差异备份和事务日志备份。
“清除维护”任务是将备份任务进行删除,此处需要注意文件扩展名不能写“.bak”,只用写后缀名。
记录好执行报告输出位置,可以进行问题排查。
-
任务测试
完成维护任务后,可以立即执行进行测试,进入SQL Server代理 - 作业 ,可以看到有对应的维护计划出现在这里,点击右键“作业开始步骤”,可立即执行。 -
备份以及删除T-SQL解析
差异备份:
GO
BACKUP DATABASE [Webdb] TO DISK = N'D:\备份\Database_backup_日期.bak'
WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'Database_backup_日期', SKIP, REWIND, NOUNLOAD, STATS = 10
完整备份:
GO
BACKUP DATABASE [Webdb] TO DISK = N'D:\备份\Database_backup_日期.bak'
WITH NOFORMAT, NOINIT, NAME = N'Database_backup_日期', SKIP, REWIND, NOUNLOAD, STATS = 10
清除计划:
删除’D:\备份’文件中,后缀名为“bak”且创建日期在“2020-12-22T12:02:42”之前的文件
EXECUTE master.dbo.xp_delete_file 0,N'D:\备份',N'bak',N'2020-12-22T12:02:42'