SQL Server警报提供全天候错误通知
SQL Server代理允许在发生异常情况时自动通知数据库管理员。 这种强大的警报机制可以实现24小时数据库性能监控,无需配备24小时运营中心。
定义警报的一般要求
为了定义警报,您需要某些基本信息,包括:
- 警报名称 - 警报名称在SQL Server中必须是唯一的。 它们不能超过128个字符。
- 触发警报的事件 - 事件类型决定使用的参数。 三种警报类型是SQL Server事件,SQL Server性能状况和Windows Management Instrumentation事件。
- SQL Server代理在触发事件时采取的操作 。 可以为这两种警报类型(或两者)分配任何警报:执行SQL Server代理作业和/或通知操作员。
循序渐进的SQL Server警报设置
这些说明适用于SQL Server 2005及更新版本。
- 打开SQL Server Management Studio并连接到要创建警报的数据库服务器。
- 单击文件夹左侧的“ + ”图标以展开SQL Server代理文件夹。
- 右键单击Alerts文件夹并从弹出菜单中选择New Alert 。
- 在名称文本框中输入警报的描述性名称。
- 从下拉菜单中选择警报的类型。 您的选择是SQL Server性能状况,如CPU负载和可用磁盘空间, SQL Server事件 (如致命错误,语法错误和硬件问题)以及Windows Management Instrumentation(WMI)事件。
- 提供SQL Server请求的任何警报特定的详细信息,例如事件报告中包含的特定文本以及性能状况警报的参数。
- 单击新建警报窗口的选择页面窗格中的响应图标。
- 如果您想在发生警报时执行SQL Server代理作业,请单击执行作业复选框并从下拉菜单中选择作业。
- 如果要在发生警报时通知数据库操作员,请单击通知操作员复选框,然后从网格中选择操作员和通知类型。
- 单击确定以创建警报。
使用Transact-SQL添加警报
从SQL Server 2008开始,您还可以使用Transact-SQL添加警报。 使用Microsoft的这种语法:
sp_add_alert [@name =] [,[@message_id =] message_id] [,[@severity =] severity] [,[@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'] [,[@wmi_namespace =]'wmi_namespace '] [,[@wmi_query =]'wmi_query']