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

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

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

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

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

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

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

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

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

删除需要分两部分:

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

USE [msdb]
SELECT * FROM sysmaintplan_plans        --查看数据库中所有的维护计划
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

  

  

SQLSERVER 维护计划无法删除的更多相关文章

  1. 解决 SQLSERVER 2008 无法删除作业

    SQLSERVER 2008 中删除作业时遇到无法删除 解决办法: USE [msdb] ) SET @job_name = N'JobName' --注:jobName为维护计划对应的jobName ...

  2. sqlserver使用job删除过期备份文件

    享下链接:http://blog.csdn.net/xieyufei/article/details/33770067(注意这里主要说明怎么设置删除过期备份文件) 先说下sqlserver使用job删 ...

  3. SqlServer中怎么删除重复的记录(表中没有id)

    SqlServer中怎么删除重复的记录(表中没有id) 其实我在别的网址也查到过删除重复的记录,不知道我是我SqlServer2012版本太低还是啥原因 delete from scwhere (c# ...

  4. SQLServer 命令批量删除数据库中指定表(游标循环删除)

    DECLARE @tablename VARCHAR(30),@sql VARCHAR(500)DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ON ...

  5. SQLServer2005 维护计划 无法删除

    1.查看"维护计划"对象的ID use msdbselect * from sysmaintplan_plansselect * from sysmaintplan_logsele ...

  6. sqlserver 插入 更新 删除 语句中的 output子句

    官方文档镇楼: https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/ms177564(v=sql.100) 从 ...

  7. SqlServer关于“无法删除数据库 "XXXX",因为该数据库当前正在使用”问题的解决方案

    引言 在项目中,通过使用SQL语句“DROP DATABASE [数据库名]”删除数据时,一直出现“无法删除数据库 "XXXX",因为该数据库当前正在使用”的错误信息,经测试在Sq ...

  8. sqlserver 中批量删除\r\n 换行符

    从Excel中向sqlserver 中批量粘贴数据时 可能会粘贴进去换行符 \r\n  这时候在查询时候是看不见的 只有把该字段赋值到‘’中才能发现换行. 批量替换语句: update [表名]set ...

  9. sqlserver创建和删除外键约束

    x先找出约束名字然后删除它我给个例子 --测试环境--主表create table test1(id int primary key not null,value int)insert test1 s ...

随机推荐

  1. IT程序员的抉择:我要离开帝都了

    不知不觉在北京已经漂泊了近5年了,共为3家公司打过工,其中有几十人的小公司,也有几万人的大公司.随着工作技能的提升和工作经验的积累,薪水自然也涨了不少,但是看着北京的房价.物价飞涨,感觉自己赚多少都是 ...

  2. Macaca初体验-Android端(Python)

    前言: Macaca 是一套面向用户端软件的测试解决方案,提供了自动化驱动,周边工具,集成方案.由阿里巴巴公司开源:http://macacajs.github.io/macaca/ 特点: 同时支持 ...

  3. 文件传输协议FTP、SFTP和SCP

    网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...

  4. sys模块进度条玩法笔记

    #! /user/bin/env python# -*- encoding:utf-8 -*-import time,sys for i in range(31): sys.stdout.write( ...

  5. package-lock.json和package.json的作用

    转自:https://www.cnblogs.com/cangqinglang/p/8336754.html package-lock.json的作用就是锁定安装依赖时包的版本,并且需要上传到git, ...

  6. vue页面传参和接参

    https://blog.csdn.net/zhouzuoluo/article/details/81259298(copy) js** this.$router.push({ name: 'Flow ...

  7. FindBugs-IDEA插件的使用

    前言 Findbugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件.这个插件可以帮助我们查找隐藏的bug,比较重要的功能就是查找潜在的null指针.  ...

  8. vscode git设置

    vscode只能打开一下界面: 在setting.path增加git.path选项,再使用linux的方法配置路径,就是使用D:/../bin/git.exe而不是\\ 重启vscode,git设置即 ...

  9. 洛谷 P1141 01迷宫

    看似普通的 bfs 题(实际上也不怎么难 主要是我太菜了) 题目链接:https://www.luogu.org/problemnew/show/P1141 如果直接用简单的bfs一顿求的话,会超时( ...

  10. Python——Flask框架——数据库

    一.数据库框架 Flask-SQLAlchemy (1)安装: pip install flask-sqlalchemy (2)Flask-SQLAlchemy数据库URL 数据库引擎 URL MyS ...