《MS SQL Server 2000管理员手册》系列——31. 管理作业自动化

MySQL日常维护参考手册 给 user1 用户分配对 test 这个数据库操作的权限:创建表,修改表,插入记录,更新记录,查询。此时,已成功将数据库test备份到/home/bak/2015-9-10目录下的test.sql中.执行以下命令:ln -s /usr/local/mysql/bin/mysql /usr/bin。问题原因,linux默认启动Mysql,会在根目录下的bin中去启动,因此需要创建一个软连接。如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入。 阅读详情

31. 管理作业自动化
SQL Server代理程序服务
作业
警示
SQL Server代理程序错误记录文件
本章总结
在 第 30 章 中我们看了几项自动化设定的选项,以及 SQL Server 2000 提供的数据库选项,这些选项帮助 DBA 减少了的调整作业。在本章中将学会使用 SQL Server 提供的辅助工具,以透过 SQLServer 代理程序服务来自动执行其它的管理作业。SQLServer 代理程序服务包括自动定期执行数据库的特定作业,以及服务器发生问题或事件时,通知 DBA 或其它特定人员。这些功能的好处使得 DBA 不需要用手动或不断监控数据库系统来决定何时执行特定作业,因此有更多时间用在更难的数据库问题上,如建立和调整索引、最佳化查询、或者为未来的成长预作计划。
自动化管理作业有三个主要工具:作业、警示、和操作员。在本章中,您将学会关于 SQLServer 代理程序服务,以及如何使用服务来建立及使用作业、警示、与操作员。您也可以找到关于 SQLServer 代理程序错误纪录,这个纪录可用来追踪 SQLServer 代理程序执行的工作。
SQLServer 代理程序服务
 
SQLServer 代理程序执行从 SQL Server 独立出来的服务,称为 SQLServer 代理程序。这个服务包含在 SQL Server 2000 之中,但是必须单独启动,手动或自动均可。 第 8 章 有关于启动 SQLServer 代理程序的方法说明。一旦启动服务,就要准备好定义所需要的作业、警示、和操作员。
________________________________________
说明
SQLServer 代理程序服务在 Microsoft SQL Server 6.5 中被称为 SQL Executive。它也可以用作复写,如 第 26 、 27 、 28 章 的说明。
________________________________________
作业
 
 作业 (Jobs)是管理任务,只要定义一次就可以执行好几次。您可以手动执行作业,或者用 SQL Server 安排在特定时间执行,也可以定期执行或是警示发生时执行( < 警示 > 稍后会作说明)。作业可以由 SQL Server 陈述式、Windows NT 或 Windows 2000 指令、可执行程序、ActiveX 指令码组成。作业也可以在您使用复写或建立数据库维护计划时自动帮您建立。一个作业可由单一步骤或很多步骤组成,而每个步骤可以是一个更复杂的呼叫组合步骤─例如呼叫预存程序。SQL Server 自动监控作业的成败﹔两种情况都可以设定警示。
作业可以在本地端服务器执行,或者您在网络上有多重服务器,可以指定一台作为主要服务器,其它的作为目标服务器。主要服务器替全部的服务器储存作业定义,并且作为作业清理处,协调一切作业活动。每个目标服务器定期与主要服务器相连,若有作业变更就更新作业清单,从主要服务器下载新作业,然后切断联机来执行新作业。当目标服务器完成作业时,它会再与主要服务器连接并报告它的结束状况。
我们来看看建立作业的一个假设情况。假设您有个数据库数据表,保存了每笔银行的交易纪录,例如存提款和转帐。每笔记录有一个 timestamp 数据行说明交易何时发生。这个数据表将不断增长并且需要定期删除数据。要从数据表中删除一列,您可以用 DELETE 陈述式写一个小的预存程序来删除两个月之前的旧数据(假设银行只要保留两个月的数据)。接着您可以建立一个作业来执行这个预存程序,例如每周日晚上执行一次。这样一来,您可以确保数据表不会无限制地增长。这不但可以保留磁盘空间,而且还能提升效能。执行查询时表格中的数据越少,SQL Server 就能越快完成查询。现在让我们来看看建立作业的细节。
________________________________________
说明
SQLServer 代理程序服务必须依序执行才能使您的作业正常运作。
________________________________________
建立作业
 
您可以用 Enterprise Manager、T-SQL 指令文件、建立作业精灵、或 SQL-Distributed Management Objects (SQL-DMO)来定义作业。因为 SQL-DMO 方法与计算机的程序编制有关,不在本书的范围之内。本章节您将学会其它三种有关建立作业的方法。
________________________________________
相关信息
关于使用 SQL-DMO 来建立作业,请参阅< 在线丛书 >并索引< SQL-DMO >。
________________________________________
使用 Enterprise Manager
 
先用 Enterprise Manager 建立作业。最常用的方法之一是执行数据库备份(这也可以如 第 30 章 所提的利用 维护计划精灵 来完成)。下面的例子是建立作业备份 MyDB 数据库。它安排备份在每晚 11:00 执行,并在 Windows NT 或 Windows 2000 应用事件纪录和输出档案中纪录备份作业的成败。跟着下面步骤建立名为 MyDB_backup_job 的作业:
1. 在 Enterprise Manager 左边的窗格中,展开一个服务器数据夹,展开 管理 数据夹,然后展开 SQL Server代理程序 数据夹。在 作业 上点选右键并在快捷菜单上选择 新增作业 。显示 新增作业属性 窗口,如图31-1所示。
 
 
图31-1 新增作业属性 窗口的 一般 页签
2. 在 一般 页签中设定下列选项:
o  名称 键入作业名称─这里是在文字方块中键入『MyDB_backup_job』。作业名称最多可以有 128 个字符。服务器上的每个作业都必须是唯一的名称,并要确定使用描述性的名字。
 
o  启用 该复选框指定作业应该启动还是停用。您可能想要先停用作业以手动测试来确保运作正常。测试后得知运作正常,就可以用这个复选框启动作业,这样作业就能如期执行。
 
o  作业类别 为这个作业选择类别-在这个例子中,我们使用预设类别 未分类(本机) 。您可以从已建立的作业类别中选择,这些作业类别是安装 SQL Server 时建立的,或者也可以建立您自己的类别(想学习如何建立新类别,请参阅本章后面 < 建立新类别 > 一节)。安装的类别有 Uncategorized (Local)、数据库维护计划、全文检索、Web 辅助程序,还有复写的 10 个类别。类别是用来归类相关作业的。例如,您可以将用来执行数据库维护的作业归于同一个类别中,或是依部门分类,如会计、销售、和市场营销。类别让您能够追踪多重作业-您就不须为了一小部份的作业而花时间搜寻所有作业清单。
 
o  拥有者 建立作业的使用者。只有 sysadmin 角色可以更改谁拥有作业或是变更其它使用者拥有的作业(SQL Server 角色将在 第 34 章 中说明)。所有 sysadmin 角色与作业拥有者都可以改变作业的定义,也可以启动或停止作业。在 拥有者 下拉式选单中,选择将执行作业的使用者。本例中,作业拥有者和建立作业者是同一人,所以拥有者会自动选择正确的设定,而您可以让这个设定自行运作。
 
o  描述 在该文字方块中,必须确认一个作业要执行什么任务以及作业的目的。您应该提供描述,描述让其它使用者很快决定作业的功能。描述最多可有512个位。
 
o  目标为本机服务器 如果点选这个选项,作业将只在本机服务器上执行。如果有远程服务器连接到这个服务器上的话,就可以使用 目标为多重服务器 的选项。点选这个选项来指定远程服务器上也要执行这个作业。
 
完整的样本作业 一般 页签显示如图31-2所示。

 
 
图31-2 填入一般页签
3. 点选 步骤 页签,再点选 新增 ,就会显示 新增作业步骤 对话框,如图31-3所示。 作业步骤(Job steps) 是定义作业任务的指令或陈述式。每个作业必须至少有一个作业步骤,也可以有多重步骤。在 新增作业步骤 中的 一般 页签对话框中输入下列信息:
o 在 步骤名称 字方块中键入步骤名称-在这个例子中是输入『MyDB_backup』。
 
o 从 型别 下拉式选单中,选取一种步骤类型来执行。在这个例子中, 因为要用 T-SQL 指令来执行作业,所以选取 Transact-SQL 指令码(TSQL) 。其它选项为 ActiveX Script、操作系统命令、复写散发者、复写交易记录读取程序、复写合并、复写队列读取器、和复写快照。
 
o 从 数据库 下拉式选单中选择要执行作业的数据库名称。在这个例子中,选择 MyDB 数据库。
 
o 在 命令 文字方块中键入将作为一部份作业步骤的指令,在这个例子中,指令是 T-SQL 指令,用来将 MyDB 数据库备份到一个叫做 MyDB_backup1 的备份装置上。(这个备份装置必须事先建立好, 第 32 章 中有建立备份装置的详细说明。还有,这个简单的例子中,数据库备份每晚会被写入同一个档案中。实际上,您应该如 第 30 章 所言使用数据库维护计划来执行备份,就像它会让您每天建立新的备份装置一样。)如果有一个准备好的指令文件,您想要用它作为作业,也可以点选 开启旧档 来开启档案。
 
4. 点选 剖析 ,检查 T-SQL 步骤的语法,然后点选 进阶 页签并设定选项,如图31-4所示。在这个页签中,您可以选择作业成功或失败后执行的动作:结束作业回报成功、结束作业回报失败、或是跳到下一个步骤。您也可以指定作业没有成功时应该重试的次数,以及两次重试的间隔时间。 如果这个作业包含 T-SQL 指令或是指令码,您可以选择一个输出档,里面将有 T-SQL 的输出报告。您也可以在每次作业执行时,将输出附加在这个档案后,或是每次都覆写输出档案。点选 检视 来检视输出档案的内容。选取 将输出附加至步骤历程记录中 复选框让作业输出附加在作业历程记录表项目中。您也可以指定执行 T-SQL 的使用者。
 
 
图31-3 填写后的「新增作业步骤」对话框「一般」页签

 
 
图31-4 「新增作业步骤」对话框中填写后的「进阶」页签
5. 在已有的步骤前插入一个需要执行的新步骤,选取需要插入新步骤的现有步骤,然后点选 插入 显示 新增作业步骤 对话框,输入您要插入的步骤信息。要删除步骤,选取步骤后点选 删除 ;要编辑步骤,选取步骤后点选 编辑 。您也可以移动清单中的步骤,选取步骤后点选 移动步骤 右边的上下箭头。 起始步骤 下拉式选单允许您选择作业中哪个步骤要先执行。要先执行的步骤 ID 号码旁会出现一个绿色的标记。点选 套用 将步骤应用在作业中。如果在多重步骤之间有任何流程逻辑会导致一个步骤无法执行的话,SQL Serve 会在您点选 套用 时显示警示讯息,并且允许您修改流程逻辑。
6. 要为一个作业建立排程,点选 排程 页签。要找出服务器的目前时间,就要在 注意:目标服务器目前日期时间 下拉式选单中选取服务器名称。现在点选 新的排程 来显示 新增作业排程 对话框,如图31-5所示。排程将指定何时何日该执行作业,可在某一时刻执行也可以定期执行。如果您想在任意时刻用手动执行作业,那就不需要作业排程-您可以在想要执行作业时执行。填入排程名称 MyDB_backup_schedule,并在 排程类型 区域中设定选项(在这里要选择 重复执行 ),然后选取 启用 复选框,如图31-5所示。 启用 复选框在这里的功能和它在 新增作业属性 窗口中的功能一样。
7. 由于我们选择重复排程类型,您必须设定作业要在何时何日执行。要这样做的话,就点选 变更 显示 编辑重复执行作业排程 对话框。键入新时间和日期,点选 确定 回到 新的排程 对话框。(记住我们要在每晚 11 点设定一个每日备份。)
8. 在 新的排程 对话框中点选 确定 以接受您的排程,并回到 新作业属性 窗口。要删除排程,就选取排程名称并点选 删除 ;要编辑排程, 就选取排程名称并点选 编辑 。
 
 
图31-5 新的排程对话框
________________________________________
说明
您也可以替这个作业建立新警示。本章稍后将提到警示的更多细节。
________________________________________
9. 点选 告知讯息 页签,如图31-6所示。在这个页签上,您可以设定一个通知程序,那么操作员(或指定使用者)在作业成功、失败、或完成时会收到通知。通知可以透过电子邮件、呼叫器、或用 NET SEND 指令当成讯息透过网络传送。您可以将作业状态写入 Windows NT 或 Windows 2000 事件纪录中,甚至可以在作业成功、失败或完成后自动删除作业。若要设定操作员通知,就依需要选择 电子邮件操作员 、 传呼操作员 、和 网络传送操作员 复选框,然后在右边下拉式选单上选取操作员名称。(见本章后面 < 操作员 > 一节来学会如何建立操作员。)在最左边的下拉式选单中选取执行通知的条件。作业完成要将结果写入事件纪录或自动删除作业的时候,请选择适当的复选框,然后在相关的下拉式选单上选取执行动作的条件。在这个例子中, 要选取 写入Windows应用程序事件记录文件 复选框。
 
 
图31-6 新作业属性窗口的告知讯息页签
10. 完成设定选项后,点选 套用 来建立您的作业。然后点选 确定 退出 新作业属性 窗口回到 Enterprise Manager。
11. 在 Enterprise Manager 左边窗格中点选 作业 ,您将在右边窗格中看到含有 MyDB_backup_job 的清单。
 建立新类别 要建立新类别,请在 Enterprise Manager 左边窗格中开启一个服务器,展开 管理 数据夹,在 作业 上点选右键,在快捷菜单上点选 所有工作 , 接着选择 管理作业类别 。 作业类别 对话框出现,如图31-7所示。您可以在这里加入一个类别,检视现有类别和在类别中的作业,并可删除类别。
使用 T-SQL
 
T-SQL 命令可用来建立作业、增加步骤、并建立作业排程,这些命令分别是系统预存程序 sp_add_job、sp_add_jobstep 和 sp_add_jobschedule。这些预存程序有多个选择性参数,如下面的程序代码所示。SQL Server 对每个未指定的参数会分配一个默认值。用 Enterprise Manager 建立作业比较简单,因为它的图形化使用者接口会引导您设定作业选项,避免您漏掉一些参数。使用 T-SQL 您必须包含所有选择性参数的值,或确定任何您忽略的预设参数值能够满足作业需要。您应该用 Enterprise Manager 代替用手动来执行预存程序。您可以产生 T-SQL 指令文件,让 Enterprise Manager 用指令文件建立作业,在作业名称上点选右键,在快捷菜单中选取 所有工作 ,接着选择 产生SQL指令码 。如果需要的话,这个技术允许您用指令文件重新建立作业。

 
 
图31-7 作业类别对话框
要执行刚才所提的预存程序,您必须使用 msdb 数据库,因为这是储存程序的地方。如果要使用这些程序,要先看看预存程序中哪些参数是可用的。本章中所有的预存程序都使用同样的一般语法。预存程序 sp_add_job 的语法如下:
sp_add_job [ @job_name = ] 'job_name'
[ , [ @enabled = ] enabled ]
[ , [ @description = ] 'description' ]
[ , [ @start_step_id = ] step_id ]
[ , [ @category_name = ] 'category' ]
[ , [ @category_id = ] category_id ]
[ , [ @owner_login_name = ] 'login' ]
[ , [ @notify_level_eventlog = ] eventlog_level ]
[ , [ @notify_level_email = ] email_level ]
[ , [ @notify_level_netsend = ] netsend_level ]
[ , [ @notify_level_page = ] page_level ]
[ , [ @notify_email_operator_name = ] 'email_name' ]
[ , [ @notify_netsend_operator_name = ] 'netsend_name' ]
[ , [ @notify_page_operator_name = ] 'page_name' ]
[ , [ @delete_level = ] delete_level ]
[ , [ @originating_server = ] 'server_name' ]
[ , [ @job_id = ] job_id OUTPUT ]
sp_add_jobstep 的语法如下:
sp_add_jobstep [ @job_id = ] job_id | [ @job_name = ] 'job_name'
[ , [ @step_id = ] step_id ]
{ , [ @step_name = ] 'step_name' }
[ , [ @subsystem = ] 'subsystem' ]
[ , [ @command = ] 'command' ]
[ , [ @additional_parameters = ] 'parameters' ]
[ , [ @cmdexec_success_code = ] code ]
[ , [ @on_success_action = ] success_action ]
[ , [ @on_success_step_id = ] success_step_id ]
[ , [ @on_fail_action = ] fail_action ]
[ , [ @on_fail_step_id = ] fail_step_id ]
[ , [ @server = ] 'server' ]
[ , [ @database_name = ] 'database' ]
[ , [ @database_user_name = ] 'user' ]
[ , [ @retry_attempts = ] retry_attempts ]
[ , [ @retry_interval = ] retry_interval ]
[ , [ @os_run_priority = ] run_priority ]
[ , [ @output_file_name = ] 'file_name' ]
[ , [ @flags = ] flags ]
sp_add_jobschedule 的语法如下:
sp_add_jobschedule [ @job_id = ] job_id,| [ @job_name = ] 'job_name',
[ @name = ] 'name'
[ , [ @enabled = ] enabled ]
[ , [ @freq_type = ] freq_type ]
[ , [ @freq_interval = ] freq_interval ]
[ , [ @freq_subday_type = ] freq_subday_type ]
[ , [ @freq_subday_interval = ] freq_subday_interval ]
[ , [ @freq_relative_interval = ] freq_relative_interval ]
[ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @active_start_time = ] active_start_time ]
[ , [ @active_end_time = ] active_end_time ]
________________________________________
相关信息
有关每个参数和它的默认值说明,请参阅< 在线丛书 >索引中相关的预存程序名称。
________________________________________
________________________________________
说明
这里所提的预存程序,就像其它与建立和管理作业相关的预存程序一样,操作员、通知和警示都存在 msdb 数据库中。您必须使用这个数据库来执行预存程序。
________________________________________
使用建立作业精灵
 
Enterprise Manager 提供了一个精灵,这个精灵会一步一步引导您进行作业建立过程,唯一的限制是它限制您只能建立单一步骤的作业。然而,它允许您提供一个作业排程,并指定被通知作业状态的操作员。建立作业后,您可以用 Enterprise Manager 修改作业,增加更多作业步骤。
依下列步骤,用 建立作业精灵 来建立作业:
1. 从 Enterprise Manager 的 工具 下拉式选单中选择 精灵 ,在 选择精灵 对话框中打开 管理 数据夹,并选取 建立作业精灵 ,显示 建立作业精灵 欢迎画面,如图31-8所示。
2. 点选 下一步 显示 选择作业命令类型 画面,如图31-9所示。这个画面可以指定您要建立作业的步骤类型。在这个例子中,要选取 Transact-SQL 命令 。
 
 
图31-8 「建立作业精灵」欢迎画面

 
 
图31-9 「选择作业命令类型」画面
3. 点选 下一步 ,显示 输入Transact-SQL陈述式 画面(图31-10)。您必须选择执行指令的数据库,然后为作业键入陈述式,或者按一下 开启旧档 来寻找或开启含有 T-SQL 命令的档案。按一下 剖析 ,检查您输入的 T-SQl 陈述式的语法。如果您已经选择 操作系统Shell命令 或者 Active Script 作为指令类型,您就必须为这些类型输入指令。例如,键入 T-SQL 指令备份 master 数据库到事先建立的 backup_master_dev 装置,如图31-10所示。
 
 
图31-10  输入 Transact-SQL 陈述式画面
4. 按一下 下一步 ,显示 指定作业排程 画面,如图31-11所示。您可以在这里指定何时执行作业。
 现在 选项指定作业将在精灵完成作业时执行。其它的选项一看便知。在这个例子中,选取 重复执行 ,然后选择 排程 来设定排程。出现 编辑重复执行作业排程 对话框,如图31-12所示。使用这些选项建立需要的数据库,并按一下 确定 接受设定,回到 指定作业排程 画面。

 
 
图31-11 指定作业排程画面

 
 
图31-12 「编辑重复执行作业排程」对话框
5. 按一下 下一步 ,显示 作业通知 画面,如图31-13所示。在 网络传送 或 电子邮件 下拉式选单上选取通知作业完成状态的操作员。您必须已经为显示在清单上的作业定义好操作员。(图31-13显示未定义操作员。)如果要通知尚未定义的操作员,就请完成这个精灵然后新增一个操作员(本章后面 < 操作员 > 一节会说明)。接着可以更改通知操作员的作业属性。您也可以取消精灵、建立操作员、然后重新启动精灵。
 
 
图31-13 「作业通知」画面
6. 按一下 下一步 ,显示 完成建立作业精灵 画面,如图31-14所示。在这里的 作业名称 文字方块中为作业分配一个名称来取代默认值。在本例中,我们的作业命名为 Backup_master_job。检查 描述 方块中的内容,确定显示出您要的选项,并按一下 完成 来建立作业。如果您要的选项没出现,按一下 上一步 做些修正。如果作业成功建立起来的话,将会出现一个消息框。按一下 确定 关闭这个消息框。
完成 建立作业精灵 之后,Enterprise Manager 的 作业 数据夹将出现新作业。

 
 
图31-14 完成建立作业精灵画面
管理作业
 
您可以透过 Enterprise Manager 或使用 T-SQL 来管理或编辑作业。对您来说Enterprise Manager 可能比较容易使用,因为您不必担心 T-SQL 预存程序的语法和默认值,而且 Enterprise Manager 的 GUI 会引导您设定作业属性。
使用 Enterprise Manager
 
您可以用 Enterprise Manager 以手动方式为作业启动、停止、停用、启用、编辑、以及建立T-SQL程序代码。这些任务的每个用法说明如下:
•  要开始作业,在Enterprise Manager右边窗格的作业名称上按一下右键,并在快捷菜单中选择 启动作业 。
 
•  要停止正在执行的作业,并删除设定好的重试步骤,在作业名称上按一下右键,并在快捷菜单中选择 停止作业 。
 
•  停用作业,让作业在不允许执行的排程时间内可以测试。在作业名称上按一下右键,并从快捷菜单中选取 停用作业 。选择 启用作业 可以再度启用作业。
 
•  要编辑作业、排程、或其它的作业属性,在作业名称上按一下右键,并从快捷菜单中选取 内容 ,显示作业的 属性 窗口,窗口中包含了用来建立作业的4个相同页签。做好修改之后,按一下 套用 ,然后按 确定 。
 
•  如果要在不重新输入陈述式的情况下随时重建作业,就要替作业建立一个T-SQL 指令码,在作业名称上按一下右键,在快捷菜单中选取 所有工作 ,然后选择 产生SQL指令码 ,显示 产生SQL指令码 对话框。键入文件名称,选择档案格式(Unicode、ANSI 或者 OEM 文字),按一下 确定 。
 
使用 T-SQL
 
您也可以用下面的 T-SQL 预存程序来开始、停止、启动、停用和编辑一个作业。执行这些程序时,记得使用 msdb 数据库。
•  sp_start_job 立即开始指定的作业。这个程序需要作业名称或是作业 ID编号。
 
•  sp_stop_job 停止正在执行的作业。这个程序需要作业名称、作业 ID、或者主机服务器名称。
 
•  sp_update_job 允许您启用、停用、并改变作业的属性。这个程序需要作业名称或是作业 ID编号。
 
________________________________________
相关信息
要检视这些可以一起使用的预存程序和选项的语法,请参阅< 在线丛书 >并索引「指定预存程序」。
________________________________________
检视作业历程记录
 
SQL Server 在 msdb 系统数据库的 sysjobhistory 数据表中维护作业执行信息的历程纪录。您可以用 Enterprise Manager 或 T-SQL 来检视作业历程记录信息。
使用 Enterprise Manager
 
跟着下面步骤用 Enterprise Manager 来检视作业历程记录:
1. 在 Enterprise Manager 右边窗格的作业名称上点选右键,从快捷菜单上 选取 检视作业历程记录 ,显示 作业历程记录 对话框,如图31-15所示。在这里您将看到一行描述每个作业执行的信息、操作员的通知、以及在SQLServer 上接收到的错误或讯息。
 
 
图31-15 作业历程记录对话框
2. 要检视作业执行状态的其它细节,请在对话框的右上角选择 显示步骤详细信息 复选框。图31-16显示 MyDB 备份的细节。
 
 
图31-16 显示在 作业历程记录 对话框中的详细步骤
3. 要清除所有讯息,请点选 全部清除 。要更新画面来检视作业状态(开启 作业历程记录 对话框后所执行的新作业),请点选 重新整理 。要关闭 作业历程记录 对话框,请点选 关闭 。
使用 T-SQL
 
使用 T-SQL 检视关于作业排程的作业历程记录信息,在 msdb 数据库执行预存程序 sp_help_jobhistory。语法如下:
sp_help_jobhistory [ [ @job_id = ] job_id ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @sql_message_id = ] sql_message_id ]
[ , [ @sql_severity = ] sql_severity ]
[ , [ @start_run_date = ] start_run_date ]
[ , [ @end_run_date = ] end_run_date ]
[ , [ @start_run_time = ] start_run_time ]
[ , [ @end_run_time = ] end_run_time ]
[ , [ @minimum_run_duration = ] minimum_run_duration ]
[ , [ @run_status = ] run_status ]
[ , [ @minimum_retries = ] minimum_retries ]
[ , [ @oldest_first = ] oldest_first ]
[ , [ @server = ] 'server' ]
[ , [ @mode = ] 'mode' ]
如果您没有用参数或是没有使用 job id 或 job name 参数来执行程序的话,关于所有作业排程的信息将被退回。mode 参数指定是否要退回所有历史信息(FULL)或是退回一个摘要(SUMMARY)。默认值设定为 SUMMARY。
________________________________________
相关信息
关于预存程序其它选项的细节,请查阅< 在线丛书 >并索引 sp_help_jobhistory。
________________________________________
警示
 
 警示 (alert)是发生在服务器上,对于事件或是执行状况的一个响应动作。警示可以通知操作员,使得指定的作业能够执行,并将事件转交到另一个服务器上。 事件 (event)是一个错误或讯息,它被写入 Windows NT 或 Windows 2000 应用程序事件记录中(您可以用 Windows NT 或 Windows 2000 Event Viewer 来检视)。 效能条件 (performance condition)是系统效能的特色,可以用 Windows NT 效能监视器或 Windows 2000 系统监视器来监视,如 CPU 公用程序或被 SQL Server 使用的多个锁定。在本章中,我们将着重在 Windows 2000 的系统监视器上,纵使 Windows NT 效能监视器的用法也很相近。
事件发生时,SQLServer 代理程序将比较事件与您所定义的警示清单,如果警示已被事件所定义的话,那警示就会启动。当所定义的效能门坎达到系统监视器中指定的 SQL Server 对象,就会引发效能条件的警示,就像在系统监视器对象 General Statistics 之下的计数器 User Connections。例如,您可以设定当计数器的值达到 50 时发生警示。( 第 36 章 中有系统监视器的说明。)
________________________________________
说明
为了让您的警示能够运作,必须执行 SQLServer 代理程序服务。
________________________________________
事件讯息纪录
 
在说明如何为事件建立警示之前,我们先回顾一下让讯息传送到 Windows NT或 Windows 2000 应用程序事件记录的事件类型;只有这些事件可以用来设定警示。事件(或错误)重要层级从 19 到 25 是自动回报到 Windows NT 或 Windows 2000 应用程序事件记录中的,因此可以启动警示。默认值中事件重要层级少于 19 的都没有纪录,所以警示就不能用这些事件启动。要使那些事件能够记录并且可以启动的话,您必须使用 sp_altermessage、RAISERROR WITH LOG 陈述式,或者 xp_logevent 来改变事件或讯息的纪录状态。本节中,您将学到如何建立使用者定义的事件讯息,并学会如何发出警示讯息以确保事件将写入应用程序事件记录中。
________________________________________
说明
当 SQL Server 讯息纪录在 Windows NT 或 Windows 2000 应用程序事件记录时,它同时也记录在 SQL Server 记录中了。要在 Enterprise Manager 中检视 SQL Server 记录,请展开 管理 数据夹,然后展开 SQL Server记录文件 数据夹。
________________________________________
建立使用者定义事件讯息
 
系统所有的信息和使用者定义讯息都储存在 master 数据库的 sysmessages 数据表中。要建立使用者定义讯息,请用 T-SQL 系统 sp_addmessage 预存程序,语法如下:
sp_addmessage [ @msgnum = ] msg_id ,
[ @severity = ] severity ,
[ @msgtext = ] 'msg'
[ , [ @lang = ] 'language' ]
[ , [ @with_log = ] 'with_log' ]
[ , [ @replace = ] 'replace' ]
使用者定义讯息必须有一个讯息 ID 值(msg_id)为 50001 或者更大的值。Severity 参数是错误的重要层级,范围从 1 到 25,越高的数字表示越高错误的重要层级。只有系统管理员可以将重要层级设定成 19 到 25。msg_text 参数是错误讯息的内容,当错误发生时会显示在应用程序事件记录中。language 参数指定讯息使用哪种语言写入,因为 SQL Server 可以安装多种语言。with_log 参数可设定成 TRUE 或 FALSE,指定讯息是否要记录在 Windows NT 或 Windows 2000 应用程序事件记录中。默认值为 FALSE,这样在使用 RAISERROR WITH LOG(在下一节说明)时会覆写这个设定值。Replace 参数指定新讯息应该取代现存有相同讯息 ID 编号的讯息。
Public 角色成员可允许执行 sp_addmessage,但是要建立讯息重要层级为 18 以上或将 with_log 设定成 TRUE 的话,您就必须是 sysadmin 角色成员之一。
我们来看看一个使用 sp_addmessage 的例子。下面的陈述式建立一个记录在事件记录当中的新讯息(因为 with_log 被设定成 TRUE):
sp_addmessage 50001, 16,"Customer ID is out of range.", @with_log="TRUE"
GO
事件讯息的警示记录设定
 
假设一个现有的讯息或是您刚建立的讯息不允许记录(或者您没有包含 with_log 参数),就像下面的例子:
sp_addmessage 50001, 16,"Customer ID is out of range.", @with_log="TRUE"
GO
如果您稍后要记录讯息的话,就必须改变讯息的纪录状态。这样的话,请使用sp_altermessage 设定记录,如下面的例子:
sp_altermessage 50001, WITH_LOG, "TRUE"
GO
另一种方法,您可以在 WITH LOG 选项中使用 RAISERROR 叙述,将讯息回传到应用程序,并回传到应用程序事件记录以及 SQL Server 记录中。例如,下面叙述用重要层级为 16、状态值为 1 来传送讯息 50001,状态(state)是当错误发生在编码中不止一个地方的时候,用来追踪的数字:
RAISERROR (50001, 16, 1) WITH LOG
GO
________________________________________
相关信息
有关使用 RAISERROR 的更多细节,请参阅< 在线丛书 >索引中的RAISERROR,在 找到的主题 对话框中选择 使用 RAISERROR 。
________________________________________
要改变讯息的记录状态,您可以使用在 master 数据库中的延伸预存程序xp_logevent。使用这个程序时,讯息将被传送到事件记录和 SQL Server 记录中,但不会传送到客户端的应用程序中。下面是使用这个程序的例子:
USE master
GO
xp_logevent 50002, "Customer ID is out of range.", warning
GO
要有前两个参数,并且必须含有使用者定义讯息 ID 编号(一定要大于 50000)和出现在输出纪录的消息正文。第三个参数-重要层级-是选择性的,可以是 informational、warning 或 error 三个字符串之一。重要层级的设定决定了在 Event Viewer 中,讯息之后要出现什么类型的图像,这样才能够很快地识别出警告或者错误。在 Windows 2000 中,信息的讯息有一个蓝色的 i 图像,警告讯息有一个黄色的 ! 图像,而错误讯息有一个红色的 X 图像。如果没有指定重要层级,默认值为 informational。
建立警示
 
现在我们准备在事件和效能条件上建立警示。要建立警示,您可以使用 Enterprise Manager、T-SQL 或 SQL-DMO。我们将只说明 Enterprise Manager 和 T-SQL 方法,因为 SQL-DMO 超出本书范围。
使用 Enterprise Manager 建立事件警示
 
在这个例子中,我们将在重要层级为 24 的系统讯息上建立一个警示。讯息在事件记录中以默认值纪录,使用者不需要介入变更它的记录状态。请跟着下面步骤建立事件警示:
1. 在 Enterprise Manager 的左边窗格中展开一个服务器数据夹,展开 管理 数据夹,展开 SQL Server代理程序 数据夹。在 警示 上按一下右键,并在快捷菜单上选取 新增警示 ,出现 新增警示属性 窗口,如图31-17所示。在 一般 页签上键入警示的名称(可输入128个字符)。在这个例子中键入『IO_error_alert』。 启用 复选框允许您启用或停用这个警示。停用警示将导致它不被引发,就像停用作业一样。本例中,要确定警示可启用。在 型别 下拉式选单中选择 SQL Server事件警示 ,因为我们要建立警示,而这个警示在某个事件发生时会被解除。(另一种警示类型选项是S QL Server 效能条件警示,这种警示类型的例子将在下一节说明。)我们的例子是要建立当 I/O 错误发生时会解除的警示。
 
 
图31-17 「新增警示属性」窗口的「一般」页签
2. 在 新增警示属性 窗口的 事件警示定义 区域中,选择 错误号码 或 重要性 指定您要启动警示的事件,然后指定一个错误编号或是重要层级。如果重要层级指定好了,那个重要层级的所有错误都将引发警示。在本例中,要选取 错误号码 ,然后点选 ... 按钮来寻找编号。出现 管理SQL Server讯息 对话框,如图31-18所示。
3. 要搜寻指定的错误,请在 搜寻 页签中的 重要性 清单上选取一个类别,然后按一下 寻找 。找到的错误讯息将列在 讯息 页签上。 搜寻 页签的底部有两个复选框,可以用来限制搜寻。 只包含记录的讯息 复选框可以让搜寻来检索自动记录在事件记录中的讯息。 只包含使用者自订的讯息 复选框限制只能搜寻使用者定义的讯息。例如,要寻找所有严重的硬件错误,要选取在 重要性 清单方块中的 024-严重错误 : 硬件错误 ,然后按一下Find。错误编号823(重要层级为24)将出现在 讯息 页签上,如图31-19所示。
 
 
图31-18 「管理SQL Server讯息」对话框的「搜寻」页签

 
 
图31-19 「管理SQL Server讯息」对话框的「讯息」页签
4. 按一下 确定 接受这个讯息,并回到 新增警示属性 窗口的 一般 页签。 数据库名称 下拉式选单让您指定只有当事件来自选取的数据库中,警示才会引发。保持 所有数据库 的默认值设定。 错误讯息中所含的文字 文字方块允许您键入字符串(可到 100 个位),来限制将引发警示的错误,而这些错误文字将显示那些刚键入的字符串。如果让这个文字方块空着的话,就不会受到任何限制。
5. 按一下 回应 页签,如图31-20所示。这个页签中,您可以指定警示发生时应该采取什么行动。选取 执行作业 复选框,在下拉式选单上选取一个作业名称,让作业可以在警示发生时执行。按一下 新增操作员 ,建立一个新操作员来通知。现有的操作员会出现在 通知操作员 清单上。您可以指定操作员是否应该用电子邮件、呼叫器、网络传送、或是综合上述方法来通知。
 
 
图31-20 「新增警示属性」窗口的「响应」页签
如果指定用电子邮件通知操作员,而且也选取了 将警示的错误文字包含于 复选框,错误文字将在警示讯息中传送给操作员。在电子邮件中将附加的文字键入到页签底部的 待传送的其它告知讯息 文字方块。附加文字最多可有 512 位。图31-20显示操作员 TestOperator,选择用电子邮件通知。附加的讯息包含在内。注意 响应间隔延迟 文字方块。这些文字方块设定指定警示重复发生时,操作员将多久被通知一次。设定 60 分钟表示操作员每 60 分钟被通知一次。
6. 要接受您输入的的警示和响应,请按一下 套用 。然后点选 确定 来关闭窗口。
使用 Enterprise Manager 建立效能条件警示
 
当某种效能条件发生时,我们可使用 Enterprise Manager 建立效能条件警示。注意,SQLServer 代理程序每 20 分钟轮询一次效能计数器,所以如果在轮询之间有几秒钟的高低情况发生,是监测不到的。跟着下面步骤建立警示:
1. 在 Enterprise Manager 的左边窗格中展开一个服务器数据夹,展开 管理 数据夹,展开 SQL Server代理程序 数据夹。在 警示 上按一下右键,并在快捷菜单上选取 新增警示 ,出现 新增警示属性 窗口(图31-21)。在 一般 页签的 名称 文字方块中为警示键入一个名称(本例中使用的名称是user_alert)。指定一个效能条件警示,选取 型别 下拉式选单中的 SQL Server效能条件警示 。
2. 在 效能条件警示定义 区域,定义一个将启动警示的效能条件。选取您要使用的 SQL Server 效能对象,作为 对象 下拉式选单中的启动对象,然后选取要在 计数器 下拉式选单中使用的计数器。设定 发出警示的时机为计数器达 选项,指定在哪种情况下警示会被引发。最后设定一个门坎,如果超过这个特定值,就会引发警示。图31-21显示当 SQL Server User Connections 计数器到达100时,这个设定就会引发警示。
3. 要完成警示的设定,就在 回应 页签上设定选项,如前面步骤5所述。 按一下 套用 然后按 确定 。
 
 
图31-21 「新增警示属性」窗口的「一般」页签
使用 T-SQL 建立事件警示或效能条件警示
 
您也可以使用 T-SQL 来建立警示,但是要记得如果用 Enterprise Manager 建立警示,您可以为那些警示产生 T-SQL 指令码。(要这样做的话,请在 SQL Server代理程序 数据夹中的 警示 上按一下右键,在快捷菜单上点选 所有工作 ,然后选择 产生SQL指令码 。)您可能会发现用 Enterprise Manager 建立警示比较容易,因为 T-SQL 方法需要学习并记住很多选项参数以及它们的默认值。
要用 T-SQL 增加警示,请使用 sp_add_alert 预存程序。不管要建立事件警示或是效能条件警示,都要使用这个程序。参数选项决定警示要建立成何种类型。sp_add_alert 的语法如下:
sp_add_alert [ @name = ] 'name'
[ , [ @message_id = ] message_id ]
[ , [ @severity = ] severity ]
[ , [ @enabled = ] enabled ]
[ , [ @delay_between_responses = ] delay_between_responses ]
[ , [ @notification_message = ] 'notification_message' ]
[ , [ @include_event_description_in = ] include_event_description_in ]
[ , [ @database_name = ] 'database' ]
[ , [ @event_description_keyword = ] 'event_description_keyword_pattern']
[ , { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ]
[ , [ @raise_snmp_trap = ] raise_snmp_trap ]
[ , [ @performance_condition = ] 'performance_condition' ]
[ , [ @category_name = ] 'category' ]
预存程序用来修改警示、检视警示信息,并分别删除 sp_update_alert、sp_help_alert 和 sp_delete_alert 的警示。记住,所有的预存程序都可在 msdb 数据库中找到。
________________________________________
相关信息
关于本节所提的程序细节,请参阅< 在线丛书 >并索引 < 预存程序 >。
________________________________________
操作员
 
 操作员 (operators)是可以在作业完成或警示发生时,从 SQL Server 接收通知的个人。操作员是一个人,负责维护执行 SQL Server 的系统。您已经学会如何定义传送给操作员的通知讯息。正如前面所提,用来与操作员联系的方法有三种:传送电子邮件讯息、呼叫、和使用网络传送指令(传送网络讯息到操作员的计算机中)。系统必须符合好几个必要条件才能才能让这些方法顺利运作。使用电子邮件和呼叫联系的话,必须在服务器上安装 MAPI-1-compliant e-mail client(MAPI表示 Messaging API),如 Outlook 或是 Exchange Client,而且必须为 SQLServer 代理程序建立一个邮件档案夹。使用呼叫,还需要在邮件服务器上安装三方的 e-mail-to-pager 软件来处理内部的电子邮件讯息,并且将讯息转换成呼叫讯息。使用网络传送,必须以 Windows NT 或 Windows 2000 为操作系统-网络传送不支持 Windows 95/98。
________________________________________
相关信息
关于如何设立邮件数据夹,请参阅您的 email 用户软件文件。有关 pager-to-e-mail 软件的详细信息,请参阅您的呼叫服务提供员或呼叫文件数据。
________________________________________
在 SQL Server 上必须定义每个操作员。您可以建立不只一个操作员来分担责任,在联络不上其它操作员时,就通知故障安全防护操作员(例如在呼叫失败时)。您可以使用 Enterprise Manager、T-SQL 和 SQL-DMO 来建立操作员。本节将说明 Enterprise Manager 和 T-SQL 的方法,SQL-DMO 则不在本书讨论范围之内。
使用 Enterprise Manager 建立操作员
 
跟着下列步骤用 Enterprise Manager 建立操作员:
1. 在 Enterprise Manager 的左边窗格中展开一个服务器数据夹,展开 管理 数据夹,展开 SQL Server代理程序 数据夹。在 操作员 上按一下右键,并从快捷菜单上选取 新增操作员 ,显示 新增操作员属性 窗口,如图31-22所示。在 一般 页签中为新操作员键入名称,然后输入一个或多个:操作员的电子邮件名称、呼叫器的电子邮件名称、以及网络传送地址。
如果输入呼叫地址,您可以指定在 传呼待命排程 区域中何时可以呼叫操作员。例如,如果有不只一位操作员,您可以分配责任,让一个操作员在星期一、三、五、和星期日被呼叫,而另一个操作员在星期二、四、和星期六被呼叫。
2. 按一下 告知讯息 页签。如果点选 警示 (在标页签的右上角),会显示存在的警示清单,如图31-23所示。在字段中选择复选框,您可以指定何种警示将通知操作员,以及将用何种联络方法通知操作员。
 
 
图31-22 「新增操作员属性」窗口的「一般」页签

 
 
图31-23 「新增操作员属性」窗口的「一般」页签出现「警示」
3. 建立新操作员时,您将无法点选 作业 ,因为没有作业要通知新的操作员,而且新的操作员也还不存在。要避免新的操作员接收通知,请清除 操作员已准备接收告知讯息 复选框。停用这个选项使您暂停传送通知给操作员-例如,在操作员度假时。然后当操作员回来时,您可以撤销复选框再启用通知。
4. 按一下 传送电子邮件 按钮,建立列在 一般 页签上用来传给操作员的文字讯息。(如果没有输入电子邮件地址的话,将出现错误。)您可以传送电子邮件,描述为操作员建立的通知类型。在 告知讯息 页签底部,将看到关于最近键入、用来通知操作员的信息。
使用 T-SQL 建立操作员
 
T-SQL 指令用来建立操作员、修改操作员信息、检视操作员信息、以及删除操作员。在 msdb 数据库中系统的预存程序分别有:sp_add_operator、sp_update_operator、sp_help_operator 和 sp_delete_operator。您可能会再度觉得使用 Enterprise Manager 是比较容易的方法。用 Enterprise Manager 建立操作员后,可以产生 TSQL 指令码。
这里是 sp_add_operator 的语法:
sp_add_operator [ @name = ] 'name'
[ , [ @enabled = ] enabled ]
[ , [ @email_address = ] 'email_address' ]
[ , [ @pager_address = ] 'pager_address' ]
[ , [ @weekday_pager_start_time = ] weekday_pager_start_time ]
[ , [ @weekday_pager_end_time = ] weekday_pager_end_time ]
[ , [ @saturday_pager_start_time = ] saturday_pager_start_time ]
[ , [ @saturday_pager_end_time = ] saturday_pager_end_time ]
[ , [ @sunday_pager_start_time = ] sunday_pager_start_time ]
[ , [ @sunday_pager_end_time = ] sunday_pager_end_time ]
[ , [ @pager_days = ] pager_days ]
[ , [ @netsend_address = ] 'netsend_address' ]
[ , [ @category_name = ] 'category' ]
________________________________________
相关信息
列在本节中关于预存程序选项的细节,请参阅< 在线丛书 >索引中 < 预存程序 >的部分。
________________________________________
SQLServer 代理程序错误记录文件
 
SQLServer 代理程序服务本身拥有错误记录,记录了 SQLServer 代理程序的启动与关闭,以及任何跟S QLServer 代理程序作业或警示相关的警告、错误和通知讯息。要使用 SQLServer 代理程序错误记录文件,请跟着这些步骤进行:
1. 在 Enterprise Manager 的左边窗格中展开一个服务器数据夹,展开 管理 数据夹,展开 SQL Server代理程序 数据夹上按一下右键,并从快捷菜单上选取 显示错误记录文件 ,出现错误记录,如图31-24所示。
2.  型别 下拉式选单让您检视错误讯息、警告讯息、信息讯息或者全部的讯息(所有类型)。图31-25显示在开启 SQLServer 代理程序之后,错误讯息看起来像什么。(注意, 所有类型 是在 型别 下拉式选单中选取的。)
 
 
图31-24 「SQL Server代理程序错误记录」对话框

 
 
图31-25 「SQL Server代理程序错误记录」对话框,显示所有讯息的类型
3. 每次开启 SQLServer 代理程序时,错误讯息将重新启动,覆写记录中的现有讯息。您可以搜寻含有特定字符串的讯息,只要在 内含的文字 文字方块中键入字符串,然后按Enter或者点选 套用筛选条件 。图31-26显示搜寻字符串 CPU 之后的错误记录。
 
 
图31-26 错误纪录讯息中搜寻字符串的结果
4. 在讯息上按两下,检视 SQL Server 代理程序 Error Log Message 对话框,如图31-27所示。
 
 
图31-27 「SQL Server代理程序错误纪录讯息」对话框
如果搜寻结果不止一种讯息,您可以用 上一步 和 下一步 按钮来转换讯息。如果只找到一个讯息,这些按钮将无法使用。
如果操作员因为某种原因或是作业无法执行而联络不上的话,SQLServer 代理程序错误纪录将收到一个错误讯息。您应该偶尔检查这个错误记录,确定是否发生任何错误需要处理。
本章总结
 
在本章中,您学会了如何使用 SQLServer 代理程序服务,透过定义作业和操作员、设定通知给操作员、以及建立事件警示和效能条件警示来使管理工作自动化。您学会了在建立事件警示时,错误重要层级的重要性,以及如何变更错误讯息的记录状态,以便在 Windows NT 或 Windows 2000 应用程序事件记录中启用纪录。您还学会了如何检视 SQLServer 代理程序错误记录文件,档案中记录了关于 SQLServer 代理程序的信息,以及发生在警示与作业中的错误和警告。在 第 32 章 中,我们将讨论备份 SQL Server 数据库。

win10cmd命令手册 CMD命令是一种命令提示符,CMD是command的缩写,即命令提示符(CMD),是在OS / 2 , Win为基础的操作系统(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP中的命令提示符进一步提高了与DOS下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。 以下是cmd命令以及功能: 1.calc:启动计算器   2.appwiz.cpl:程序和功能   3.certmgr.msc:证书管理实.. 阅读详情

相关推荐

实车级车载诊断自动化测试系统设计与落地

车载诊断自动化测试并非简单协议调用,而是面向真实车辆物理环境的系统性工程。其核心在于理解UDS、LIN等诊断协议在电压波动、总线干扰、ECU资源竞争等真实约束下的非标行为;依托Java微服务架构实现高确定性延迟与分布式协同;通过CANoe DLL集成、TSMaster自动触发、ECU Profile建模等工程化手段,打通从协议解析到实车验证的全链路。本文聚焦实车级诊断测试的关键技术路径与典型陷阱,覆盖物理层扰动应对、协议栈鲁棒性适配、工具链深度集成三大维度,为汽车电子测试工程师提供可复用的落地方法论。

cuixie2370的博客 351

建立SQL2005警告和给操作员发送email通知

<br />问题:建立一个警告给操作员发送带有一条信息的电子邮件是一个多步骤过程。你可以建立数据库邮箱,定义一个操作员和一个警告,但是仍然不会发送电子邮件。那么怎样发送一个警告给操作员呢?<br />数据库邮件<br />  首先建立数据库邮箱具有一个叫做SQLAlerts的profile。这个profile可以以任何名称来命名,但是在这些指导中,引用的是profile名称SQLAlerts。如果你想用一个不同的profile名称只要做相应的替代就可以了。<br /> 定义操作员<br />  使用Micr

wengene的专栏 1482

AI时代安全防御重构:应对18美元/小时自动化攻击

在人工智能驱动下,网络攻击正从人力密集型转向算力套利型,漏洞利用、横向移动、C2通信等关键环节被大规模自动化与去技能化。LLM可秒级生成PoC、强化学习代理实现无监督内网渗透、无服务器架构(如Cloudflare Workers)让C2流量隐匿于正常Web请求——这使得传统基于规则匹配、IP限速、威胁情报IOC的防御体系全面失效。真正的技术价值在于构建语义级WAF、设备指纹+行为生物识别认证、AI原生日志审计与SBOM驱动的供应链验证,将防御重心从‘识别已知’转向‘阻断异常自动化行为’。本文聚焦AI增强攻击

weixin_34056162的博客 328

SQL Server 数据库维护计划

SQL Server 数据库维护计划开始 SQL Server 维护计划向导选择计划属性新建作业计划选择维护任务选择维护任务顺序维护任务配置1. 数据库检查完整性2. 数据库完整性备份3. 数据库差异性备份4. 数据库事务日志备份5. 清除维护选择报告选项启用邮件配置文件重启代理服务执行维护计划查看维护计划执行日志 开始 SQL Server 维护计划向导 选择计划属性 新建作业计划 选择维护任务 选择维护任务顺序 维护任务配置 1. 数据库检查完整性 2. 数据库完整性备份 3. 数据库差

m0_54370335的博客 5067

CARLA中文独立包:开箱即用的自动驾驶仿真环境

CARLA模拟器是面向自动驾驶研发的工业级开源仿真平台,其核心价值在于高保真物理引擎、OpenDRIVE道路建模与多传感器同步能力。然而,官方依赖英文文档、复杂编译流程及Linux专属工具链,导致非专业开发者面临语言断层、环境断层与认知断层三重障碍。本方案通过预编译Server、离线Python环境封装、中文术语统一与场景化脚本设计,实现跨平台‘解压即运行’,显著降低CARLA模拟器中文文档和CARLA环境部署门槛。适用于高校教学、算法验证与产线测试等工程化场景,让工程师聚焦于感知控制逻辑而非环境配置。

dianlu5775的博客 547

Power BI报表卡顿崩溃的根因分析与终端适配方案

Power BI并非静态展示工具,而是运行在终端的实时计算引擎、可视化渲染器与本地缓存管理器三位一体的应用。其性能瓶颈常源于DAX内存泄漏、DirectQuery反模式、模型冗余及高管终端硬件适配失当。理解其底层执行机制(如Storage Engine扫描行数、查询折叠能力、上下文转换开销)是优化前提;技术价值在于将报表从‘功能可用’提升至‘体验可靠’,支撑离线编辑、合规数据驻留与亚秒级交互。典型应用场景包括高管驾驶舱、混合数据源报表及资源受限终端交付。本文聚焦真实生产事故复盘,系统覆盖DAX审计、模型瘦身

cuanmo8775的博客 491

如何检查SQL Server代理服务日志?

打开SSMS并连接到目标SQL Server实例,在对象资源管理器中展开“SQL Server代理”节点,右键点击“错误日志”选择“查看代理日志”。可以通过筛选器按时间、类型或关键词快速定位问题。应用程序和服务日志 → Microsoft → SQL Server → SQLSERVERAGENT → Operational。用文本编辑器打开即可查看历史记录。注意{版本号}和{实例名}需替换为实际值。此处记录代理服务的启动、停止及作业执行等详细事件。在服务器上打开事件查看器(运行。

ybvpydsb073667l的博客 581

【合规领域】【信息科学与工程学】计算机科学与自动化——第五百篇 国产化/XC解决方案 第一篇 国产化产品适配

编号类型信创硬件及国产化硬件信创及国产化软件领域算法应用场景算法名称算法中的函数列表及每个函数逐步推理思考的数学表达式及函数调用关系及参数列表及参数数值设计及每个函数的完整代码及数学复杂度(时间复杂度、空间复杂度、逻辑复杂度)及时序流程图、通信图、架构图满足的用户/管理员规模关联知识和法律法规1适配方法华为鲲鹏920处理器(ARMv8架构)、飞腾FT-2000/4(ARMv8)银河麒麟V10(内核5.10)、达梦DM8数据库、OpenSSL 1.1.1(国密补丁)信息安全。

weixin_49199313的博客 395

SQL数据库完全手册

SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 ##1 二、SQL数据库数据体系结构 SQL数据库的数据体系结构基本上是三级

lincomin的专栏 1067

【信息科学与工程学】【通信工程】第二百四十一篇 IPv6改造方案中的需求列表01

编号场景IPv6特性业务场景特性应用系统的需求1公网用户访问IPv6地址分配与路由负载均衡、随机性应用系统需支持IPv6协议的HTTP/HTTPS监听,能够接收来自IPv6客户端的请求;Web服务器、API网关需绑定IPv6地址并开放相应端口;Session管理需兼容IPv6地址格式。2内网服务器间通信双栈或纯IPv6子网一致性、其他应用间的RPC调用(如Dubbo、gRPC)、数据库连接(JDBC、ODBC)需支持IPv6地址解析和连接;服务注册与发现组件(如Nacos、Consul)需存储和返回IPv6

weixin_49199313的博客 34

KepServer中文手册:工业通信中间件的实战避坑与配置工程指南

KepServer作为主流工业通信中间件,本质是连接PLC、HMI、SCADA与云平台的数据枢纽。其核心原理在于OPC UA/DA协议栈调度、驱动级轮询机制与XML配置模型的协同运作。技术价值体现在将异构设备数据统一抽象为可订阅、可写入、可追溯的Tag资源,支撑实时监控、历史存档与边缘计算。典型应用场景包括汽车焊装线多设备集成、老旧产线Modbus/西门子S7协议桥接、以及基于KepServer构建的轻量级IIoT数据中台。面对‘数据不刷新’‘只读模式不报错’‘GUI幻觉型错误’等高频问题,需回归驱动超时阈

weixin_33483304的博客 210

《MS SQL Server 2000管理员手册》系列——8. 管理 Microsoft SQL Server 服务

8. 管理 Microsoft SQL Server 服务SQL Server 服务组件 使用SQL Server服务管理员使用 Windows 2000 服务控制管理员使用 SQL Server Enterprise Manager本章总结当您安装好 Microsoft SQL Server 2000 之后就可以开始执行了。在使用Microsoft SQL Server 2000 存取数据前,必

1722

GENESIS32 V9中文实战避坑指南:SCADA组态调试与工程交付

SCADA系统是工业自动化核心平台,而GENESIS32作为主流SCADA组态软件,其V9版本在中文支持、Modbus TCP通信、报警引擎与历史趋势等关键环节存在大量隐性约束。理解其底层服务依赖(如Alarm Engine、Historian Service)、OPC设备接入逻辑及Runtime脚本机制,是保障项目稳定交付的技术基础。尤其在电厂DCS改造、水厂自控升级等典型场景中,正确配置Windows服务、时区同步、语言加载路径和点质量判断,直接决定HMI画面响应、报警触发与历史数据可用性。本文聚焦GE

weixin_34357928的博客 272

达梦数据库-学习-09-SQL跟踪日志

本文介绍了达梦数据库SQL日志功能的配置与使用,涵盖环境信息、参数设置(如SVR_LOG、sqllog.ini)、动态加载及视图监控。通过虚拟机实验,演示了开启日志、修改配置、执行DDL/DML/DQL语句并分析日志的过程,验证了日志记录的完整性与可追溯性,有效支持SQL性能优化与故障排查。

qq_45111959的博客 2189

Foxnic-EAM固定设备资产管理系统:让工业设备实时‘开口说话’

设备资产管理(EAM)是制造业数字化转型的基础环节,其核心在于实现物理设备全生命周期数据的统一建模、实时采集与多角色协同。传统Excel台账与通用EAM常因忽视设备物理属性、缺乏边缘感知能力及现场适配性,导致状态失真、响应滞后、系统弃用。Foxnic-EAM聚焦「固定设备」垂直场景,以唯一设备ID为枢纽,融合GIS定位、防爆等级、特种设备代码等强合规字段,通过边缘采集盒(Edge Box)安全接入OT层传感器数据,并依托移动端扫码驱动AR点检、OCR读数与健康度评分模型,真正打通从设备本体到管理决策的数据闭

weixin_34343308的博客 330

从零到一:i.MX8M Plus开发板全流程开发指南(源码编译、烧录、镜像运行)

本文详细介绍了i.MX8M Plus开发板的全流程开发指南,包括源码编译、烧录和镜像运行等关键步骤。通过实战案例和配置技巧,帮助开发者快速掌握工业级应用开发,提升在边缘计算和AI推理等领域的开发效率。

weixin_30687051的博客 572

WVP-GB28181-Pro:企业级分布式视频监控平台的技术架构与商业价值深度解析

在数字化转型浪潮中,视频监控系统正面临从孤立部署向统一平台转型的关键挑战。WVP-GB28181-Pro作为基于国标GB28181-2016、部标808和1078标准的开源视频管理平台,为跨品牌设备统一接入、分布式视频处理和智能运维管理提供了革命性解决方案。该平台通过国标协议统一网关、分布式流媒体引擎和智能运维中心三大核心模块,实现了多品牌设备的无缝集成和高性能视频处理。 ## 第一章:现代监控

gitblog_01193的博客 322

Axure RP9 利用中继器实现列表数据的切换,分页器数据的动态交互加载

Axure RP9 利用中继器制作分页组件 在原型制作中,如何实现分页数据的动态加载、分页与数据的交互,每页显示条数的设定。下面通过制作五年级一班成绩单分页列表,分享给大家,适合有一定axure使用基础的人员,如有更好的方案,请多多指教。 最终效果图: 步骤1:首先利用中继器画出成绩单列表,并绑定成绩单数据。 步骤2:画出每页显示条数控制下拉框,利用中继器画出分页组件 步骤3:新增全局标量maxpage(显示的最多页码),minpage(显示的最小页码),i(循环计数),j(最循环数),selectpa

shandongmike的博客 6819
上一篇: 《MS SQL Server 2000管理员手册》系列——30. Microsoft SQL服务器管理
下一篇: 《MS SQL Server 2000管理员手册》系列——32. 备份SQL Server
天地客人
博客等级 码龄23年 62粉丝 168原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值