Cómo identificar automáticamente SQL Server Operador y agregarlo a la notificación de trabajo

Comparte ahora:

Seguimiento del estado de SQL server los trabajos son muy importantes. Si hay corrupto SQL Server agente, los trabajos no se ejecutarían según lo programado. Así que asegúrate de reparar corrompido SQL Server antes de continuar. Identificar automáticamente al operador y agregarlo a la notificación de trabajos en cientos de servidores es una tarea agitada. Sin embargo, con este script puede monitorear fácilmente todos sus SQL server puestos de trabajo.

Establecer operadores

SQL Server Los operadores permiten que las personas o grupos reciban notificaciones cuando los trabajos se completan en SQL server o siempre que haya una alerta. SQL Server permite 3 tipos de notificación a estos operadores

  1. Correo electrónico
  2. Buscapersonas
  3. envío de red

Crear un operadorPorque SQL ServerDe estas 3 opciones de notificación, el correo electrónico es el preferido y más utilizado en la base de datos de correo electrónico. SQL server. Puede crear un operador manualmente siguiendo estos pasos

  1. Conéctate con el objetivo SQL ServerMotor de base de datos de
  2. Ampliar la opción SQL Servernodo de agente
  3. Haga clic derecho en la carpeta Operadores debajo SQL Server agente y luego crea un operador
  4. En el formulario, ingrese un nombre para el operador. En los campos de notificación, agregue una dirección de correo electrónico. Puede especificar una dirección de correo electrónico de grupo o una dirección de correo electrónico individual. Puede dejar la página y los campos de dirección de envío neto como vacíos.

Puede crear varios operadores, pero debe ser único, es decir, los nombres de los operadores deben ser diferentes. Tenga en cuenta que las opciones de Pager y net send se eliminarán de futuras versiones de SQL Server.

A prueba de fallos

Habilitar operador a prueba de fallasCrear operador no es suficiente, tenemos que hacer que un operador sea un operador a prueba de fallas. Un operador a prueba de fallas es el único punto de contacto cuando SQL Server El agente no puede acceder a las tablas del sistema en la base de datos MSDB. Para habilitar un operador como a prueba de fallas, abra las propiedades de SQL Server agente y luego seleccione un operador y marque la opción Correo electrónico en Operador a prueba de fallas.

Automatizar operadores y notificaciones

En lugar de crear manualmente un operador, haciéndolo a prueba de fallos y asignándolo a la notificación del trabajo SQL; simplemente puede ejecutar el script desde una nueva ventana de consulta. Este script comprobará si ya existe un operador con el mismo nombre. De lo contrario, el operador se crea y se asigna como operador a prueba de fallas. A continuación, este operador se asigna a las notificaciones de falla de cada SQL Server trabajo de agente en ese servidor.

Servidor múltiple

Aunque este script automatiza el creador del operador y la notificación en un solo SQL Server en el que se ejecuta, puede ejecutarlo fácilmente en todos sus SQL Servers. El método fácil es crear servidores registrados y luego ejecutar este script en todos los servidores registrados. Otro método es guardar este script como archivo .sql y luego ejecutar el script .sql en todos los servidores a través de SQL CMD.

Guión:

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

Introducción del autor:

Neil Varley es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparar error de correo electrónico pst de Outlook y productos de software de recuperación de Excel. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.