监控状态 SQL server 工作非常重要。 如果有损坏 SQL Server 代理,则作业将不会按计划运行。 所以请确保你 修复损坏 SQL Server 在继续之前。 自动识别操作员并将其添加到数百台服务器上的作业通知中是一项繁忙的任务。 但是,使用此脚本,您可以轻松监控所有 SQL server 工作。
设置运营商
SQL Server 操作员允许个人或群组在作业完成时接收通知 SQL server 或者每当有警报时。 SQL Server 允许向这些操作员发送 3 种类型的通知
- 邮箱
- 呼叫器
- 网络发送
因为 SQL Server的数据库邮件,这3个通知选项中,Email是mostly 首选并用于 SQL server. 您可以按照以下步骤手动创建操作员
- 连接到 tar得到 SQL Server的数据库引擎
- 展开 SQL Server的代理节点
- 右击Operators文件夹下 SQL Server agent 然后创建一个operator
- 在表单上,输入操作员的姓名。 在通知字段下,添加电子邮件地址。 您可以指定群组电子邮件地址或个人电子邮件地址。 您可以将页面和网络发送地址字段留空。
您可以创建多个运算符,但它必须是唯一的,即运算符的名称必须不同。 请注意,Pager 和 net send 选项将从未来的版本中删除 SQL Server.
故障保险

自动化操作员和通知
与其手动创建操作符,不如通过使其故障安全并将其分配给 SQL 作业的通知; 您可以简单地从一个新的查询窗口执行脚本。 此脚本将检查是否已存在具有相同名称的运算符。 如果不是,则创建操作员并将其分配为故障安全操作员。 然后将此操作员分配给每个的失败通知 SQL Server 该服务器上的代理作业。
多服务器
虽然这个脚本在一个单一的 SQL Server 在其上执行,您可以轻松地在您的所有 SQL Server秒。 简单的方法是创建注册服务器,然后在所有注册服务器上执行此脚本。 另一种方法是将此脚本保存为.sql文件,然后通过SQL CMD在所有服务器上执行.sql脚本。
脚本:
DECLARE @find INT DECLARE @operatorname VARCHAR(200) DECLARE @operatoremail VARCHAR(500) SET @operatorname = '<OPERATOR NAME>' SET @operatoremail = '<OPERATOR EMAIL ADDRESS. SEPARATE MULTIPLE EMAIL ADDRESS BY ;' SET @find = ( SELECT count(*) FROM msdb.dbo.sysoperators WHERE NAME = @operatorname ) IF @find = 0 BEGIN EXEC msdb.dbo.sp_add_operator @name = @operatorname ,@enabled = 1 ,@email_address = @operatoremail END EXEC master.dbo.sp_MSsetalertinfo @failsafeoperator = @operatorname ,@notificationmethod = 1 DECLARE @operator_id INT SELECT @operator_id = [id] FROM msdb.dbo.sysoperators WHERE NAME = @operatorname SELECT @operator_id UPDATE msdb.dbo.sysjobs SET notify_email_operator_id = 0 UPDATE msdb.dbo.sysjobs SET notify_level_email = 0
作者简介:
Neil Varley 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 Outlook pst 电子邮件错误 和 excel 恢复软件产品。 欲了解更多信息,请访问 datanumen.com