sql agent作业的知识点

一、基础概念

SQL Server Agent是一个任务规划器和警报管理器,在实际应用和环境下,您可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行。

SQL Server Agent的重点是计划(Schedule)和作业(Job),我们创建作业,然后将作业添加到某一个计划中去,让Agent自动帮我们运行即可。简而言之,比如我们这里需要实现自动备份数据库的功能。我们新建一个备份数据库的作业,然后将这个作业添加到一个每天晚上11点执行的计划中去,最后把这个计划交个Agent就可以了。

二、创建作业并将作业添加到计划:

  1. 在“对象资源管理器”中,连接到 SQL Server 数据库引擎实例,再展开该实例。
  2. 展开“SQL Server 代理”,展开“作业”,右键单击要计划的作业,并单击“新建作业”。
  3. 输入作业名称:Job-BackupDatabase
  4. 在“步骤Setps”框中,单击“插入”,填写步骤名称:step-backdatabase。类型选择:TSQL,脚本如下所示:
 DECLARE @strPath NVARCHAR(200)

 set @strPath = convert(NVARCHAR(19),getdate(),120)

 set @strPath = REPLACE(@strPath, ‘:‘ , ‘.‘)

 set @strPath = ‘D:\bak\‘ + @strPath + ‘.bak‘

 BACKUP DATABASE [TSQL2012] TO DISK = @strPath WITH NOINIT ,   NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
  1. 这样就完成了作业的创建。
  2. 注意:此处的D:\bak\是我的路径名称,可以自定义。还有就是这个路径必须得事先创建好,不然执行作业会报错。我们这里需要备份的数据库是TSQL2012,可以根据自己需要备份的数据库来更改。
  3. 右键作业Job-BackupDatabase,选择“属性”,在“计划Schedules”标签点击“新建New”,填写计划名称:Schedule-BackupDatabase,对于“计划类型”,选择置重复执行的计划,并完成对话框上的“频率”、“每天频率”和“持续时间”。
  4. 完成上述工作以后就就相当于新建了一个计划:Schedule-BackupDatabase,并将作业:Job-BackupDatabase附加到这个计划中去。

如果要测试作业是否正常执行,可以右键选中作业,然后选择“start job at step”。当然也可以通过Agent来测试是否成功。

原文地址:https://www.cnblogs.com/hissql/p/8124501.html

时间: 2024-09-30 00:10:15

sql agent作业的知识点的相关文章

使用SQL Server作业设置定时任务

1.开启SQL Server Agent服务 使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会被执行. 以下步骤开启服务:开始-->>>运行-->>>输入"services.msc"-->>>进入服务,开启SQL Server Agent服务,并设置为自动. 如图: 2.新建作业 点击"SQL Server代理","右击作业",选择"新建作业&quo

SQL Agent 服务无法启动

问题现象 从阿里云上镜像过来的一台的数据库服务器,SQL Agent服务启动不了,提示服务启动后停止. 如下是系统日志和SQL Agent的日志 SQLServerAgent could not be started (reason: 无法连接到服务器“(local)”:SQLServerAgent 无法启动) 2016-05-20 11:09:03 - ? [100] Microsoft SQLServerAgent 版本 11.0.3000.0 (内部版本号 X64 unicode 零售):

设置Sql Agent运行Job时的执行账户

相信使用过Sql Server的人都应该知道,使用Sql Agent可以建立一些自动化Job来帮我们周期性地执行一些任务,其中执行SSIS包就是其中一个任务.而在SSIS包中有时候会去做读取文件等一些本地化操作,如果执行Sql Agent任务的执行账户权限不够有可能造成SSIS包无法读取文件执行失败.所以我们有时候需要去指定用哪一个账户去执行Sql Agent的任务. 1.要指定Sql Agent任务的执行账户首先要建立一个数据库凭证,如下图所示: 2.建立凭证时选择的标识(下图红色框指定的账户

Sqlserver Sql Agent Job 只能同时有一个实例运行

Sqlserver Sql Agent中的Job默认情况下只能有一个实例在运行,也就是说假如你的Sql Agent里面有一个正在运行的Job叫"Test Job",如果你现在再去启动一次"Test Job"就会报错,因为Sqlserver规定在一个Sqlserver账号下,Sql Agent不能同时启动相同的Job两次,只有前一次启动执行完成后,才能够再次启动该Job. 那么随之而来的问题是如何用sql语句检测Job是否已经执行完毕了呢?下面有一个语句可以作为参考:

在configure distribution时遇到错误,不能打开sql agent

今天在配置Distribution时,遇到一个错误,不能打开sql agent,详细错误信息如下: SQL Server blocked access to procedure 'dbo.sp_set_sqlagent_properties' of component 'Agent XPs' because this component is turned off as part of the security configuration for this server. A system ad

SQL Agent服务无法启动如何破

问题现象 从阿里云上镜像过来的一台的数据库服务器,SQL Agent服务启动不了,提示服务启动后停止.(原数据库服务器是正常的,怀疑跟镜像有关) 如下是系统日志和SQL Agent的日志 SQLServerAgent could not be started (reason: 无法连接到服务器“(local)”:SQLServerAgent 无法启动) 2016-05-20 11:09:03 - ? [100] Microsoft SQLServerAgent 版本 11.0.3000.0 (内

SQL SERVER 作业浅析

作业介绍 SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作.作业可以执行一系列活动,包括运行Transact-SQL脚本.命令行应用程序.Microsoft ActiveX脚本.Integration Services 包.Analysis Services 命令和查询或复制任务.作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]. 创建作业.删除作业.查看作业历史记录.

SQL Agent Job 报“Access to the remote server is denied because the current security context is not trusted”

SQL Server 2005(Microsoft SQL Server 2005 - 9.00.5000.00)下的一个作业执行一个存储过程,存储过程中动态SQL语句使用链接服务器(Linked Servers),从另外一台SQL Server服务器获取数据.但是执行时报"Access to the remote server is denied because the current security context is not trusted".但是在SSMS客户端手工执行存储

SQlServer2008 之 定时执行sql语句作业的制定

1.打开[SQL Server Management Studio],在[对象资源管理器]列表中选择[SQL Server 代理]: 2.鼠标右击[SQL Server 代理],选择[启动(S)],如已启动,可以省略此步骤: 3.展开[SQL Server 代理]列表,右击[作业]-->[新建作业]: (1)在[常规]选项卡中:输入作业名称,如"TheFirstJob": (2)在[步骤]选项卡中: [1]点击[新建],输入[步骤名称],如“ TheFirstStep ”,类型默