首页 > 数据库 >SQLSERVER 维护计划无法删除

SQLSERVER 维护计划无法删除

时间:2023-07-12 11:24:12浏览次数:50  
标签:subplans name 删除 SQLSERVER job sysmaintplan 维护 id

数据对网站运营或者企业运营是至关重要的,所以,我们在使用数据库的时候,为了保证数据的安全可靠性,都会做数据库备份,

很显然,这个备份,我们不可能每天都去手动备份,SQLServer 数据库就可以提供数据库定时备份的任务,你可以设置按照天、周、

月、年等不同设置不同的备份周期,这里我就不在介绍自动备份的设置了,百度教程可以找到一大波,最重要的一点就是,一定要开

启Sqlserver 代理服务,否则自动备份就无法执行了。

设置好了,数据库会在【管理】-【维护计划】中创建一条记录,同时,也会在【Sql server 代理】-【作业】中创建一条作业记录;如下图:

 SQLSERVER 维护计划无法删除第1张

然后,一段时间过去了……

我们的自动备份失效了,或者自动备份不需要了,我们需要删除;

正常情况下,只要在【管理】-【维护计划】中,找到不需要的维护计划,鼠标右键-删除就可以了,同时,数据库也会把【Sql server代理】中的记录也会删除;

非正常情况下,就是鼠标右键无法删除的情况了,我们则需要通过SQL代码来删除;

删除需要分两部分:

 

一:删除【管理】中的维护计划;

1 USE [msdb]
2 SELECT * FROM sysmaintplan_plans           --查看数据库中所有的维护计划
3 DELETE sysmaintplan_plans WHERE name=''            --删除具体名称的维护计划

二:删除【Sql server代理】中的作业;

USE [msdb]
Declare @job_name varchar(100)
SET @job_name = N'jobName'
--注:jobName为维护计划对应的jobName

--删除在计划里面的日志
DELETE sysmaintplan_log 
FROM sysmaintplan_subplans as subplans
INNER JOIN sysjobs_view as syjobs on subplans.job_id = syjobs.job_id
INNER JOIN sysmaintplan_log on subplans.subplan_id =sysmaintplan_log.subplan_id
WHERE (syjobs.name = @job_name)

--删除代理的作业
DELETE sysjobschedules 
FROM sysjobs_view v
INNER JOIN sysjobschedules o on v.job_id=o.job_id 
WHERE v.name=@job_name

--删除子计划
DELETE sysmaintplan_subplans 
FROM sysmaintplan_subplans as subplans
INNER JOIN sysjobs_view as syjobs ON subplans.job_id = syjobs.job_id
WHERE (syjobs.name = @job_name)
--删除作业
DELETE FROM msdb.dbo.sysjobs_view WHERE name = @job_name

 

标签:subplans,name,删除,SQLSERVER,job,sysmaintplan,维护,id
From: https://www.cnblogs.com/xuxiaoshuan/p/17547031.html

相关文章

  • linux shell脚本实现删除连续的空行为一行
     001、awk实现[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据010203040506070809101112131415161718192021222324252627282930##将多个连续的空行压缩为一个空行[root@PC1tes......
  • 在Ubuntu下的docker下安装sqlserver并指定排序规则和语言
    最近在公司弄了个小程序,随便架了个sqlserver,再看微软官网的时候发现可以在docker下安装sqlserver,随便实践记录下先上微软的连接地址Docker:为Linux上的SQLServer安装容器-SQLServer|MicrosoftLearn这个是sqlserver2017的,其他版本也是类似的,其实都是微软docker了一个lin......
  • Linux创建用户、删除用户
     一、创建用户1.创建用户:vagrant为用户名->sudouseradd-mvagrant-d/home/vagrant-s/bin/bash2、为创建的用户设置密码->sudopasswdvagrant3、修改用户的权限:(/etc/sudoers文件只有r权限,在改动前需要增加w权限,改动后,再去掉w权限)(1)为sudoers增加写......
  • 在WinServer 2022 Core 上安装SCVMM2022和SqlServer2022
    在WindowsServer2022Core上安装SystemCenterVirtualMachineManager(VMM)2022管理服务器和SqlServer2022CU5系统环境如下:OS:windowsserver2022CoreDataCenterDB:SqlServer2022withCU5ADK: Windows11版本22H2的ADK: https://learn.microsoft.com/zh-cn/wi......
  • 不小心删除服务[null]后,git bash出现错误,如何解决?
    不小心删除服务[null]后,gitbash出现错误,如何解决?错误描述:打开gitbash、msys2都会出现错误「bash:/dev/null:Nosuchdeviceoraddress」问题定位:1.使用搜索引擎搜索「bash:/dev/null:Nosuchdeviceoraddress」,一般答案是[null]服务出现问题,可能是缺少对应的文件「C:......
  • SqlServer取当前日期0点到23点59分59秒
    --2023-07-1100:00:00.0002023-07-1123:59:59.000SELECTCONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),120)),DATEADD(SECOND,-1,CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE()+1,120)))--2023-07-1100:00:002023-07-1123:59:59selectconvert(varchar(......
  • Linux 软链接删除
    创建软链接在Linux中,可以使用ln-s[源文件][软链接文件]的命令来创建软链接。首先,打开终端并进入目标路径,可以使用pwd命令查看当前路径。使用mkdir命令创建一个名为test的目录,并使用touch命令在该目录下创建两个测试文件,分别为test.txt和val.txt......
  • sqlserver数据库清除备份集记录
    1、 通过维护计划清除备份集记录, SqlServer数据库备份到服务器,及删除           https://www.qyyshop.com/info/467759.html 通过维护计划删除没有的或者历史的记录.  ......
  • sqlserver数据库执行维护计划报错
    1、https://blog.csdn.net/Wu7z_/article/details/107506710?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-2-107506710-blog-119634976.235%5Ev38%5Epc_relevant_default_base&depth_1-u......
  • sqlserver报错 "代理XP“组件已作为此服务器安全配置的一部分被关闭。系统管理员可以
    1、https://blog.csdn.net/fallingflower/article/details/128915014想为SQLServer数据库设置自动备份,点击维护计划向导的时候报错“代理XP"组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用sp_configure来启用"代理XP”。有关启用"代理XP"的详细信息,请参阅SQL......