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

很显然,这个备份,我们不可能每天都去手动备份,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. 你不知道的腾讯社招面试经验(已offer)

    # 你不知道的腾讯社招面试经验(已offer) ## 背景 最近一段时间换工作,成功获得了腾讯的offer.在这里有点经验跟大家分享,我觉得,比起具体的面试题,有些东西更加重要,你知道这些东西,再去准 ...

  2. 07 YAPI/基础设施 - DevOps之路

    07 YAPI/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 简介 YApi 是一个可本地部署的. ...

  3. RPM包制作过程(一)

    本机环境:centos7,64位 1. 首先安装工具,rpmbuild可能在rpmdevtools里已经包含 #yum install rpm-devel.x86_64 #yum install rp ...

  4. linus 下redis守护进程启动

    修改配置文件 sudo vim /usr/src/redis/redis.conf // 具体的安装目录不一样,以安装的时候为准 # 将daemonize 改为yes daemonize yes 重新 ...

  5. PM2用法简介

    简介 PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控.自动重启.负载均衡等,而且使用非常简单.引用 全局安装 sudo npm install pm2@lat ...

  6. Leetcode 中Linked List Cycle 一类问题

    141. Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow up:Can you sol ...

  7. Python-递归初识-50

    #递归函数 # 了解什么是递归 : 在函数中调用自身函数 # 最大递归深度默认是997/998 —— 是python从内存角度出发做得限制 # 能看懂递归 # 能知道递归的应用场景 # 初识递归 —— ...

  8. oc之封装「可输入值」的UIStepper

    2017.07.17 18:10* 字数 66 阅读 644评论 0喜欢 5 oc之封装「可输入值」的UIStepper 最终效果 要求: Platform: iOS7.0+ Language: Ob ...

  9. Redis使用和部分源码剖析以及Django缓存和redis的关系

    0.特点: a.持久化 b.单进程.单线程 c.5大数据类型    d.用于操作内存的软件.    e.虽然是缓存数据库但是可以做持久化的工作 MySQL是一个软件,帮助开发者对一台机器的硬盘进行操作 ...

  10. Python + selenium + pycharm 环境部署细节 和selenium、Jenkins简单介绍

    一.测试体系:Python + selenium + pycharm + Jenkins/docker 环境搭建: 1.安装python 3.4/3.5 2/3.6/ 3.7 2.配置环境变量 3.p ...