SQL Server 数据库自动执行管理任务_MsSql

当满足这些指定的条件,则数据库会自动运行管理员指定的操作。使用自动管理来处理日常事务,则让管理员可以抽出时间去关注其他的事情,如数据库优化等等更加具有价值的作业。

计划就是自动化管理组件的一个成员。计划指定了作业运行的时间。多个作业可以根据一个计划运行;多个计划也可以应用到一个作业。但是这个时间跟我们普通上的几点几分又有差异。这个时间不仅指特定的日期或者时间,而且还可以表示特定的时间。如当SQL Server代理启动的时候或者服务器的CPU使用率处于定义的空闲状态水平时。也就是说,这里指的时间计划也可以实现一定的条件状态控制。简而言之,计划作业就是定义使得作业在没有哦能够互交互情况下开始运行的条件,包括具体的日期或者特定的在状况。通过为作业创建新计划或者将现有的计划添加到作业可以将作业计划设置为自动运行。不过在设置自动执行计划的时候,需要注意一个问题。即一次只能够运行一个作业实例。如果在作业按计划运行时尝试手工运行该作业,则SQL Server代理将拒绝这个请求。另外,即使计划未启用,作业仍可以为响应警报而运行,或者由用户手动运行。如果作业计划未启用,则任何使用该计划的作业都不会启用该计划。

一、 计划触发的时间与事件。

上面笔者说过,计划可以基于特定的时间与事件而触发。那么这些具体的时间与事件是什么呢?笔者平时用到的最多的就是如下几种情况。

一是特定的日期和时间运行一次。这个计划时间在数据库备份的时候特别有用。大家都知道,数据库备份会占用比较多的系统资源。如果在数据库服务器使用高峰期(如白天上班时间)进行备份的话,那么会对用户的访问造成比较大的影响。为此笔者就把数据库备份的时间放在晚上12点之后。这个时段相对来说,很少有用户会访问数据库。此时管理员就可以利用计划功能,让其在每天的12点之后进行数据库备份。这就是基于特定的日期和时间计划的典型应用。

二是安重复执行的计划运行。这个跟上面讲的特定日期和时间运行一次比较类似。只是上面的情况只运行一次。而这个按重复执行计划运行则是指会重复运行多次。如每天晚上12点都进行数据库备份等等。在实际工作中,特定日期和时间运新一次往往只是针对一些特殊的情况。如今天刚对数据库结构进行了比较大的更改,如添加了几张表或者视图,此时就需要对数据库进行一次完全备份。如故不急于进行备份的话,则就可以建立一个在特定的日期和时间运行的数据库完全备份计划,让其在午后进行数据库备份。但是对于常规的数据库备份,则需要采取这个按重复执行计划运行。

三是当计算机的CPU使用率处于定义的空闲状态水平时。也就是说,数据库服务器当前的CPU使用率比较低,可以执行其他一些比较复杂的管理任务。如有些数据库系统在设计的时候,有一个库存补货点作业。当库存低于安全库存的时候,系统就会自动生成一张物料请购单,来满足安全库存的需要。由于这张表设计到的物料比较多,会占用比较多的系统资源。故可以设置每天运行一次,而运行的时间就定在CPU使用率比较低的时候。如此就可以减少对其他作业造成的负面影响。

二、 CPU空闲计划的典型应用。

其他的几种计划类型,不少数据库管理员已经非常了解。笔者今天想谈的是CPU空闲计划的应用。这个计划如果应用的好的话,可以大大提高数据库的性能。如果要想利用好这个功能,则需要回答如下两个问题。

一是什么作业需要使用CPU空闲计划?这个问题比较难回答。从理论上来说,任何作业都可以采用CPU空闲计划在自动执行。只是他们带来的效果不同。有的作业即使采用了CPU空闲计划,也不能够带来很大的性能改善。简单的来说,一些占用CPU资源比较大的作业,采用CPU空间计划规则来自动执行,可以取得比较好的效果。如数据库有时候需要重新生成索引,这项工作会占用比较多的CPU资源。而且随着数据量的增多,这个CPU使用率也会越来越高。为此,如果可以把重新生成索引的作业,放在CPU空闲时间来进行的话,那么对于提高数据库的性能效果是比较明显的。总之当某个作业比较复杂,可能需要占用到比较多的CPU或者内存资源的话,则可以采用这个CPU空闲计划。

时间: 2024-11-11 14:01:05

SQL Server 数据库自动执行管理任务_MsSql的相关文章

启动SQL SERVER时自动执行存储过程

如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". --或者在master中创建存储过程后,执行语句设置为自动启动 use master exec sp_procoption '存储过程名','startup','on' ---------------------------------------------------------------

动SQL SERVER时自动执行存储过程

server|存储过程|执行 如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". --或者在master中创建存储过程后,执行语句设置为自动启动 use master exec sp_procoption '存储过程名','startup','on' ------------------------------------------------

如何在启动SQL SERVER时自动执行一个存储过程

    本文解答如何在启动SQL SERVER的时候,执行一个存储过程的问题. 如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". 或者在master中创建存储过程后,执行语句设置为自动启动 use masterexec sp_procoption '存储过程名','startup','on' 自动执行存储过程 SQL Server 启动时可以自

改善SQL Server数据库的内存管理方法

最近,为了能在数据库服务器中运行其他应用程序,在保持数据库操作系统版本不变的前提下对数据库服务器进行了软.硬件上的升级.在软件上,将操作系统从Windows 2000升级到Windows Server 2003:在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB). 在升级后的开始几个星期之内,服务器在使用中表现良好.但是不久后就发现,在服务器上同时运行的其他应用程序却出现了异常,不时地报出内存分配不足的警告.经过几次跟踪后发现,原来是SQL Server吞去了大部分内存所致

详解SQL Server数据库链接查询的方式_MsSql

SQL Server数据库链接查询的方式的相关知识是本文我们主要要介绍的内容,我们知道,通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志.多表连接查询是使用Sql的基本操作,但连接的方式却有多种,熟练使用这些连接方式能够简化Sql语句,提高数据库运行效率. 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中.当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息.连接操作给用户带来很

SQL SERVER数据库开发之存储过程应用_MsSql

可能有不少朋友使用SQL SERVER做开发也已经有段日子,但还没有或者很少在项目中使用存储过程,或许有些朋友认为根本没有必要使用存储过程等等.其实当你一个项目做完到了维护阶段时,就会发现存储过程给我们带来了好处了,修改方便,不能去改我们的应用程序,只需要改存储过程的内容,而且还可以使我们的程序速度得到提高.   引用: SQL SERVER 联机丛书中的定义: 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合. 可以创建一个过程供永久使用,或在一个会话中

一个完整的SQL SERVER数据库全文索引的示例介绍_MsSql

首先,介绍利用系统存储过程创建全文索引的具体步骤: 1) 启动数据库的全文处理功能 (sp_fulltext_database) 2) 建立全文目录 (sp_fulltext_catalog) 3) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4) 指出表中需要全文索引的列名 (sp_fulltext_column) 5) 为表创建全文索引 (sp_fulltext_table) 6) 填充全文目录 (sp_fulltext_catalog) ---------**

SQL Server数据库中的存储过程介绍_MsSql

什么是存储过程 如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样. 竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值. 存储过程的优点:    存储过程的能力大大增强了SQL语言的功能和灵活性. 1.可保证数据的安全性和完整性. 2.通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全. 3.通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性. 4.在运行存储过程前,数据库

Sql server数据库备份还原另一方法

server|备份|数据|数据库 直接拷贝数据文件把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复: EXEC sp_attach_db @dbname = 'test', @filename1 = 'd:\mssql7\data\test_data.mdf', @filename2 = 'd:\mssql7\data\test_log.ldf' 这样就把test数据库附加到SQL Server中,可