SlideShare una empresa de Scribd logo
Realización de tareas
                   administrativas




Contenido
Configuración de SQL Server Agent   2
Tareas administrativas rutinarias
de SQL Server                       3
Automatización de las tareas de
mantenimiento rutinarias            4
Creación de alertas                 18
Realización de tareas administrativas                                                                     i



Notas para el instructor
                               Este módulo ofrece a los alumnos detalles acerca de cómo realizar tareas de
                               configuración y administrativas rutinarias. Describe cómo automatizar tareas
                               mediante la creación de trabajos, operadores y alertas. En el módulo también
                               se describe la automatización de tareas en un entorno multiservidor.
                               En la primera práctica, los alumnos crearán operadores y trabajos que constan
                               de varios pasos de trabajo. En la segunda práctica, los alumnos crearán alertas.
                               Después de completar este módulo, el alumno será capaz de:
                                   Realizar tareas de configuración comunes de Microsoft®
                                   SQL Server™ 2000.
                                   Describir las tareas administrativas de base de datos rutinarias.
                                   Automatizar las tareas de mantenimiento rutinarias mediante la creación
                                   y programación de trabajos.
                                   Crear alertas para errores de SQL Server, errores definidos por el usuario
                                   o condiciones de rendimiento y notificar a los operadores cuando se
                                   produzcan.
                                   Solucionar problemas de alertas, notificaciones o trabajos automáticos.
                                   Automatizar trabajos administrativos en un entorno multiservidor.
Realización de tareas administrativas                                                                   1




        Configuración de SQL Server Agent
 Objetivo del tema
 Describir la configuración
                                        SQL Server Agent debe estar en ejecución en todo
                                        momento
 de SQL Server Agent
 Explicación previa                        Configurar SQL Server Agent para el inicio automático
 Para que SQL Server Agent                 Configurar los servicios SQL Server y SQL Server Agent
 ejecute trabajos y active                 para reiniciarlos de forma automátimatica si se detienen
 alertas para SQL Server,                  de forma inesperada
 debe estar en ejecución en
 todo momento y disponer de             La cuenta de inicio de sesión de SQL Server Agent debe
 los permisos necesarios.               estar asignada a la función sysadmin
                                           Asignar esta cuenta al grupo local Administradores
                                           Utilizar una cuenta de inicio de sesión de usuario de
                                           dominio de Windows
                                        Uso del modo de autenticación de Windows para
                                        SQL Server Agent



                               SQL Server Agent es el componente de SQL Server responsable de automatizar
                               las tareas administrativas de SQL Server. Para que SQL Server Agent ejecute
                               trabajos y active alertas, debe estar en ejecución en todo momento y disponer de
                               los permisos necesarios.

 Sugerencia                    SQL Server Agent debe estar en ejecución en
 La opción autostart no está
 disponible en la plataforma   todo momento
 Windows 95 y 98.              En todos los sistemas operativos Windows 2000 y Microsoft Windows NT®,
                               SQL Server Agent suele ejecutarse como un servicio de Windows.
                               Este servicio debe estar en funcionamiento para poder ejecutar los trabajos
                               programados y activar las alertas definidas. Debe configurar el servicio
                               SQL Server Agent para que se inicie automáticamente siempre que se
                               inicie Windows 2000 o Windows NT. En Microsoft Windows 98, SQL Server
                               Agent se ejecuta como una aplicación y no puede configurarse para
                               que se inicie automáticamente (aunque podría ponerse la aplicación en el
                               grupo Inicio para que se iniciara cuando un usuario iniciara una sesión).
                               Además, con el Administrador corporativo de SQL Server puede configurar el
                               servicio SQL Server Agent para que se reinicie automáticamente si se detiene
                               de forma inesperada. Para que se pueda reiniciar automáticamente, la cuenta de
                               servicio SQL Server Agent debe ser miembro del grupo local
                               Administradores.
Realización de tareas administrativas                                                                    2


                               La cuenta de inicio de sesión de SQL Server Agent debe
                               estar asignada a la función sysadmin
                               Cuando instala SQL Server, especifica una cuenta de inicio de sesión para el
                               servicio SQL Server Agent. SQL Server Agent no podrá iniciarse a menos que
                               esta cuenta de inicio de sesión esté asignada a la función sysadmin de
                               SQL Server:
                                   Cuenta de sistema local. El uso de la cuenta de sistema local sólo permite
 Sugerencia                        el acceso al equipo local. Esta cuenta del sistema local es automáticamente
 Señale que al utilizar la
 cuenta de sistema local,
                                   miembro del grupo local Administradores de Windows y, por tanto, está
 SQL Server Agent tiene            asignada a la función sysadmin de SQL Server. Cuando la cuenta de inicio
 acceso a un recurso de            de sesión de SQL Server Agent utiliza la cuenta de sistema local,
 red que utiliza su propio         normalmente no es posible tener acceso a los recursos de red.
 mecanismo de seguridad,           Cuenta de usuario de dominio. Es necesaria una cuenta de usuario de
 como FTP o SQL Server.
                                   dominio para que SQL Server Agent tenga permiso para:
                                   • Comunicarse con la mayoría de los sistemas de correo electrónico
                                     para enviar o recibir correo electrónico.
                                   • Tener acceso a recursos a través de la red.

                                   Debe asignar la cuenta de usuario de dominio a la función sysadmin de
                                   SQL Server o agregar dicha cuenta a un grupo local de Windows que esté
                                   asignado a la función sysadmin, generalmente la cuenta local
                                   Administrador.

 Sugerencia                    Uso del modo de autenticación de Windows para
 Señale que debe
 estar seleccionada            SQL Server Agent
 la autenticación de           SQL Server Agent puede conectarse al servidor SQL Server local mediante la
 SQL Server al ejecutar        autenticación de Windows o la autenticación de SQL Server. De manera
 SQL Server Agent en           predeterminada, SQL Server Agent utiliza la autenticación de Windows
 Windows 95 ó 98.              para conectarse al servidor SQL Server local mediante la cuenta de inicio de
                               sesión definida como cuenta de inicio del servicio SQL Server Agent.
                               El cambio del modo de autenticación de SQL Server Agent puede impedir que
                               éste tenga acceso a los recursos de la red.
Realización de tareas administrativas                                                                      3


Tareas administrativas rutinarias de SQL Server
 Objetivo del tema
 Describir las tareas
 rutinarias de un
 administrador de                           Realización regular de tareas programadas
 SQL Server.
                                               Hacer copia de seguridad de bases de datos
 Explicación previa
 La automatización de las                      Importar y exportar datos
 tareas de mantenimiento
 rutinarias de un servidor                  Reconocimiento de los posibles problemas y su
 local o de un entorno                      solución
 multiservidor permite
 dedicar tiempo a otras                        Supervisar espacio de la base de datos y del registro
 funciones administrativas
 de la base de datos.                          Supervisar el rendimiento




                                 Una de las funciones principales del administrador de la base de datos es la
 Sugerencia                      de realizar las tareas de mantenimiento de SQL Server y de sus bases de datos.
 Presente la automatización
 en términos de tareas de
                                 Entre estas tareas se incluyen las que se deben llevar a cabo de manera
 mantenimiento previstas         programada y las tareas adicionales cuyo objetivo es el de anticiparse a los
 frente a tareas no previstas.   problemas antes de que éstos se produzcan.

                                 Realización regular de tareas programadas
                                 En SQL Server se realizan ciertas tareas administrativas y de mantenimiento
                                 de forma rutinaria, como efectuar copias de seguridad de las bases de datos, o
                                 importar y exportar datos. Por ejemplo, puede hacer una copia de seguridad
                                 de una base de datos todos los domingos, y del registro de transacciones cada
                                 martes y viernes. Además, puede importar datos de otro origen de datos
                                 semanal o mensualmente.

                                 Reconocimiento de los posibles problemas y su solución
                                 Es necesario supervisar las bases de datos y los registros de transacciones para
                                 asegurarse de no quedarse sin espacio. Por ejemplo, si está a punto de llenarse
                                 un registro de transacciones, puede efectuar una copia de seguridad y truncarlo.
                                 Se deben supervisar las condiciones de rendimiento. Por ejemplo, es necesario
                                 supervisar los bloqueos para determinar si los bloqueos de cierre impiden a los
                                 usuarios modificar datos.
Realización de tareas administrativas                                                                     4


        Automatización de las tareas de mantenimiento
        rutinarias
 Objetivo del tema
 Presentar los pasos
 necesarios para auto-                      Automatización de la administración de SQL Server
 matizar los trabajos de
 mantenimiento rutinarios.                  Creación de trabajos
 Explicación previa                         Comprobación de permisos
 El trabajo del administrador
 conlleva diferentes tareas
                                            Definición de pasos de trabajo
 que se repiten a diario y que              Determinación de la lógica de flujo de acciones de cada
 pueden resultar tediosas.                  paso de trabajo
                                            Programación de trabajos
                                            Creación de operadores a los que se notifica
                                            Revisión y configuración del historial de trabajos




                                 El trabajo del administrador conlleva diferentes tareas administrativas que se
                                 repiten a diario y que pueden resultar tediosas. Se pueden automatizar estas
                                 tareas rutinarias y configurar SQL Server para que supervise ciertos tipos de
                                 problemas antes de que se produzcan. Al automatizar las tareas de
                                 mantenimiento rutinarias, normalmente utilizará el Administrador corporativo
                                 de SQL Server para crear trabajos y operadores.
Realización de tareas administrativas                                                                    5


Automatización de la administración de SQL Server
 Objetivo del tema             Servicios utilizados para automatizar SQL Server
 Presentar la automatización
                               Los componentes de la automatización de SQL Server son los servicios
 de la administración de
 SQL Server.
                               SQL Server Agent, SQL Server y Visor de sucesos de Microsoft Windows.
                               Estos servicios trabajan juntos para permitir la administración automatizada.

                               Componentes de SQL Server Agent
                               Los componentes de SQL Server Agent que permiten la automatización son las
                               alertas, los trabajos y los operadores.

                               Combinación de trabajos y alertas
                               Los trabajos y las alertas se definen separadamente, y pueden ejecutarse o
                               activarse de forma independiente. Puede combinar trabajos y alertas para
                               lograr una funcionalidad adicional. Por ejemplo, si un trabajo no se ejecuta
                               correctamente debido a un error del sistema, una alerta definida para responder
                               a ese número de error podría ejecutar otro trabajo que resolviera el problema.
Realización de tareas administrativas                                                                       6


Creación de trabajos
 Objetivo del tema
 Explicar la creación
 de trabajos.
 Explicación previa                       Asegurarse de que el trabajo está habilitado
 Para automatizar las tareas              Especificar el propietario responsable de
 rutinarias, primero debe
 definir las características
                                          realizar el trabajo
 generales del trabajo.                   Determinar dónde se ejecutará el trabajo
                                          Creación de una categoría de trabajos




                               Para definir un nuevo trabajo, puede utilizar el Administrador corporativo de
 Sugerencia                    SQL Server o ejecutar el procedimiento almacenado del sistema sp_add_job.
 Muestre cómo se define un
 trabajo para efectuar una
                               La definición del trabajo se almacena en la tabla del sistema msdb.sysjobs.
 copia de seguridad de la      Esta tabla se mantiene en caché para mejorar el rendimiento.
 base de datos master.
                               Al definir trabajos, debe hacer lo siguiente:
                                   Asegurarse de que el trabajo está habilitado.
 Sugerencia
 Si consulta la tabla del          De forma predeterminada, los trabajos están habilitados. Si un trabajo está
 sistema msdb.sysobjects,          deshabilitado, no puede ejecutarse como está programado. Sin embargo,
 la tabla sysjobs (y otras         un usuario puede ejecutar un trabajo deshabilitado si lo inicia en el
 similares explicadas en           Administrador corporativo de SQL Server.
 este módulo) está definida
 con tipo “U”. Sin embargo,        Especificar el propietario responsable de realizar el trabajo.
 debido a que la base de           De forma predeterminada, el propietario es la cuenta de inicio de sesión
 datos msdb se instala como        del usuario de Windows o SQL Server que crea el trabajo.
 parte de SQL Server, estas
 tablas contienen el prefijo       Definir si el trabajo se ejecuta en un servidor local o en varios servidores
 sys y se conocen como             remotos.
 tablas de sistema.
                                   Crear categorías de trabajos como ayuda para organizar, filtrar y administrar
                                   muchos trabajos.
                                   Por ejemplo, puede crear categorías de trabajos que se correspondan con los
                                   departamentos de su organización.


                               Nota El Administrador corporativo de SQL Server también puede ayudarle a
                               definir un conjunto esencial de trabajos automatizados mediante la utilización
                               del Asistente para planes de mantenimiento de bases de datos.
Realización de tareas administrativas                                                                      7


Comprobación de permisos
 Objetivo del tema
 Explicar los permisos
 necesarios para crear                     Ejecución de trabajos de Transact-SQL
 trabajos.
                                               Ejecutar en el contexto del propietario del trabajo o del
 Explicación previa                            usuario específico
 Si un trabajo es propiedad
 de una cuenta de inicio de                Ejecución de comandos del sistema operativo o de
 sesión que no es miembro                  trabajos de secuencias de comandos ActiveX
 de la función sysadmin,
 debe comprobar que el                         Los miembros de la función sysadmin usan la cuenta
 propietario del trabajo tiene                 de inicio de sesión de SQL Server Agent
 los permisos adecuados
 para ejecutar los pasos                       Los propietarios de trabajos que no sean miembros de
 del trabajo.                                  la función sysadmin usan una cuenta de usuario de
                                               dominio definida denominada cuenta proxy




                                 Si un trabajo es propiedad de una cuenta de inicio de sesión que no es miembro
                                 de la función sysadmin, debe comprobar que el propietario del trabajo tiene los
                                 permisos adecuados para ejecutar los pasos del trabajo.

                                 Ejecución de trabajos de Transact-SQL
                                    Todos los usuarios pueden iniciar trabajos de Transact-SQL, que
                                    funcionan en el contexto de seguridad del propietario del trabajo o
                                    del usuario especificado.

                                 Ejecución de comandos del sistema operativo o de
                                 trabajos de secuencias de comandos ActiveX
                                    Para el sistema operativo y trabajos de secuencias de comandos Microsoft
                                    ActiveX®, los pasos que son propiedad de los usuarios que son miembros de
                                    la función sysadmin se ejecutan en el contexto de seguridad de la cuenta de
                                    inicio de sesión del servicio SQL Server. Si un trabajo es propiedad de una
                                    cuenta de inicio de sesión que no es miembro de la función sysadmin,
                                    SQL Server Agent debe comprobar que el propietario del trabajo tiene los
                                    permisos adecuados para ejecutar los pasos del trabajo.
                                    De manera predeterminada, los usuarios que no están en la función
                                    sysadmin no tienen permiso para ejecutar comandos del sistema
                                    operativo o trabajos de secuencias de comandos ActiveX.
Realización de tareas administrativas                                                                   8


                                   Sin embargo, un administrador puede permitir a los usuarios que no están
                                   en la función sysadmin que ejecuten comandos del sistema operativo o
                                   trabajos de secuencias de comandos ActiveX. En este caso, los pasos del
                                   trabajo se ejecutan en el contexto de seguridad de una cuenta de usuario de
                                   dominio definida denominada cuenta de proxy. Se puede definir esta cuenta
                                   de usuario en el Administrador corporativo de SQL Server o mediante la
                                   utilización del procedimiento almacenado extendido
                                   xp_sqlagent_proxy_account.


                               Nota La cuenta de inicio de sesión de usuario de dominio que utiliza el
                               servicio SQL Server debe ser miembro del grupo local Administradores de
                               Windows para poder ejecutar comandos del sistema operativo y pasos del
                               trabajo de secuencias de comandos ActiveX, cuando el trabajo pertenece a un
                               usuario que no es miembro de la función sysadmin. Esto permite que
                               SQL Server Agent tenga acceso a y utilice la cuenta proxy.
Realización de tareas administrativas                                                                      9


Definición de pasos de trabajo
 Objetivo del tema
 Explicar los tipos de pasos
 de trabajo que se pueden
 definir.                                 Uso de instrucciones Transact-SQL
 Explicación previa                       Uso de comandos del sistema operativo
 Puede definir pasos de
 trabajo que ejecuten                     Uso de secuencias de comandos de ActiveX
 instrucciones Transact-SQL,
 comandos del sistema                     Uso de la replicación
 operativo, secuencias de
 comandos ActiveX o
 replicación.




                               Puede utilizar el Administrador corporativo de SQL Server o ejecutar el
                               procedimiento almacenado del sistema sp_add_jobstep para definir cada paso
                               de trabajo. Las definiciones de pasos de trabajo se almacenan en la tabla de
                               sistema msdb.sysjobsteps.
                               Puede definir pasos de trabajo que ejecuten instrucciones Transact-SQL,
 Sugerencia                    comandos del sistema operativo, lenguajes de secuencias de comandos Active
 Señale que sólo se
 puede especificar un tipo
                               o tareas de replicación de SQL Server. Sin embargo, sólo puede especificar un
 de ejecución por cada         tipo de ejecución para cada paso de trabajo.
 paso de trabajo.
                               Uso de instrucciones Transact-SQL
                               Al definir pasos de trabajo que ejecutan instrucciones Transact-SQL,
                               procedimientos almacenados o procedimientos almacenados extendidos,
                               tenga en cuenta las directrices siguientes:
                                   Debe identificar la base de datos que se va a utilizar.
                                   Debe incluir las variables y parámetros necesarios en el paso de trabajo.
                                   Puede enviar el conjunto de resultados del paso de trabajo a un archivo
                                   de salida.
                                   Los archivos de salida se utilizan a menudo en la solución de problemas
                                   para capturar los mensajes de error que se hayan producido mientras se
                                   ejecutaba la instrucción. No es posible utilizar un archivo de salida de un
                                   paso de trabajo como entrada de un paso posterior.
Realización de tareas administrativas                                                                    10


                               Uso de comandos del sistema operativo
                               Al definir un paso de trabajo que ejecuta una aplicación o un comando del
                               sistema operativo (identificados por los nombres de extensión .exe, .bat, .cmd o
                               .com), debe hacer lo siguiente:
                                   Identificar un código de salida del proceso para indicar que el comando se
                                   ejecutó correctamente.
                                   Incluir la ruta de acceso completa de la aplicación ejecutable en el cuadro de
                                   texto Comando. La ruta de acceso es necesaria para ayudar a SQL Server
                                   Agent a encontrar el origen de la aplicación.

                               Uso de secuencias de comandos ActiveX
                               Puede escribir pasos de trabajo mediante secuencias de comandos ActiveX
                               con lenguajes como Microsoft Visual Basic® Scripting Edition (VBScript) o
                               Microsoft Jscript®. También puede utilizar otros lenguajes si está instalada la
                               biblioteca de lenguajes para el lenguaje de la secuencia de comandos.
                               Al crear un paso de trabajo con una secuencia de comandos ActiveX, debe
                               hacer lo siguiente:
                                   Identificar el lenguaje de secuencia de comandos en el que está escrito el
                                   paso de trabajo.
                                   Escribir o abrir la secuencia de comandos ActiveX.
                                   Puede utilizar el objeto SQLActiveScriptHost para imprimir la salida en el
                                   historial de pasos de trabajo o para crear objetos.

                               Opcionalmente, es posible compilar externamente las secuencias de comandos
                               ActiveX (por ejemplo, con Visual Basic) y ejecutarlas después como comandos
                               del sistema operativo.

                               Uso de la replicación
                               Los procesos de replicación se denominan Agentes y se implementan como
                               trabajos de SQL Server Agent.
Realización de tareas administrativas                                                                                              11


Determinación de la lógica de flujo de acciones de cada paso
de trabajo
 Objetivo del tema                Trabajo 3 ...
 Explicar la lógica de flujo            Trabajo 2 Copia de seguridad del registro de transacciones de la base de datos Northwind
 de acciones para cada paso
 de trabajo.                              Trabajo 1
                                          Trabajo 1
                                          Transferir datos de Northwind
                                          Transferir datos    Northwind
 Explicación previa                                                                                   Sí
 Puede determinar la                     Paso 1: Copia seguridad base datos
                                         Paso 1: Copia seguridad base datos                ¿ Error?
                                                                                           ¿ Error?
                                         Tipo: Transact-SQL; Número de intentos: 1
                                         Tipo: Transact-SQL; Número de intentos: 1                           Escribir en el registro
 acción que debe realizar                                                                                      de aplicación de
 SQL Server cuando cada                                                                          No              Windows NT
 paso de trabajo se ejecuta                                                                           Sí
                                         Paso 2: Transferencia de datos
                                         Paso 2: Transferencia de datos
 correctamente o causa un                Tipo: CmdExec; Número de intentos: 2
                                                                                            ¿Error?
                                                                                            ¿Error?
                                         Tipo: CmdExec; Número de intentos: 2
 error.
                                                                                                 No
                                                                                                             Notificar al operador
                                                                                                      Sí
                                         Paso 3: Aplicación personalizada
                                         Paso 3: Aplicación personalizada                  ¿Error?
                                                                                           ¿Error?
                                         Tipo: Active Scripting; Núm. de intentos: 0
                                         Tipo: Active Scripting; Núm. de intentos: 0
                                                                                                 No


                                                  Notificar al operador
                                                  Notificar al operador




                               Al crear trabajos, el administrador de bases de datos puede que quiera
 Sugerencia                    especificar que SQL Server ejecute una acción adecuada si se produce
 Explique la lógica de flujo
 para cada paso de trabajo,
                               un error durante la ejecución del trabajo.
 incluido el número de         Para ello, puede determinar la acción que SQL Server realizará cuando cada
 intentos.
                               paso de trabajo se ejecute correctamente o cause un error:
                                   De forma predeterminada, cuando un paso de trabajo termina con éxito,
                                   SQL Server continúa con el siguiente paso y cuando produce un error,
                                   se detiene.
                                   Sin embargo, los pasos de trabajo pueden dirigirse a cualquier paso definido
                                   en el trabajo al ejecutarse correctamente o con errores.
                                   Puede especificar el número de veces que SQL Server debe intentar la
                                   ejecución de un paso de trabajo en caso de que no se ejecute correctamente.
                                   También puede especificar intervalos de reintento (en minutos).
                                   Por ejemplo, si el paso de trabajo requiere una conexión con un servidor
                                   remoto, puede definir varios intentos por si la conexión falla.

                               Además, si define un trabajo que sólo se ejecuta una vez, puede especificar que
 Sugerencia                    se elimine a sí mismo cuando termine.
 Señale que es posible
 definir trabajos que se
 eliminen a sí mismos al
 terminar.
Realización de tareas administrativas                                                                     12


Programación de trabajos
 Objetivo del tema                      Trabajo 2: Copia de seguridad del registro de transacciones
                                        Trabajo 2: Copia de seguridad del registro de transacciones
 Explicar la programación                          de la base de datos Northwind
                                                   de la base de datos Northwind
 de trabajos.                            Programa: L-V turno 1             Programa: Fin de semana

 Explicación previa                      Lun Mar Mié Jue Vie Sáb Dom        Lun Mar Mié Jue Vie Sáb Dom
 Cada trabajo puede tener
 varias programaciones.
                                                   Cada 2 horas
                                                   Cada 2 horas                    Cada 8 horas
                                                                                   Cada 8 horas
                                                   De:
                                                   De:    8:00 a.m.
                                                           8:00 a.m.               De: 12:00 a.m.
                                                                                   De: 12:00 a.m.
                                                   A:
                                                   A:     5:00 p.m.
                                                           5:00 p.m.               A:
                                                                                   A:    11:59 p.m.
                                                                                         11:59 p.m.

                                         Progrma: L-V turno 2              Programa: CPU inactiva
                                         Lun Mar Mié Jue Vie Sáb Dom        Lun Mar Mié Jue Vie Sáb Dom



                                                   Cada 4 horas
                                                   Cada 4 horas                    CPU inactiva
                                                                                   CPU inactiva
                                                   De:
                                                   De: 5:01 p.m.
                                                          5:01 p.m.
                                                   A:
                                                   A:     7:59 a.m.
                                                          7:59 a.m.




                               Para definir la programación de cada trabajo, puede utilizar el Administrador
                               corporativo de SQL Server o ejecutar el procedimiento almacenado del sistema
                               sp_add_jobschedule. Las programaciones de trabajos se almacenan en la tabla
                               del sistema msdb.sysjobschedules.
                               Los trabajos se ejecutan según sus programaciones definidas o como respuesta
                               a alertas. En un entorno multiservidor, puede definir que el trabajo se ejecute en
                               varios servidores de destino.
                               Un trabajo sólo se ejecuta como se haya programado cuando la programación
                               correspondiente está habilitada. Puede programar trabajos para que se inicien
                               automáticamente en las siguientes situaciones:
                                   Al iniciarse SQL Server Agent.
                                   A una hora específica (sólo una vez).
                                   De forma periódica (diaria, semanal o mensualmente).
                                   Cuando la CPU esté inactiva.

                                   Nota Para poder ejecutar un trabajo cuando la CPU esté inactiva, la cuenta
                                   de usuario de dominio que utiliza el servicio SQL Server Agent debe ser
                                   miembro del grupo local Administradores de Windows.


                               Programaciones múltiples
                               Un trabajo puede tener múltiples programaciones. Por ejemplo, puede
                               programar un trabajo para hacer una copia de seguridad del registro de
                               transacciones de una base de datos de lunes a viernes, cada dos horas en
                               las horas punta de trabajo (de 8:00 a.m. a 5:00 p.m.), y puede definir otra
                               programación para ejecutar el mismo trabajo cada cuatro horas durante las
                               horas que no sean punta.
Realización de tareas administrativas                                                                                    13


Creación de operadores a los que se notifica
 Objetivo del tema                                                          Trabajo: Transferir datos de Northwind
                                                                            Trabajo: Transferir datos de Northwind
 Explicar los operadores a                                                  Paso 1:Copia seguridad registro de transacciones
                                                                            Paso 1:Copia seguridad registro de transacciones
 los que se va a notificar.                             Error del trabajo   Paso 2: Transfencia de datos
                                                                            Paso 3: Copia de seguridad de base de datos
 Explicación previa                                                         Paso 3: Copia de seguridad de base de datos

 Al notificar a los operadores
 un suceso específico, hay                  Operador al que se notifica
                                            Operador al que se notifica
 varias opciones entre las
                                     Operador       Correo Localizador Envío de red
 que puede elegir.
                                     Meng Phua
                                     Nwind Admins
                                     Jose Lugo

                                                                                    Agenda del localizador
                                                                                    Agenda del localizador

                                                                                    12:01 a.m. -- 8:00 a.m. Meng Phua
                                                                                     12:01 a.m. 8:00 a.m. Meng Phua
                                                                                      8:01 a.m. -- 6:00 p.m. Nwind Admins
                                                                                      8:01 a.m. 6:00 p.m. Nwind Admins
                                                                                      6:01 p.m. --12:00 a.m. Jose Lugo
                                                                                      6:01 p.m. 12:00 a.m. Jose Lugo



                                 Para definir un nuevo operador, puede utilizar el Administrador corporativo
 Sugerencia                      de SQL Server o ejecutar el procedimiento almacenado del sistema
 El comando net send
 (ilustrado en la diapositiva)
                                 sp_add_operator. La definición de los operadores se almacena en la tabla de
 sólo está disponible para los   sistema msdb.sysoperators. Cuando el trabajo termina o cuando la ejecución
 usuarios y servidores que       de alguno de los pasos del trabajo produce un error, puede escribir el suceso
 utilizan Windows 2000 o         correspondiente en el registro de aplicación de Windows, eliminar el trabajo o
 Windows NT.                     notificarlo a un operador mediante un localizador, correo electrónico o un
                                 comando net send.

                                 Creación de operadores
                                 Al crear operadores, debe hacer lo siguiente:
                                    Utilice un alias de grupo de correo electrónico para notificar a varias
                                    personas que deban responder a los posibles problemas.
                                    Pruebe cada método de notificación que se emplea para notificar al
                                    operador; así se asegurará de que éste pueda recibir los mensajes.
                                    Especifique una programación de trabajo para cada operador que vaya a
                                    recibir notificaciones por localizador. Si un trabajo definido para notificar a
                                    un operador está en conflicto con la programación de éste, la notificación no
                                    podrá realizarse.
                                    Utilice un comando net send para enviar mensajes a los operadores y
                                    servidores de red que utilicen Windows 2000 o Windows NT.

                                 Especificación de nombres de correo electrónico
                                 Al especificar el nombre de correo electrónico de un operador, debe utilizar la
                                 dirección de correo electrónico completa (smithj@microsoft.com) para evitar
                                 posibles conflictos si se crean posteriormente operadores con nombres
                                 similares. SQL Server no puede resolver alias de correo, ni mostrar los nombres
                                 cuyos primeros caracteres sean iguales. Por ejemplo, no es posible resolver los
                                 alias de correo smithj y smithje.
Realización de tareas administrativas                                                                    14


                               Solución de problemas en las notificaciones a
                               operadores
                               Para cada operador, en la tabla de sistema sysoperators se mantiene la fecha y
                               hora de los intentos más recientes enviados por cada tipo de notificación (correo
                               electrónico, localizador y comando net send). Si un operador no recibe las
                               notificaciones, debe hacer lo siguiente:
                                   Asegúrese de que el operador está disponible para recibir notificaciones.
                                   Asegúrese de que Messenger Service se está ejecutando en el equipo del
                                   operador al que se va a notificar mediante un comando net send.
                                   Revise los intentos de notificación más recientes para determinar la fecha y
                                   hora de la última notificación.
                                   Pruebe cada método de notificación individual desde fuera de SQL Server;
                                   para ello, compruebe que puede enviar mensajes de correo electrónico,
                                   mensajes de localizador o ejecutar correctamente un comando net send.
Realización de tareas administrativas                                                                     15


Revisión y configuración del historial de trabajos
 Objetivo del tema
 Explicar el registro de
 historial de trabajos.
 Explicación previa                        Revisión del historial de un trabajo individual
 SQL Server Agent captura                     Resultado del paso de trabajo: correcto o erróneo
 todas las actividades de los
 trabajos y almacena la                       Duración de ejecución
 información en la tabla
 sysjobhistory.                               Errores y mensajes
                                           Configuración del tamaño del historial de trabajos
                                              Conservar información acerca de cada trabajo
                                              Sobrescribir historial cuando se alcance el tamaño
                                              máximo




                                SQL Server Agent captura el estado de ejecución de los pasos
                                de los trabajos y almacena esa información en la tabla de sistema
                                msdb.sysjobhistory. El Administrador corporativo de SQL Server
                                permite ver la información de historial de un trabajo individual, así como
                                configurar el tamaño del historial de trabajos.

                                Revisión del historial de un trabajo individual
                                Si un trabajo causa un error, puede ver el registro de historial del trabajo
                                para obtener información acerca de cada uno de sus pasos, la causa del error
                                y soluciones para resolver el problema. Específicamente, el historial de trabajos
                                registra:
                                   La fecha y hora en que tuvieron lugar los pasos del trabajo.
                                   Si el paso del trabajo se ejecutó correctamente o causó errores.
                                   El operador al que se notificó y el método de notificación.
                                   La duración del paso de trabajo.
                                   Errores o mensajes.
Realización de tareas administrativas                                                                     16


 Sugerencia                     Configuración del tamaño del historial de trabajos
 Muestre cómo cambiar la        Si desea conservar información acerca de cada trabajo, debe incrementar
 configuración del historial    el tamaño máximo de filas del historial de trabajos (tabla de sistema
 de trabajos.                   sysjobhistory). El historial de trabajos se sobrescribe automáticamente
                                cuando se alcanza el tamaño máximo de filas.
 Muestre también el historial
 por cada trabajo y señale la   Al configurar el tamaño del historial de trabajos, tenga en cuenta los siguientes
 diferencia que se produce      hechos:
 cuando está desactivada la
 casilla de verificación           De forma predeterminada, las propiedades de archivo de la base de datos
 Mostrar detalles del paso.        msdb tienen establecido el crecimiento automático y está activada la opción
                                   de base de datos para truncar el registro en el punto de comprobación.
                                   De forma predeterminada, el tamaño máximo del historial de trabajos está
                                   establecido en 1000 filas.
                                   De forma predeterminada, el tamaño máximo del historial de trabajos para
                                   cada trabajo está establecido en 100 filas.
                                   Cuando se alcanzan los límites, las filas se quitan de la tabla de sistema
                                   sysjobhistory siguiendo el método “primero en entrar, primero en salir”
                                   (FIFO, First-in, First-out).

                                   Nota Si se cierra SQL Server o SQL Server Agent mientras se está
                                   ejecutando una instrucción Transact-SQL, el historial de trabajos contendrá
                                   información acerca del paso de trabajo que se estaba ejecutando. Puede
                                   especificar el número máximo de segundos que SQL Server Agent esperará
                                   a que un trabajo termine de ejecutarse antes de que se cierre el servicio.
Realización de tareas administrativas   17
Realización de tareas administrativas                                                                   18


        Creación de alertas
 Objetivo del tema
 Presentar la creación
 de alertas.
 Explicación previa                       Uso de alertas para responder a posibles problemas
 Con la creación de alertas,              Escritura de sucesos en el registro de aplicación
 SQL Server permite
 responder a posibles                     Creación de alertas para responder a errores de
 problemas.                               SQL Server
                                          Creación de alertas para un error definido por el usuario
                                          Respuesta a las alertas de condiciones de rendimiento
                                          Asignación de un operador a prueba de errores




                               SQL Server permite responder a posibles problemas mediante la creación de
                               alertas que respondan a errores de SQL Server, errores definidos por el usuario
                               o condiciones de rendimiento. También puede crear un operador a prueba de
                               errores por si una notificación por localizador no llega a un operador.
Realización de tareas administrativas                                                                                     19


Uso de alertas para responder a posibles problemas
 Objetivo del tema                  Base de datos usuario
                                    Base de datos usuario                              Base de datos msdb
                                                                                       Base de datos msdb
 Describir cómo se
                                                                          Error
                                                                           Error          Tabla sysalerts
 procesan las alertas.                  Tabla customers
                                        Tablacustomers
                                               customers                  50099
                                                                          50099
                                                                                          Tabla sysalerts
                                        CustomerID LastName
                                         CustomerID LastName    ...
                                                                 ...
                                                                       con registro
                                                                       con registro       id
                                                                                           id       name
                                                                                                     name          ...
                                                                                                                    ...
 Explicación previa
 Las alertas responden a                731
                                         731        Harui
                                                     Harui      ...
                                                                 ...
                                                                                          15
                                                                                           15       50099
                                                                                                     50099         ...
                                                                                                                    ...
                                                               Cliente eliminado
                                                               Cliente eliminado
 errores de SQL Server o                732
                                        732         van Dam
                                                    van Dam     ... Eva Corets
 definidos por el usuario
                                         732         van Dam     ...
                                                               por Eva Corets
                                                               por                      Tabla sysnotifications
                                                                                        Tabla sysnotifications
 que se hayan escrito en el
                                        733
                                         733       Niikkonen
                                                   Niikkonen    ...
                                                                 ...                    alert_id
                                                                                         alert_id             ...
                                                                                                    operator_id...
                                                                                                     operator_id
 registro de aplicación de                                                              15
                                                                                         15         12
                                                                                                     12       ...
                                                                                                               ...
 Windows.                                                                             Tabla sysoperators ...
                                                                                          ... sysoperators ...
                                                                                           ...      ...
                                                                                                     ...
                                                                                       Tabla
                                   Mensaje de correo electrónico
                                   Mensaje de correo electrónico                      id
                                                                                       id     name
                                                                                               name       ...
                                                                                                           ...
                                   De:
                                   De:         SQL Server
                                               SQL Server                              12 Account Manager ...
                                                                                      12 Account Manager   ...
                                   Para:       Account Manager
                                   Para:
                                   Asunto:
                                               Account Manager
                                               Número de error 50099
                                                                                       ... ...
                                                                                        ... ...           ...
                                                                                                           ...
                                   Asunto:     Número de error 50099

                                   Cliente 732 eliminado por Eva Corets
                                   Cliente 732 eliminado por Eva Corets




                               Las alertas responden a errores (sucesos) de SQL Server o definidos por el
                               usuario que se hayan escrito en el registro de aplicación de Windows. Los
                               errores de SQL Server se generan como respuesta a problemas predefinidos,
                               como permisos de usuario insuficientes para modificar una tabla o por haberse
                               llenado el registro de transacciones. Para generar mensajes definidos por el
                               usuario, la aplicación de base de datos (normalmente, un procedimiento
                               almacenado o un desencadenador) debe llamar a la instrucción RAISERROR.

                               Situación de ejemplo
                               Un jefe de cuentas desea que se le notifique por correo electrónico cada vez que
                               se quite un cliente de la base de datos. También desea conocer el nombre del
                               empleado que ha eliminado el cliente por si es necesario realizar posteriormente
                               alguna acción.
Realización de tareas administrativas                                                                     20


                               Proceso de alerta
                               Los pasos siguientes ilustran la secuencia de sucesos que desencadenan una
                               alerta como respuesta a la petición del jefe de cuentas:
                               1. Eva Corets, una representante del servicio al cliente, quita el cliente
                                  Van Dam de la tabla Customers. Se ejecuta el procedimiento almacenado
                                  RemoveCustomer, que genera el número de error 50099.
                               2. El error (suceso) se escribe en el registro de aplicación de Windows.
                               3. El registro de aplicación de Windows notifica a SQL Server Agent que se ha
                                  producido un suceso.
                               4. A continuación, SQL Server Agent compara el error con las alertas
                                  definidas en la tabla de sistema msdb.sysalerts, que se mantiene en caché.
                               5. SQL Server Agent procesa la respuesta a la alerta; para ello:
                                   a. Revisa la tabla del sistema msdb.sysnotifications para enviar un
                                      mensaje de correo electrónico.
                                   b. Revisa la tabla del sistema msdb.sysoperators, que identifica a quién se
                                      debe enviar la notificación.
Realización de tareas administrativas                                                                     21


Escritura de sucesos en el registro de aplicación
 Objetivo del tema
 Describir la escritura de
 sucesos en el registro de
 aplicación.                               Errores de SQL Server con nivel de gravedad
 Explicación previa                        comprendido entre 19 y 25
 SQL Server escribe sucesos
 en el registro de aplicación
                                           Procedimientos almacenados del sistema
 de Windows cuando se da                   sp_addmessage o sp_altermessage
 cualquiera de las
 condiciones siguientes.
                                           Instrucción RAISERROR WITH LOG
                                           Procedimiento almacenado extendido xp_logevent




                                Cuando se inicia el servicio SQL Server Agent, éste se registra con el Visor
 Sugerencia                     de sucesos y se conecta al servicio SQL Server. Esto permite informar a
 En Windows 98, la función
 del Visor de sucesos se
                                SQL Server Agent cuándo se escriben sucesos de SQL Server en el registro
 sustituye por una traza del    de aplicación de Windows. A continuación, SQL Server Agent compara los
 Analizador de SQL Server.      sucesos con los trabajos y alertas en caché para determinar si debe realizarse
                                una acción definida.
                                SQL Server escribe sucesos en el registro de aplicación de Windows cuando:
                                   Se producen errores de SQL Server con un nivel de gravedad comprendido
                                   entre 19 y 25.
                                   Se ha definido que se escriban los mensajes de error en el registro de
                                   aplicación de Windows con el procedimiento almacenado del sistema
                                   sp_addmessage o sp_altermessage.
                                   Se ejecuta la instrucción RAISERROR WITH LOG.
                                   Se ejecuta el procedimiento almacenado extendido xp_logevent.
Realización de tareas administrativas                                                                   22


Creación de alertas para responder a errores de SQL Server
 Objetivo del tema
 Explicar la creación de
 alertas para responder a                 Definición de alertas para números de error de
 errores de SQL Server.                   SQL Server
 Explicación previa                           Deben escribirse en el registro de aplicación de
 Puede utilizar alertas para                  Windows
 responder a errores de
 SQL Server.                                  Suministrado por el sistema o definido por el usuario
                                          Definición de alertas para niveles de gravedad
                                          de errores
                                              Los niveles de seguridad entre 19 y 25 se escriben
                                              automáticamente
                                              Configuración del reenvío de sucesos




                               Al crear una alerta para generar una respuesta cuando tenga lugar un error de
                               SQL Server, puede especificar un número de error único, por ejemplo 9002, o
                               todos los errores con un nivel de gravedad específico, por ejemplo 17.

                               Nota Como máximo se producirá una alerta para un suceso determinado.
                               SQL Server Agent desencadenará la alerta más específica que se haya definido.
                               Por ejemplo, si ha definido una alerta para los errores con gravedad 17 en
                               todas las bases de datos y otra alerta para el error 9002 (que también es de
                               gravedad 17), se generará la alerta del error 9002.


 Sugerencia                    Definición de alertas para números de error
 El procedimiento almace-
 nado del sistema              de SQL Server
 sp_add_alert incluye          Para definir una nueva alerta, puede utilizar el Administrador corporativo de
 un parámetro,                 SQL Server o ejecutar el procedimiento almacenado del sistema sp_add_alert.
 @raise_snmp_trap.             La definición de las alertas se almacena en la tabla de sistema msdb.sysalerts.
 Solamente se ha               Esta tabla se mantiene en caché para mejorar el rendimiento. Al definir alertas
 incluido para mantener        para un número de error de SQL Server, tenga en cuenta los hechos y
 la compatibilidad con
                               directrices siguientes:
 versiones anteriores.
                                   Los números de error deben escribirse en el registro de aplicación
                                   de Windows.
                                   Puede definir alertas para cualquier número de error de SQL Server, ya sea
                                   suministrado por el sistema ya definido por el usuario, que esté almacenado
                                   en la tabla de sistema master.sysmessages.
                                   Puede definir más de una alerta para un mismo número de error de
                                   SQL Server. Sin embargo, cada alerta debe limitarse a una base de datos
                                   específica o debe aplicarse a todas las bases de datos.
                                   Por ejemplo, para responder al número de error 9002 en las bases de datos
                                   Payroll y Customer, puede crear dos alertas diferentes. O bien, puede crear
                                   una alerta que responda al número de error 9002 en todas las bases de datos.
Realización de tareas administrativas                                                                      23


                                    Al crear una alerta que se aplique a todas las bases de datos, asegúrese
                                    de que el mensaje de error proporciona una explicación suficientemente
                                    detallada. Normalmente, esto se logra con parámetros de sustitución que
                                    facilitan el nombre de la base de datos, por ejemplo.
                                    Puede definir una cadena específica en el texto del mensaje de error, además
                                    del número de error.
                                    Por ejemplo, puede crear una alerta que le notifique que alguien intenta
                                    iniciar sesión en el sistema como administrador. Para ello, especifique el
                                    número de error 18456 (Error de inicio de sesión del usuario ‘%s’) y la
                                    cadena de mensaje “sa”.

 Sugerencia                      Definición de alertas para niveles de gravedad de errores
 Sugiera a los alumnos
                                 Al definir alertas cuya condición es un nivel de gravedad de error, tenga en
 que utilicen las alertas
 predefinidas para estos
                                 cuenta los siguientes hechos y directrices:
 niveles de gravedad.               Los errores de SQL Server con niveles de gravedad comprendidos entre 19
                                    y 25 se escriben automáticamente en el registro de aplicación de Windows.
 Muestre cómo se modifican
 las alertas predefinidas.          Los niveles de gravedad del 20 al 25 corresponden a errores fatales.
 Para ello, especifique un          Debe definir siempre un operador a quien se notificará cuando se
 operador al que se notificará      produzcan errores de SQL Server con estos niveles de gravedad.
 y cambie el nombre de la
 alerta para quitar la palabra      SQL Server proporciona alertas predefinidas que puede utilizar. Debe
 demo.                              modificar las alertas predefinidas para errores fatales; para ello, defina un
                                    operador al que se notificará y cambie el nombre de la alerta para quitar la
                                    palabra demo.
                                    Puede crear una alerta que se active cuando se produzca un error de un nivel
                                    de gravedad específico, ya sea en todas las bases de datos ya en alguna en
                                    particular.
                                    Puede definir una cadena específica en el texto del mensaje de error, además
                                    del nivel de gravedad. Por ejemplo, puede crear una alerta que le notifique
                                    los errores de gravedad 17 en cualquier base de datos con la cadena de
                                    mensaje “espacio en disco”.

 Sugerencia                      Configuración del reenvío de sucesos
 El reenvío de sucesos           Es posible configurar SQL Server Agent para designar un servidor
 sólo está disponible cuando     que reciba todos los mensajes de sucesos que tengan el nivel de gravedad
 SQL Server está instalado       especificado o superior, o que sólo reciba aquellos que no se hayan tratado.
 en Windows 2000 o en            Puede que desee reenviar los sucesos a un servidor que esté menos ocupado
 Windows NT.
                                 que los demás servidores del dominio.
                                 Por ejemplo, puede hacer que los errores con nivel de gravedad 18 o superior se
                                 reenvíen al servidor Accounting. Si se produce en el servidor un error con nivel
                                 de gravedad 19, el suceso se reenviará automáticamente al servidor Accounting
                                 para solucionar el problema.
Realización de tareas administrativas                                                                     24


Creación de alertas para un error definido por el usuario
 Objetivo del tema
 Explicar la creación de
 mensajes de error definidos                 Creación del mensaje de error
 por el usuario para las
 alertas.                                          El número de error debe ser mayor que 50000
 Explicación previa                                Pueden utilizarse parámetros
 Al crear alertas, también
 puede especificar mensajes                  Generación del error desde la aplicación de base
 de error definidos por el                   de datos
 usuario (personalizados)
 para aplicaciones de base                         Use la instrucción RAISERROR
 de datos individuales.
                                                   Declare variables para los parámetros
                                             Definición de una alerta para el mensaje de error




                                Al crear alertas, también puede especificar mensajes de error definidos por el
 Sugerencia                     usuario (personalizados) para aplicaciones de base de datos individuales que le
 Muestre cómo crear un
 mensaje definido por el
                                permitan definir soluciones con las que evitar posibles problemas antes de que
 usuario con el Administrador   se produzcan.
 corporativo de SQL Server.
                                Por ejemplo, puede crear un mensaje de error definido por el usuario que se
                                genere en un desencadenador de actualización de la tabla Inventory. Cuando
                                se actualiza una columna de la tabla Inventory, lo que indica que los niveles
                                de inventario han caído por debajo del 25 por ciento para un producto
                                determinado, el desencadenador generará el error definido por el usuario.
                                Después, podría definir una alerta para el mensaje de error que ejecute un
                                trabajo con el que se vuelve a ordenar el inventario y que envíe un mensaje de
                                correo electrónico al agente de compras.
                                Para crear una alerta asociada a un error definido por el usuario, primero debe
                                crear el mensaje de error. A continuación, debe generar el error en la aplicación
                                de base de datos y definir una alerta para él.

                                Creación del mensaje de error
                                Para crear errores definidos por el usuario, puede utilizar el Administrador
                                corporativo de SQL Server o el procedimiento almacenado del sistema
                                sp_addmessage. Al crear errores definidos por el usuario, tenga en cuenta los
                                hechos siguientes:
                                   Los números de los errores definidos por el usuario deben ser mayores de
                                   50000. Los números de error inferiores a 50000 están reservados para los
                                   errores de sistema predefinidos de SQL Server.
                                   Todos los errores definidos por el usuario se almacenan en la tabla de
                                   sistema sysmessages de la base de datos master.
                                   Los mensajes de error pueden incluir parámetros que capturen detalles
                                   específicos, de modo que ofrezcan la información adecuada para detallar
                                   el estado o solucionar el problema.
Realización de tareas administrativas                                                                    25


                                   Los mensajes de error de SQL Server se muestran en el idioma seleccionado
                                   durante la instalación. Si administra un entorno SQL Server con varios
                                   idiomas, también podrá crear mensajes definidos por el usuario para otros
                                   idiomas.
                                   Si piensa generar una alerta para un mensaje de error, debe escribir el
                                   mensaje de error en el registro de aplicación de Windows.
Ejemplo 1                      Este ejemplo crea un mensaje de error definido por el usuario (número 50099)
                               que se almacena en el registro de aplicación de Windows (según se especifica
                               con true en la sintaxis mostrada a continuación) cuando se produce el error.
                               El parámetro %d se reemplaza por el número de cliente que se elimina y el
                               parámetro %s se reemplaza por el nombre del usuario que ejecutó la instrucción
                               DELETE en la tabla Customers.
                               EXEC sp_addmessage 50099, 16, 'Customer %d was deleted by %s',
 Sugerencia                    'us_english','true'
 La opción true especifica
 que el mensaje se debe        Generación del error desde la aplicación de base
 escribir en el registro de
 aplicación de Windows.        de datos
                               Para generar un error, utilice la instrucción RAISERROR en un procedimiento
                               almacenado o en un desencadenador. La instrucción RAISERROR devuelve un
                               mensaje de error definido por el usuario y establece un indicador del sistema
                               (en la función de sistema @@error) para registrar que se ha producido un
                               error.
Ejemplo 2                      Este ejemplo ilustra la parte de la secuencia de comandos que se utiliza
                               para crear un procedimiento almacenado que elimina un cliente de la tabla
                               Customers. El procedimiento almacenado genera el error número 50099,
                               creado anteriormente, con la instrucción RAISERROR, que sustituye los
                               valores adecuados para el número del cliente eliminado y el nombre del
                               usuario que ha ejecutado el procedimiento almacenado.
Sintaxis parcial               CREATE PROCEDURE removecustomer
                               @CustomerID varchar(5) = NULL
                               AS
                               .
                               DECLARE @username varchar(60)
                               SET @username = suser_sname()

                               BEGIN TRANSACTION
                                 DELETE Customers
                                 WHERE CustomerID = @CustomerID
                                 RAISERROR (50099, 16, 1, @CustomerID, @username)
                               COMMIT TRANSACTION

                               Una aplicación de cliente llamará al procedimiento almacenado
                               RemoveCustomer y pasará la variable con el número de cliente
                               que ha especificado el usuario.
Realización de tareas administrativas                                                                    26


                               Definición de una alerta para el mensaje de error
                               Se crea una alerta para el error 50099 que envía al jefe de cuentas un mensaje
                               de correo electrónico que incluye el texto del mensaje de error.
                               Cuando un usuario ejecuta el procedimiento almacenado RemoveCustomer,
                               se genera el error 50099 y se anota en el registro de aplicación de Windows.
                               A continuación, se activa la alerta asociada al número de error y se envía al jefe
                               de cuentas un mensaje de correo electrónico que incluye el texto del mensaje de
                               error.
Resultado                      Error: 50099, Severity: 16, State 1
                               Customer 732 was deleted by ACCOUNTINGevacorets
Realización de tareas administrativas                                                                                          27


Respuesta a las alertas de condiciones de rendimiento
 Objetivo del tema                                                   Alerta 3
                                                                      Alerta 3
 Explicar la definición de                                           Todas las bases de datos: Nivel de seguridad 18
                                                                      Todas las bases de datos: Nivel de seguridad 18
 alertas que responden a                                            Alerta 2
                                                                    Alerta 2
                                                                    Base de datos northwind: Error transfer. datos
 los umbrales del Monitor                                           Base de datos northwind: Error transfer. datos
 del sistema de Windows.                                          Alerta 1:
                                                                  Alerta 1:
                                                                  Base de datos northwind: Registro al 75%
                                                                  Base de datos northwind: Registro al 75%
 Explicación previa                                                  Ejecutar :   Trabajo 2: Copia de seguridad del registro
 Además de utilizar alertas                                                              de transacciones de northwind

 para responder a errores de                                      Operadores a los que se notifica:
 SQL Server, puede usarlas              Alcanzado                 Nombre del operador      Correo Localizador Envío de red
 para responder a condi-                el umbral a
                                                                  Meng Phua
                                        las 1:28 A.M.
 ciones de rendimiento de                                         Nwind Admins
                                                                  Jose Lugo
 SQL Server.
                                               Agenda del localizador
                                               Agenda del localizador
                                               12:01 - 8:00      Meng Phua
                                                8:01 -- 18:00
                                                8:01 18:00       Nwind Admins
                                                                  Nwind Admins
                                               18:01 -- 0:00
                                               18:01      0:00   Jose Lugo
                                                                  Jose Lugo




                               Además de utilizar alertas para responder a errores de SQL Server, puede
                               usarlas para responder a condiciones de rendimiento de SQL Server, como las
                               definidas en el Monitor del sistema de Windows. Cuando se supere el valor de
                               la condición, se activará la alerta.
                               Por ejemplo, puede crear una alerta de condición de rendimiento que se active
                               cuando el registro de transacciones de la base de datos Northwind supere el 75
                               por ciento de su capacidad. La respuesta a la alerta podría consistir en ejecutar
                               un trabajo que haga una copia de seguridad del registro de transacciones y lo
                               notifique al administrador de la base de datos.

                               Nota No es necesario que se esté ejecutando el Monitor del sistema de
                               Windows en el servidor SQL Server para poder utilizar alertas de condiciones
                               de rendimiento.

                               Puede crear alertas de condiciones de rendimiento basadas en recursos de
                               SQL Server que incluyan los objetos siguientes:
                                   Métodos de acceso
                                   Administrador de búfer
                                   Administrador de caché
                                   Bases de datos
                                   Bloqueos
                                   Estadísticas de SQL
Realización de tareas administrativas                                                                  28


                               Reducción del retardo entre respuestas
                               Los datos de rendimiento se muestrean periódicamente (unas pocas veces por
                               minuto), lo que puede producir un retardo entre el momento en que se alcanza
                               el umbral y la activación de la alerta. Por tanto, puede ser conveniente reducir
                               el retardo entre respuestas o modificar el umbral de la condición de rendimiento
                               cuando sea necesario que la respuesta a la alerta corrija la condición
                               rápidamente.
Realización de tareas administrativas                                                                                29


Asignación de un operador a prueba de errores
 Objetivo del tema                                                                Alerta: Error 18204
                                                                                  Alerta: Error 18204
 Explicar la creación de
 un operador a prueba de                                                          Error en el dispositivo de copia
 errores.
 Explicación previa
 En el caso de que las                      Operador al que se notifica
                                            Operador al que se notifica
 notificaciones por locali-
                                     Operadores     Correo Localizador Envío de red    Operador a prueba
                                                                                       Operador
 zador de las alertas                                                                     de errores
                                     Meng Phua                                             de errores
 definidas no se ejecuten
 correctamente, puede                Nwind Admins
 enviarlas a un operador
 a prueba de errores.                Jose Lugo

                                                                                  Agenda del localizador
                                                                                  Agenda del localizador

                                                                                  12:01 -- 8:00
                                                                                   12:01 8:00         Meng Phua
                                                                                                       Meng Phua
                                                                                    8:01 -- 6:00
                                                                                    8:01 6:00         Nwind Admins
                                                                                                       Nwind Admins
                                                                                    6:01 --12:00
                                                                                    6:01 12:00        Jose Lugo
                                                                                                       Jose Lugo



                                 Es posible asignar un operador a prueba de errores para que responda a una
 Sugerencia                      alerta cuando no se ejecuten correctamente las notificaciones por localizador
 Ésta es una diapositiva
 animada. Consulte las
                                 a los operadores definidos. Por ejemplo, si Meng Phua no está de servicio el
 Notas para el instructor        jueves cuando se produce la alerta correspondiente al error 18204 a la 1:30
 si necesita ayuda para          a.m., se informará al operador a prueba de errores.
 desplazarse por esta
 diapositiva.
                                 El operador a prueba de errores recibirá una notificación cuando se den todas
                                 las circunstancias siguientes:
 Indique que la información
                                    La alerta tiene notificaciones por localizador definidas como respuesta.
 de la ilustración es ficticia
 y se ofrece a modo de              Ninguno de los operadores a los que se debe enviar el mensaje por
 ejemplo.                           localizador está de servicio.
                                    Hay definido un operador a prueba de errores.
                                    La sesión de correo de SQL Server Agent está iniciada.
                                    La sesión de correo de SQL Server Agent es necesaria para que el operador
                                    a prueba de errores reciba notificaciones por correo electrónico
                                    o por localizador.

                                 Al asignar un operador a prueba de errores, tenga en cuenta los hechos
                                 siguientes:
                                    La información del operador a prueba de errores se almacena en memoria
                                    caché de forma que no dependa de la conexión a la base de datos MSDB.
                                    Sólo puede haber un operador a prueba de errores.
                                    No es posible eliminar un operador a prueba de errores. Sin embargo, puede
                                    quitar la asignación de operador a prueba de errores y, a continuación,
                                    eliminar al operador.

Más contenido relacionado

La actualidad más candente

Elementos basicos C++
Elementos basicos C++Elementos basicos C++
Elementos basicos C++
José Tomás Diarte Añazco
 
MVC
MVCMVC
Ejemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasEjemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasKenny Cash
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Gestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativosGestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativos
Luis Alonso Guzmán Espinoza
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
Juan Pablo Bustos Thames
 
Empresas con BDOO
Empresas con BDOOEmpresas con BDOO
Empresas con BDOOtec lerdo
 
HTML5
HTML5HTML5
Metodologia kendall y Kendall
Metodologia kendall y KendallMetodologia kendall y Kendall
TUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCHTUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCH
kelsy98
 
herramientas case
herramientas caseherramientas case
herramientas case
tomaspetto
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
Rodrigo Alfaro Pinto
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
Kevin Arnold Paye Zamata
 

La actualidad más candente (20)

Elementos basicos C++
Elementos basicos C++Elementos basicos C++
Elementos basicos C++
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
MVC
MVCMVC
MVC
 
Ejemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasEjemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadas
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Diseño orientado a objeto
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Gestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativosGestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativos
 
Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL) Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL)
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Middleware
MiddlewareMiddleware
Middleware
 
Empresas con BDOO
Empresas con BDOOEmpresas con BDOO
Empresas con BDOO
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
HTML5
HTML5HTML5
HTML5
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Metodologia kendall y Kendall
Metodologia kendall y KendallMetodologia kendall y Kendall
Metodologia kendall y Kendall
 
TUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCHTUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCH
 
herramientas case
herramientas caseherramientas case
herramientas case
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 

Destacado

Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenadoselylupita
 
Creacion De Una Bd en My Sql
Creacion De Una Bd en My SqlCreacion De Una Bd en My Sql
Creacion De Una Bd en My SqlZiscko
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañanaANilez Solrak
 
Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sql
Freddy Poma Inga
 
TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN  TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN
Lizeth Bernabe
 
Método SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datosMétodo SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datos
Sebastian Rodriguez Robotham
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos Almacenados
Carlos Pereda Miñano
 
Cronograma oficina 69093
Cronograma oficina 69093Cronograma oficina 69093
Cronograma oficina 69093Maria Alejandra
 
Aplicacionesdeusoeducativo
AplicacionesdeusoeducativoAplicacionesdeusoeducativo
Aplicacionesdeusoeducativo
dorysvalero
 
PlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz TecnoacademyPlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz Tecnoacademy
Salvador Fernández Fernández
 
Planificar en el proceso de grabacion de datos
Planificar en el proceso de grabacion de datosPlanificar en el proceso de grabacion de datos
Planificar en el proceso de grabacion de datos
Balbino Rodriguez
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
iluijo
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
Miguel Angel Rivera Robledo
 
La planeacion de tareas
La planeacion de tareasLa planeacion de tareas
La planeacion de tareasemialzate
 
Test de alfabetización digital para docentes copia
Test de alfabetización digital para docentes copiaTest de alfabetización digital para docentes copia
Test de alfabetización digital para docentes copiaprofesoraudp
 
Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.
Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.
Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.
Luciano L. Antonietti
 

Destacado (20)

Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Creacion De Una Bd en My Sql
Creacion De Una Bd en My SqlCreacion De Una Bd en My Sql
Creacion De Una Bd en My Sql
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
 
Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sql
 
TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN  TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN
 
Método SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datosMétodo SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datos
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos Almacenados
 
1. realizacion de tareas administrativas
1.  realizacion de tareas administrativas1.  realizacion de tareas administrativas
1. realizacion de tareas administrativas
 
Cronograma oficina 69093
Cronograma oficina 69093Cronograma oficina 69093
Cronograma oficina 69093
 
Aplicacionesdeusoeducativo
AplicacionesdeusoeducativoAplicacionesdeusoeducativo
Aplicacionesdeusoeducativo
 
Gantter
GantterGantter
Gantter
 
T1 u3
T1 u3T1 u3
T1 u3
 
PlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz TecnoacademyPlanificacióN Temporal Esquema Voraz Tecnoacademy
PlanificacióN Temporal Esquema Voraz Tecnoacademy
 
Planificar en el proceso de grabacion de datos
Planificar en el proceso de grabacion de datosPlanificar en el proceso de grabacion de datos
Planificar en el proceso de grabacion de datos
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
La planeacion de tareas
La planeacion de tareasLa planeacion de tareas
La planeacion de tareas
 
Test de alfabetización digital para docentes copia
Test de alfabetización digital para docentes copiaTest de alfabetización digital para docentes copia
Test de alfabetización digital para docentes copia
 
Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.
Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.
Planificacion por tareas o procesos logicos - Luciano Lujan ANTONIETTI.
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 

Similar a 1. realizacion de tareas administrativas

INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008
INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008
INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008
Edwin Arias
 
Curso sql server 2012 clase 2
Curso sql server 2012 clase 2Curso sql server 2012 clase 2
Curso sql server 2012 clase 2
josealopezpastor
 
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos SqlHerramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Olaya Molina
 
2. administracion de la seguridad
2.  administracion de la seguridad2.  administracion de la seguridad
2. administracion de la seguridadNestor Lopez
 
Sistemas de seguridad
Sistemas de seguridadSistemas de seguridad
Sistemas de seguridad
yenny isabel cuello moron
 
Intalacion de office operativo
Intalacion de office operativoIntalacion de office operativo
Intalacion de office operativoWichoo Weroo
 
Segruridad en sql server
Segruridad en sql serverSegruridad en sql server
Segruridad en sql server
Erlin Darwin Herrera cieza
 
Auditoría de bases de datos
Auditoría de bases de datosAuditoría de bases de datos
Auditoría de bases de datos
Daniel Iba
 
Diapositivas
DiapositivasDiapositivas
Administracion de seguridad
Administracion de seguridadAdministracion de seguridad
Administracion de seguridad
Vicente Alberca
 
Autentificación de Seguridad de SQL SERVER
Autentificación de Seguridad de SQL SERVERAutentificación de Seguridad de SQL SERVER
Autentificación de Seguridad de SQL SERVER
Jaime Aguilar Rafael
 
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVERADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
INGRID LESLY CORONEL ACUÑA
 
Presentacion Sql Compilance Manager
Presentacion Sql Compilance ManagerPresentacion Sql Compilance Manager
Presentacion Sql Compilance Managerguest179439e66
 
sesion03-traspa.pdf
sesion03-traspa.pdfsesion03-traspa.pdf
sesion03-traspa.pdf
OdalisLinares
 
Administracion de la seguridad en sql
Administracion de la seguridad en sqlAdministracion de la seguridad en sql
Administracion de la seguridad en sql
Mirian Janeth Paquirachin Garcia
 

Similar a 1. realizacion de tareas administrativas (20)

INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008
INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008
INTRODUCCIÓN A SQL SERVER MANAGEMENT STUDIO 2008
 
Curso sql server 2012 clase 2
Curso sql server 2012 clase 2Curso sql server 2012 clase 2
Curso sql server 2012 clase 2
 
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos SqlHerramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
 
2. administracion de la seguridad
2.  administracion de la seguridad2.  administracion de la seguridad
2. administracion de la seguridad
 
Sistemas de seguridad
Sistemas de seguridadSistemas de seguridad
Sistemas de seguridad
 
Intalacion de office operativo
Intalacion de office operativoIntalacion de office operativo
Intalacion de office operativo
 
Servidor LAMP en CentOS 6.3
Servidor LAMP en CentOS 6.3Servidor LAMP en CentOS 6.3
Servidor LAMP en CentOS 6.3
 
Segruridad en sql server
Segruridad en sql serverSegruridad en sql server
Segruridad en sql server
 
Auditoría de bases de datos
Auditoría de bases de datosAuditoría de bases de datos
Auditoría de bases de datos
 
Seguridad sql server
Seguridad sql serverSeguridad sql server
Seguridad sql server
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Administracion de seguridad
Administracion de seguridadAdministracion de seguridad
Administracion de seguridad
 
Autentificación de Seguridad de SQL SERVER
Autentificación de Seguridad de SQL SERVERAutentificación de Seguridad de SQL SERVER
Autentificación de Seguridad de SQL SERVER
 
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVERADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
 
Presentacion Sql Compilance Manager
Presentacion Sql Compilance ManagerPresentacion Sql Compilance Manager
Presentacion Sql Compilance Manager
 
sesion03-traspa.pdf
sesion03-traspa.pdfsesion03-traspa.pdf
sesion03-traspa.pdf
 
Administracion de la seguridad en sql
Administracion de la seguridad en sqlAdministracion de la seguridad en sql
Administracion de la seguridad en sql
 
Managemen tools
Managemen toolsManagemen tools
Managemen tools
 
Managemen tolos
Managemen tolosManagemen tolos
Managemen tolos
 
Expo management tools
Expo management toolsExpo management tools
Expo management tools
 

1. realizacion de tareas administrativas

  • 1. Realización de tareas administrativas Contenido Configuración de SQL Server Agent 2 Tareas administrativas rutinarias de SQL Server 3 Automatización de las tareas de mantenimiento rutinarias 4 Creación de alertas 18
  • 2. Realización de tareas administrativas i Notas para el instructor Este módulo ofrece a los alumnos detalles acerca de cómo realizar tareas de configuración y administrativas rutinarias. Describe cómo automatizar tareas mediante la creación de trabajos, operadores y alertas. En el módulo también se describe la automatización de tareas en un entorno multiservidor. En la primera práctica, los alumnos crearán operadores y trabajos que constan de varios pasos de trabajo. En la segunda práctica, los alumnos crearán alertas. Después de completar este módulo, el alumno será capaz de: Realizar tareas de configuración comunes de Microsoft® SQL Server™ 2000. Describir las tareas administrativas de base de datos rutinarias. Automatizar las tareas de mantenimiento rutinarias mediante la creación y programación de trabajos. Crear alertas para errores de SQL Server, errores definidos por el usuario o condiciones de rendimiento y notificar a los operadores cuando se produzcan. Solucionar problemas de alertas, notificaciones o trabajos automáticos. Automatizar trabajos administrativos en un entorno multiservidor.
  • 3. Realización de tareas administrativas 1 Configuración de SQL Server Agent Objetivo del tema Describir la configuración SQL Server Agent debe estar en ejecución en todo momento de SQL Server Agent Explicación previa Configurar SQL Server Agent para el inicio automático Para que SQL Server Agent Configurar los servicios SQL Server y SQL Server Agent ejecute trabajos y active para reiniciarlos de forma automátimatica si se detienen alertas para SQL Server, de forma inesperada debe estar en ejecución en todo momento y disponer de La cuenta de inicio de sesión de SQL Server Agent debe los permisos necesarios. estar asignada a la función sysadmin Asignar esta cuenta al grupo local Administradores Utilizar una cuenta de inicio de sesión de usuario de dominio de Windows Uso del modo de autenticación de Windows para SQL Server Agent SQL Server Agent es el componente de SQL Server responsable de automatizar las tareas administrativas de SQL Server. Para que SQL Server Agent ejecute trabajos y active alertas, debe estar en ejecución en todo momento y disponer de los permisos necesarios. Sugerencia SQL Server Agent debe estar en ejecución en La opción autostart no está disponible en la plataforma todo momento Windows 95 y 98. En todos los sistemas operativos Windows 2000 y Microsoft Windows NT®, SQL Server Agent suele ejecutarse como un servicio de Windows. Este servicio debe estar en funcionamiento para poder ejecutar los trabajos programados y activar las alertas definidas. Debe configurar el servicio SQL Server Agent para que se inicie automáticamente siempre que se inicie Windows 2000 o Windows NT. En Microsoft Windows 98, SQL Server Agent se ejecuta como una aplicación y no puede configurarse para que se inicie automáticamente (aunque podría ponerse la aplicación en el grupo Inicio para que se iniciara cuando un usuario iniciara una sesión). Además, con el Administrador corporativo de SQL Server puede configurar el servicio SQL Server Agent para que se reinicie automáticamente si se detiene de forma inesperada. Para que se pueda reiniciar automáticamente, la cuenta de servicio SQL Server Agent debe ser miembro del grupo local Administradores.
  • 4. Realización de tareas administrativas 2 La cuenta de inicio de sesión de SQL Server Agent debe estar asignada a la función sysadmin Cuando instala SQL Server, especifica una cuenta de inicio de sesión para el servicio SQL Server Agent. SQL Server Agent no podrá iniciarse a menos que esta cuenta de inicio de sesión esté asignada a la función sysadmin de SQL Server: Cuenta de sistema local. El uso de la cuenta de sistema local sólo permite Sugerencia el acceso al equipo local. Esta cuenta del sistema local es automáticamente Señale que al utilizar la cuenta de sistema local, miembro del grupo local Administradores de Windows y, por tanto, está SQL Server Agent tiene asignada a la función sysadmin de SQL Server. Cuando la cuenta de inicio acceso a un recurso de de sesión de SQL Server Agent utiliza la cuenta de sistema local, red que utiliza su propio normalmente no es posible tener acceso a los recursos de red. mecanismo de seguridad, Cuenta de usuario de dominio. Es necesaria una cuenta de usuario de como FTP o SQL Server. dominio para que SQL Server Agent tenga permiso para: • Comunicarse con la mayoría de los sistemas de correo electrónico para enviar o recibir correo electrónico. • Tener acceso a recursos a través de la red. Debe asignar la cuenta de usuario de dominio a la función sysadmin de SQL Server o agregar dicha cuenta a un grupo local de Windows que esté asignado a la función sysadmin, generalmente la cuenta local Administrador. Sugerencia Uso del modo de autenticación de Windows para Señale que debe estar seleccionada SQL Server Agent la autenticación de SQL Server Agent puede conectarse al servidor SQL Server local mediante la SQL Server al ejecutar autenticación de Windows o la autenticación de SQL Server. De manera SQL Server Agent en predeterminada, SQL Server Agent utiliza la autenticación de Windows Windows 95 ó 98. para conectarse al servidor SQL Server local mediante la cuenta de inicio de sesión definida como cuenta de inicio del servicio SQL Server Agent. El cambio del modo de autenticación de SQL Server Agent puede impedir que éste tenga acceso a los recursos de la red.
  • 5. Realización de tareas administrativas 3 Tareas administrativas rutinarias de SQL Server Objetivo del tema Describir las tareas rutinarias de un administrador de Realización regular de tareas programadas SQL Server. Hacer copia de seguridad de bases de datos Explicación previa La automatización de las Importar y exportar datos tareas de mantenimiento rutinarias de un servidor Reconocimiento de los posibles problemas y su local o de un entorno solución multiservidor permite dedicar tiempo a otras Supervisar espacio de la base de datos y del registro funciones administrativas de la base de datos. Supervisar el rendimiento Una de las funciones principales del administrador de la base de datos es la Sugerencia de realizar las tareas de mantenimiento de SQL Server y de sus bases de datos. Presente la automatización en términos de tareas de Entre estas tareas se incluyen las que se deben llevar a cabo de manera mantenimiento previstas programada y las tareas adicionales cuyo objetivo es el de anticiparse a los frente a tareas no previstas. problemas antes de que éstos se produzcan. Realización regular de tareas programadas En SQL Server se realizan ciertas tareas administrativas y de mantenimiento de forma rutinaria, como efectuar copias de seguridad de las bases de datos, o importar y exportar datos. Por ejemplo, puede hacer una copia de seguridad de una base de datos todos los domingos, y del registro de transacciones cada martes y viernes. Además, puede importar datos de otro origen de datos semanal o mensualmente. Reconocimiento de los posibles problemas y su solución Es necesario supervisar las bases de datos y los registros de transacciones para asegurarse de no quedarse sin espacio. Por ejemplo, si está a punto de llenarse un registro de transacciones, puede efectuar una copia de seguridad y truncarlo. Se deben supervisar las condiciones de rendimiento. Por ejemplo, es necesario supervisar los bloqueos para determinar si los bloqueos de cierre impiden a los usuarios modificar datos.
  • 6. Realización de tareas administrativas 4 Automatización de las tareas de mantenimiento rutinarias Objetivo del tema Presentar los pasos necesarios para auto- Automatización de la administración de SQL Server matizar los trabajos de mantenimiento rutinarios. Creación de trabajos Explicación previa Comprobación de permisos El trabajo del administrador conlleva diferentes tareas Definición de pasos de trabajo que se repiten a diario y que Determinación de la lógica de flujo de acciones de cada pueden resultar tediosas. paso de trabajo Programación de trabajos Creación de operadores a los que se notifica Revisión y configuración del historial de trabajos El trabajo del administrador conlleva diferentes tareas administrativas que se repiten a diario y que pueden resultar tediosas. Se pueden automatizar estas tareas rutinarias y configurar SQL Server para que supervise ciertos tipos de problemas antes de que se produzcan. Al automatizar las tareas de mantenimiento rutinarias, normalmente utilizará el Administrador corporativo de SQL Server para crear trabajos y operadores.
  • 7. Realización de tareas administrativas 5 Automatización de la administración de SQL Server Objetivo del tema Servicios utilizados para automatizar SQL Server Presentar la automatización Los componentes de la automatización de SQL Server son los servicios de la administración de SQL Server. SQL Server Agent, SQL Server y Visor de sucesos de Microsoft Windows. Estos servicios trabajan juntos para permitir la administración automatizada. Componentes de SQL Server Agent Los componentes de SQL Server Agent que permiten la automatización son las alertas, los trabajos y los operadores. Combinación de trabajos y alertas Los trabajos y las alertas se definen separadamente, y pueden ejecutarse o activarse de forma independiente. Puede combinar trabajos y alertas para lograr una funcionalidad adicional. Por ejemplo, si un trabajo no se ejecuta correctamente debido a un error del sistema, una alerta definida para responder a ese número de error podría ejecutar otro trabajo que resolviera el problema.
  • 8. Realización de tareas administrativas 6 Creación de trabajos Objetivo del tema Explicar la creación de trabajos. Explicación previa Asegurarse de que el trabajo está habilitado Para automatizar las tareas Especificar el propietario responsable de rutinarias, primero debe definir las características realizar el trabajo generales del trabajo. Determinar dónde se ejecutará el trabajo Creación de una categoría de trabajos Para definir un nuevo trabajo, puede utilizar el Administrador corporativo de Sugerencia SQL Server o ejecutar el procedimiento almacenado del sistema sp_add_job. Muestre cómo se define un trabajo para efectuar una La definición del trabajo se almacena en la tabla del sistema msdb.sysjobs. copia de seguridad de la Esta tabla se mantiene en caché para mejorar el rendimiento. base de datos master. Al definir trabajos, debe hacer lo siguiente: Asegurarse de que el trabajo está habilitado. Sugerencia Si consulta la tabla del De forma predeterminada, los trabajos están habilitados. Si un trabajo está sistema msdb.sysobjects, deshabilitado, no puede ejecutarse como está programado. Sin embargo, la tabla sysjobs (y otras un usuario puede ejecutar un trabajo deshabilitado si lo inicia en el similares explicadas en Administrador corporativo de SQL Server. este módulo) está definida con tipo “U”. Sin embargo, Especificar el propietario responsable de realizar el trabajo. debido a que la base de De forma predeterminada, el propietario es la cuenta de inicio de sesión datos msdb se instala como del usuario de Windows o SQL Server que crea el trabajo. parte de SQL Server, estas tablas contienen el prefijo Definir si el trabajo se ejecuta en un servidor local o en varios servidores sys y se conocen como remotos. tablas de sistema. Crear categorías de trabajos como ayuda para organizar, filtrar y administrar muchos trabajos. Por ejemplo, puede crear categorías de trabajos que se correspondan con los departamentos de su organización. Nota El Administrador corporativo de SQL Server también puede ayudarle a definir un conjunto esencial de trabajos automatizados mediante la utilización del Asistente para planes de mantenimiento de bases de datos.
  • 9. Realización de tareas administrativas 7 Comprobación de permisos Objetivo del tema Explicar los permisos necesarios para crear Ejecución de trabajos de Transact-SQL trabajos. Ejecutar en el contexto del propietario del trabajo o del Explicación previa usuario específico Si un trabajo es propiedad de una cuenta de inicio de Ejecución de comandos del sistema operativo o de sesión que no es miembro trabajos de secuencias de comandos ActiveX de la función sysadmin, debe comprobar que el Los miembros de la función sysadmin usan la cuenta propietario del trabajo tiene de inicio de sesión de SQL Server Agent los permisos adecuados para ejecutar los pasos Los propietarios de trabajos que no sean miembros de del trabajo. la función sysadmin usan una cuenta de usuario de dominio definida denominada cuenta proxy Si un trabajo es propiedad de una cuenta de inicio de sesión que no es miembro de la función sysadmin, debe comprobar que el propietario del trabajo tiene los permisos adecuados para ejecutar los pasos del trabajo. Ejecución de trabajos de Transact-SQL Todos los usuarios pueden iniciar trabajos de Transact-SQL, que funcionan en el contexto de seguridad del propietario del trabajo o del usuario especificado. Ejecución de comandos del sistema operativo o de trabajos de secuencias de comandos ActiveX Para el sistema operativo y trabajos de secuencias de comandos Microsoft ActiveX®, los pasos que son propiedad de los usuarios que son miembros de la función sysadmin se ejecutan en el contexto de seguridad de la cuenta de inicio de sesión del servicio SQL Server. Si un trabajo es propiedad de una cuenta de inicio de sesión que no es miembro de la función sysadmin, SQL Server Agent debe comprobar que el propietario del trabajo tiene los permisos adecuados para ejecutar los pasos del trabajo. De manera predeterminada, los usuarios que no están en la función sysadmin no tienen permiso para ejecutar comandos del sistema operativo o trabajos de secuencias de comandos ActiveX.
  • 10. Realización de tareas administrativas 8 Sin embargo, un administrador puede permitir a los usuarios que no están en la función sysadmin que ejecuten comandos del sistema operativo o trabajos de secuencias de comandos ActiveX. En este caso, los pasos del trabajo se ejecutan en el contexto de seguridad de una cuenta de usuario de dominio definida denominada cuenta de proxy. Se puede definir esta cuenta de usuario en el Administrador corporativo de SQL Server o mediante la utilización del procedimiento almacenado extendido xp_sqlagent_proxy_account. Nota La cuenta de inicio de sesión de usuario de dominio que utiliza el servicio SQL Server debe ser miembro del grupo local Administradores de Windows para poder ejecutar comandos del sistema operativo y pasos del trabajo de secuencias de comandos ActiveX, cuando el trabajo pertenece a un usuario que no es miembro de la función sysadmin. Esto permite que SQL Server Agent tenga acceso a y utilice la cuenta proxy.
  • 11. Realización de tareas administrativas 9 Definición de pasos de trabajo Objetivo del tema Explicar los tipos de pasos de trabajo que se pueden definir. Uso de instrucciones Transact-SQL Explicación previa Uso de comandos del sistema operativo Puede definir pasos de trabajo que ejecuten Uso de secuencias de comandos de ActiveX instrucciones Transact-SQL, comandos del sistema Uso de la replicación operativo, secuencias de comandos ActiveX o replicación. Puede utilizar el Administrador corporativo de SQL Server o ejecutar el procedimiento almacenado del sistema sp_add_jobstep para definir cada paso de trabajo. Las definiciones de pasos de trabajo se almacenan en la tabla de sistema msdb.sysjobsteps. Puede definir pasos de trabajo que ejecuten instrucciones Transact-SQL, Sugerencia comandos del sistema operativo, lenguajes de secuencias de comandos Active Señale que sólo se puede especificar un tipo o tareas de replicación de SQL Server. Sin embargo, sólo puede especificar un de ejecución por cada tipo de ejecución para cada paso de trabajo. paso de trabajo. Uso de instrucciones Transact-SQL Al definir pasos de trabajo que ejecutan instrucciones Transact-SQL, procedimientos almacenados o procedimientos almacenados extendidos, tenga en cuenta las directrices siguientes: Debe identificar la base de datos que se va a utilizar. Debe incluir las variables y parámetros necesarios en el paso de trabajo. Puede enviar el conjunto de resultados del paso de trabajo a un archivo de salida. Los archivos de salida se utilizan a menudo en la solución de problemas para capturar los mensajes de error que se hayan producido mientras se ejecutaba la instrucción. No es posible utilizar un archivo de salida de un paso de trabajo como entrada de un paso posterior.
  • 12. Realización de tareas administrativas 10 Uso de comandos del sistema operativo Al definir un paso de trabajo que ejecuta una aplicación o un comando del sistema operativo (identificados por los nombres de extensión .exe, .bat, .cmd o .com), debe hacer lo siguiente: Identificar un código de salida del proceso para indicar que el comando se ejecutó correctamente. Incluir la ruta de acceso completa de la aplicación ejecutable en el cuadro de texto Comando. La ruta de acceso es necesaria para ayudar a SQL Server Agent a encontrar el origen de la aplicación. Uso de secuencias de comandos ActiveX Puede escribir pasos de trabajo mediante secuencias de comandos ActiveX con lenguajes como Microsoft Visual Basic® Scripting Edition (VBScript) o Microsoft Jscript®. También puede utilizar otros lenguajes si está instalada la biblioteca de lenguajes para el lenguaje de la secuencia de comandos. Al crear un paso de trabajo con una secuencia de comandos ActiveX, debe hacer lo siguiente: Identificar el lenguaje de secuencia de comandos en el que está escrito el paso de trabajo. Escribir o abrir la secuencia de comandos ActiveX. Puede utilizar el objeto SQLActiveScriptHost para imprimir la salida en el historial de pasos de trabajo o para crear objetos. Opcionalmente, es posible compilar externamente las secuencias de comandos ActiveX (por ejemplo, con Visual Basic) y ejecutarlas después como comandos del sistema operativo. Uso de la replicación Los procesos de replicación se denominan Agentes y se implementan como trabajos de SQL Server Agent.
  • 13. Realización de tareas administrativas 11 Determinación de la lógica de flujo de acciones de cada paso de trabajo Objetivo del tema Trabajo 3 ... Explicar la lógica de flujo Trabajo 2 Copia de seguridad del registro de transacciones de la base de datos Northwind de acciones para cada paso de trabajo. Trabajo 1 Trabajo 1 Transferir datos de Northwind Transferir datos Northwind Explicación previa Sí Puede determinar la Paso 1: Copia seguridad base datos Paso 1: Copia seguridad base datos ¿ Error? ¿ Error? Tipo: Transact-SQL; Número de intentos: 1 Tipo: Transact-SQL; Número de intentos: 1 Escribir en el registro acción que debe realizar de aplicación de SQL Server cuando cada No Windows NT paso de trabajo se ejecuta Sí Paso 2: Transferencia de datos Paso 2: Transferencia de datos correctamente o causa un Tipo: CmdExec; Número de intentos: 2 ¿Error? ¿Error? Tipo: CmdExec; Número de intentos: 2 error. No Notificar al operador Sí Paso 3: Aplicación personalizada Paso 3: Aplicación personalizada ¿Error? ¿Error? Tipo: Active Scripting; Núm. de intentos: 0 Tipo: Active Scripting; Núm. de intentos: 0 No Notificar al operador Notificar al operador Al crear trabajos, el administrador de bases de datos puede que quiera Sugerencia especificar que SQL Server ejecute una acción adecuada si se produce Explique la lógica de flujo para cada paso de trabajo, un error durante la ejecución del trabajo. incluido el número de Para ello, puede determinar la acción que SQL Server realizará cuando cada intentos. paso de trabajo se ejecute correctamente o cause un error: De forma predeterminada, cuando un paso de trabajo termina con éxito, SQL Server continúa con el siguiente paso y cuando produce un error, se detiene. Sin embargo, los pasos de trabajo pueden dirigirse a cualquier paso definido en el trabajo al ejecutarse correctamente o con errores. Puede especificar el número de veces que SQL Server debe intentar la ejecución de un paso de trabajo en caso de que no se ejecute correctamente. También puede especificar intervalos de reintento (en minutos). Por ejemplo, si el paso de trabajo requiere una conexión con un servidor remoto, puede definir varios intentos por si la conexión falla. Además, si define un trabajo que sólo se ejecuta una vez, puede especificar que Sugerencia se elimine a sí mismo cuando termine. Señale que es posible definir trabajos que se eliminen a sí mismos al terminar.
  • 14. Realización de tareas administrativas 12 Programación de trabajos Objetivo del tema Trabajo 2: Copia de seguridad del registro de transacciones Trabajo 2: Copia de seguridad del registro de transacciones Explicar la programación de la base de datos Northwind de la base de datos Northwind de trabajos. Programa: L-V turno 1 Programa: Fin de semana Explicación previa Lun Mar Mié Jue Vie Sáb Dom Lun Mar Mié Jue Vie Sáb Dom Cada trabajo puede tener varias programaciones. Cada 2 horas Cada 2 horas Cada 8 horas Cada 8 horas De: De: 8:00 a.m. 8:00 a.m. De: 12:00 a.m. De: 12:00 a.m. A: A: 5:00 p.m. 5:00 p.m. A: A: 11:59 p.m. 11:59 p.m. Progrma: L-V turno 2 Programa: CPU inactiva Lun Mar Mié Jue Vie Sáb Dom Lun Mar Mié Jue Vie Sáb Dom Cada 4 horas Cada 4 horas CPU inactiva CPU inactiva De: De: 5:01 p.m. 5:01 p.m. A: A: 7:59 a.m. 7:59 a.m. Para definir la programación de cada trabajo, puede utilizar el Administrador corporativo de SQL Server o ejecutar el procedimiento almacenado del sistema sp_add_jobschedule. Las programaciones de trabajos se almacenan en la tabla del sistema msdb.sysjobschedules. Los trabajos se ejecutan según sus programaciones definidas o como respuesta a alertas. En un entorno multiservidor, puede definir que el trabajo se ejecute en varios servidores de destino. Un trabajo sólo se ejecuta como se haya programado cuando la programación correspondiente está habilitada. Puede programar trabajos para que se inicien automáticamente en las siguientes situaciones: Al iniciarse SQL Server Agent. A una hora específica (sólo una vez). De forma periódica (diaria, semanal o mensualmente). Cuando la CPU esté inactiva. Nota Para poder ejecutar un trabajo cuando la CPU esté inactiva, la cuenta de usuario de dominio que utiliza el servicio SQL Server Agent debe ser miembro del grupo local Administradores de Windows. Programaciones múltiples Un trabajo puede tener múltiples programaciones. Por ejemplo, puede programar un trabajo para hacer una copia de seguridad del registro de transacciones de una base de datos de lunes a viernes, cada dos horas en las horas punta de trabajo (de 8:00 a.m. a 5:00 p.m.), y puede definir otra programación para ejecutar el mismo trabajo cada cuatro horas durante las horas que no sean punta.
  • 15. Realización de tareas administrativas 13 Creación de operadores a los que se notifica Objetivo del tema Trabajo: Transferir datos de Northwind Trabajo: Transferir datos de Northwind Explicar los operadores a Paso 1:Copia seguridad registro de transacciones Paso 1:Copia seguridad registro de transacciones los que se va a notificar. Error del trabajo Paso 2: Transfencia de datos Paso 3: Copia de seguridad de base de datos Explicación previa Paso 3: Copia de seguridad de base de datos Al notificar a los operadores un suceso específico, hay Operador al que se notifica Operador al que se notifica varias opciones entre las Operador Correo Localizador Envío de red que puede elegir. Meng Phua Nwind Admins Jose Lugo Agenda del localizador Agenda del localizador 12:01 a.m. -- 8:00 a.m. Meng Phua 12:01 a.m. 8:00 a.m. Meng Phua 8:01 a.m. -- 6:00 p.m. Nwind Admins 8:01 a.m. 6:00 p.m. Nwind Admins 6:01 p.m. --12:00 a.m. Jose Lugo 6:01 p.m. 12:00 a.m. Jose Lugo Para definir un nuevo operador, puede utilizar el Administrador corporativo Sugerencia de SQL Server o ejecutar el procedimiento almacenado del sistema El comando net send (ilustrado en la diapositiva) sp_add_operator. La definición de los operadores se almacena en la tabla de sólo está disponible para los sistema msdb.sysoperators. Cuando el trabajo termina o cuando la ejecución usuarios y servidores que de alguno de los pasos del trabajo produce un error, puede escribir el suceso utilizan Windows 2000 o correspondiente en el registro de aplicación de Windows, eliminar el trabajo o Windows NT. notificarlo a un operador mediante un localizador, correo electrónico o un comando net send. Creación de operadores Al crear operadores, debe hacer lo siguiente: Utilice un alias de grupo de correo electrónico para notificar a varias personas que deban responder a los posibles problemas. Pruebe cada método de notificación que se emplea para notificar al operador; así se asegurará de que éste pueda recibir los mensajes. Especifique una programación de trabajo para cada operador que vaya a recibir notificaciones por localizador. Si un trabajo definido para notificar a un operador está en conflicto con la programación de éste, la notificación no podrá realizarse. Utilice un comando net send para enviar mensajes a los operadores y servidores de red que utilicen Windows 2000 o Windows NT. Especificación de nombres de correo electrónico Al especificar el nombre de correo electrónico de un operador, debe utilizar la dirección de correo electrónico completa (smithj@microsoft.com) para evitar posibles conflictos si se crean posteriormente operadores con nombres similares. SQL Server no puede resolver alias de correo, ni mostrar los nombres cuyos primeros caracteres sean iguales. Por ejemplo, no es posible resolver los alias de correo smithj y smithje.
  • 16. Realización de tareas administrativas 14 Solución de problemas en las notificaciones a operadores Para cada operador, en la tabla de sistema sysoperators se mantiene la fecha y hora de los intentos más recientes enviados por cada tipo de notificación (correo electrónico, localizador y comando net send). Si un operador no recibe las notificaciones, debe hacer lo siguiente: Asegúrese de que el operador está disponible para recibir notificaciones. Asegúrese de que Messenger Service se está ejecutando en el equipo del operador al que se va a notificar mediante un comando net send. Revise los intentos de notificación más recientes para determinar la fecha y hora de la última notificación. Pruebe cada método de notificación individual desde fuera de SQL Server; para ello, compruebe que puede enviar mensajes de correo electrónico, mensajes de localizador o ejecutar correctamente un comando net send.
  • 17. Realización de tareas administrativas 15 Revisión y configuración del historial de trabajos Objetivo del tema Explicar el registro de historial de trabajos. Explicación previa Revisión del historial de un trabajo individual SQL Server Agent captura Resultado del paso de trabajo: correcto o erróneo todas las actividades de los trabajos y almacena la Duración de ejecución información en la tabla sysjobhistory. Errores y mensajes Configuración del tamaño del historial de trabajos Conservar información acerca de cada trabajo Sobrescribir historial cuando se alcance el tamaño máximo SQL Server Agent captura el estado de ejecución de los pasos de los trabajos y almacena esa información en la tabla de sistema msdb.sysjobhistory. El Administrador corporativo de SQL Server permite ver la información de historial de un trabajo individual, así como configurar el tamaño del historial de trabajos. Revisión del historial de un trabajo individual Si un trabajo causa un error, puede ver el registro de historial del trabajo para obtener información acerca de cada uno de sus pasos, la causa del error y soluciones para resolver el problema. Específicamente, el historial de trabajos registra: La fecha y hora en que tuvieron lugar los pasos del trabajo. Si el paso del trabajo se ejecutó correctamente o causó errores. El operador al que se notificó y el método de notificación. La duración del paso de trabajo. Errores o mensajes.
  • 18. Realización de tareas administrativas 16 Sugerencia Configuración del tamaño del historial de trabajos Muestre cómo cambiar la Si desea conservar información acerca de cada trabajo, debe incrementar configuración del historial el tamaño máximo de filas del historial de trabajos (tabla de sistema de trabajos. sysjobhistory). El historial de trabajos se sobrescribe automáticamente cuando se alcanza el tamaño máximo de filas. Muestre también el historial por cada trabajo y señale la Al configurar el tamaño del historial de trabajos, tenga en cuenta los siguientes diferencia que se produce hechos: cuando está desactivada la casilla de verificación De forma predeterminada, las propiedades de archivo de la base de datos Mostrar detalles del paso. msdb tienen establecido el crecimiento automático y está activada la opción de base de datos para truncar el registro en el punto de comprobación. De forma predeterminada, el tamaño máximo del historial de trabajos está establecido en 1000 filas. De forma predeterminada, el tamaño máximo del historial de trabajos para cada trabajo está establecido en 100 filas. Cuando se alcanzan los límites, las filas se quitan de la tabla de sistema sysjobhistory siguiendo el método “primero en entrar, primero en salir” (FIFO, First-in, First-out). Nota Si se cierra SQL Server o SQL Server Agent mientras se está ejecutando una instrucción Transact-SQL, el historial de trabajos contendrá información acerca del paso de trabajo que se estaba ejecutando. Puede especificar el número máximo de segundos que SQL Server Agent esperará a que un trabajo termine de ejecutarse antes de que se cierre el servicio.
  • 19. Realización de tareas administrativas 17
  • 20. Realización de tareas administrativas 18 Creación de alertas Objetivo del tema Presentar la creación de alertas. Explicación previa Uso de alertas para responder a posibles problemas Con la creación de alertas, Escritura de sucesos en el registro de aplicación SQL Server permite responder a posibles Creación de alertas para responder a errores de problemas. SQL Server Creación de alertas para un error definido por el usuario Respuesta a las alertas de condiciones de rendimiento Asignación de un operador a prueba de errores SQL Server permite responder a posibles problemas mediante la creación de alertas que respondan a errores de SQL Server, errores definidos por el usuario o condiciones de rendimiento. También puede crear un operador a prueba de errores por si una notificación por localizador no llega a un operador.
  • 21. Realización de tareas administrativas 19 Uso de alertas para responder a posibles problemas Objetivo del tema Base de datos usuario Base de datos usuario Base de datos msdb Base de datos msdb Describir cómo se Error Error Tabla sysalerts procesan las alertas. Tabla customers Tablacustomers customers 50099 50099 Tabla sysalerts CustomerID LastName CustomerID LastName ... ... con registro con registro id id name name ... ... Explicación previa Las alertas responden a 731 731 Harui Harui ... ... 15 15 50099 50099 ... ... Cliente eliminado Cliente eliminado errores de SQL Server o 732 732 van Dam van Dam ... Eva Corets definidos por el usuario 732 van Dam ... por Eva Corets por Tabla sysnotifications Tabla sysnotifications que se hayan escrito en el 733 733 Niikkonen Niikkonen ... ... alert_id alert_id ... operator_id... operator_id registro de aplicación de 15 15 12 12 ... ... Windows. Tabla sysoperators ... ... sysoperators ... ... ... ... Tabla Mensaje de correo electrónico Mensaje de correo electrónico id id name name ... ... De: De: SQL Server SQL Server 12 Account Manager ... 12 Account Manager ... Para: Account Manager Para: Asunto: Account Manager Número de error 50099 ... ... ... ... ... ... Asunto: Número de error 50099 Cliente 732 eliminado por Eva Corets Cliente 732 eliminado por Eva Corets Las alertas responden a errores (sucesos) de SQL Server o definidos por el usuario que se hayan escrito en el registro de aplicación de Windows. Los errores de SQL Server se generan como respuesta a problemas predefinidos, como permisos de usuario insuficientes para modificar una tabla o por haberse llenado el registro de transacciones. Para generar mensajes definidos por el usuario, la aplicación de base de datos (normalmente, un procedimiento almacenado o un desencadenador) debe llamar a la instrucción RAISERROR. Situación de ejemplo Un jefe de cuentas desea que se le notifique por correo electrónico cada vez que se quite un cliente de la base de datos. También desea conocer el nombre del empleado que ha eliminado el cliente por si es necesario realizar posteriormente alguna acción.
  • 22. Realización de tareas administrativas 20 Proceso de alerta Los pasos siguientes ilustran la secuencia de sucesos que desencadenan una alerta como respuesta a la petición del jefe de cuentas: 1. Eva Corets, una representante del servicio al cliente, quita el cliente Van Dam de la tabla Customers. Se ejecuta el procedimiento almacenado RemoveCustomer, que genera el número de error 50099. 2. El error (suceso) se escribe en el registro de aplicación de Windows. 3. El registro de aplicación de Windows notifica a SQL Server Agent que se ha producido un suceso. 4. A continuación, SQL Server Agent compara el error con las alertas definidas en la tabla de sistema msdb.sysalerts, que se mantiene en caché. 5. SQL Server Agent procesa la respuesta a la alerta; para ello: a. Revisa la tabla del sistema msdb.sysnotifications para enviar un mensaje de correo electrónico. b. Revisa la tabla del sistema msdb.sysoperators, que identifica a quién se debe enviar la notificación.
  • 23. Realización de tareas administrativas 21 Escritura de sucesos en el registro de aplicación Objetivo del tema Describir la escritura de sucesos en el registro de aplicación. Errores de SQL Server con nivel de gravedad Explicación previa comprendido entre 19 y 25 SQL Server escribe sucesos en el registro de aplicación Procedimientos almacenados del sistema de Windows cuando se da sp_addmessage o sp_altermessage cualquiera de las condiciones siguientes. Instrucción RAISERROR WITH LOG Procedimiento almacenado extendido xp_logevent Cuando se inicia el servicio SQL Server Agent, éste se registra con el Visor Sugerencia de sucesos y se conecta al servicio SQL Server. Esto permite informar a En Windows 98, la función del Visor de sucesos se SQL Server Agent cuándo se escriben sucesos de SQL Server en el registro sustituye por una traza del de aplicación de Windows. A continuación, SQL Server Agent compara los Analizador de SQL Server. sucesos con los trabajos y alertas en caché para determinar si debe realizarse una acción definida. SQL Server escribe sucesos en el registro de aplicación de Windows cuando: Se producen errores de SQL Server con un nivel de gravedad comprendido entre 19 y 25. Se ha definido que se escriban los mensajes de error en el registro de aplicación de Windows con el procedimiento almacenado del sistema sp_addmessage o sp_altermessage. Se ejecuta la instrucción RAISERROR WITH LOG. Se ejecuta el procedimiento almacenado extendido xp_logevent.
  • 24. Realización de tareas administrativas 22 Creación de alertas para responder a errores de SQL Server Objetivo del tema Explicar la creación de alertas para responder a Definición de alertas para números de error de errores de SQL Server. SQL Server Explicación previa Deben escribirse en el registro de aplicación de Puede utilizar alertas para Windows responder a errores de SQL Server. Suministrado por el sistema o definido por el usuario Definición de alertas para niveles de gravedad de errores Los niveles de seguridad entre 19 y 25 se escriben automáticamente Configuración del reenvío de sucesos Al crear una alerta para generar una respuesta cuando tenga lugar un error de SQL Server, puede especificar un número de error único, por ejemplo 9002, o todos los errores con un nivel de gravedad específico, por ejemplo 17. Nota Como máximo se producirá una alerta para un suceso determinado. SQL Server Agent desencadenará la alerta más específica que se haya definido. Por ejemplo, si ha definido una alerta para los errores con gravedad 17 en todas las bases de datos y otra alerta para el error 9002 (que también es de gravedad 17), se generará la alerta del error 9002. Sugerencia Definición de alertas para números de error El procedimiento almace- nado del sistema de SQL Server sp_add_alert incluye Para definir una nueva alerta, puede utilizar el Administrador corporativo de un parámetro, SQL Server o ejecutar el procedimiento almacenado del sistema sp_add_alert. @raise_snmp_trap. La definición de las alertas se almacena en la tabla de sistema msdb.sysalerts. Solamente se ha Esta tabla se mantiene en caché para mejorar el rendimiento. Al definir alertas incluido para mantener para un número de error de SQL Server, tenga en cuenta los hechos y la compatibilidad con directrices siguientes: versiones anteriores. Los números de error deben escribirse en el registro de aplicación de Windows. Puede definir alertas para cualquier número de error de SQL Server, ya sea suministrado por el sistema ya definido por el usuario, que esté almacenado en la tabla de sistema master.sysmessages. Puede definir más de una alerta para un mismo número de error de SQL Server. Sin embargo, cada alerta debe limitarse a una base de datos específica o debe aplicarse a todas las bases de datos. Por ejemplo, para responder al número de error 9002 en las bases de datos Payroll y Customer, puede crear dos alertas diferentes. O bien, puede crear una alerta que responda al número de error 9002 en todas las bases de datos.
  • 25. Realización de tareas administrativas 23 Al crear una alerta que se aplique a todas las bases de datos, asegúrese de que el mensaje de error proporciona una explicación suficientemente detallada. Normalmente, esto se logra con parámetros de sustitución que facilitan el nombre de la base de datos, por ejemplo. Puede definir una cadena específica en el texto del mensaje de error, además del número de error. Por ejemplo, puede crear una alerta que le notifique que alguien intenta iniciar sesión en el sistema como administrador. Para ello, especifique el número de error 18456 (Error de inicio de sesión del usuario ‘%s’) y la cadena de mensaje “sa”. Sugerencia Definición de alertas para niveles de gravedad de errores Sugiera a los alumnos Al definir alertas cuya condición es un nivel de gravedad de error, tenga en que utilicen las alertas predefinidas para estos cuenta los siguientes hechos y directrices: niveles de gravedad. Los errores de SQL Server con niveles de gravedad comprendidos entre 19 y 25 se escriben automáticamente en el registro de aplicación de Windows. Muestre cómo se modifican las alertas predefinidas. Los niveles de gravedad del 20 al 25 corresponden a errores fatales. Para ello, especifique un Debe definir siempre un operador a quien se notificará cuando se operador al que se notificará produzcan errores de SQL Server con estos niveles de gravedad. y cambie el nombre de la alerta para quitar la palabra SQL Server proporciona alertas predefinidas que puede utilizar. Debe demo. modificar las alertas predefinidas para errores fatales; para ello, defina un operador al que se notificará y cambie el nombre de la alerta para quitar la palabra demo. Puede crear una alerta que se active cuando se produzca un error de un nivel de gravedad específico, ya sea en todas las bases de datos ya en alguna en particular. Puede definir una cadena específica en el texto del mensaje de error, además del nivel de gravedad. Por ejemplo, puede crear una alerta que le notifique los errores de gravedad 17 en cualquier base de datos con la cadena de mensaje “espacio en disco”. Sugerencia Configuración del reenvío de sucesos El reenvío de sucesos Es posible configurar SQL Server Agent para designar un servidor sólo está disponible cuando que reciba todos los mensajes de sucesos que tengan el nivel de gravedad SQL Server está instalado especificado o superior, o que sólo reciba aquellos que no se hayan tratado. en Windows 2000 o en Puede que desee reenviar los sucesos a un servidor que esté menos ocupado Windows NT. que los demás servidores del dominio. Por ejemplo, puede hacer que los errores con nivel de gravedad 18 o superior se reenvíen al servidor Accounting. Si se produce en el servidor un error con nivel de gravedad 19, el suceso se reenviará automáticamente al servidor Accounting para solucionar el problema.
  • 26. Realización de tareas administrativas 24 Creación de alertas para un error definido por el usuario Objetivo del tema Explicar la creación de mensajes de error definidos Creación del mensaje de error por el usuario para las alertas. El número de error debe ser mayor que 50000 Explicación previa Pueden utilizarse parámetros Al crear alertas, también puede especificar mensajes Generación del error desde la aplicación de base de error definidos por el de datos usuario (personalizados) para aplicaciones de base Use la instrucción RAISERROR de datos individuales. Declare variables para los parámetros Definición de una alerta para el mensaje de error Al crear alertas, también puede especificar mensajes de error definidos por el Sugerencia usuario (personalizados) para aplicaciones de base de datos individuales que le Muestre cómo crear un mensaje definido por el permitan definir soluciones con las que evitar posibles problemas antes de que usuario con el Administrador se produzcan. corporativo de SQL Server. Por ejemplo, puede crear un mensaje de error definido por el usuario que se genere en un desencadenador de actualización de la tabla Inventory. Cuando se actualiza una columna de la tabla Inventory, lo que indica que los niveles de inventario han caído por debajo del 25 por ciento para un producto determinado, el desencadenador generará el error definido por el usuario. Después, podría definir una alerta para el mensaje de error que ejecute un trabajo con el que se vuelve a ordenar el inventario y que envíe un mensaje de correo electrónico al agente de compras. Para crear una alerta asociada a un error definido por el usuario, primero debe crear el mensaje de error. A continuación, debe generar el error en la aplicación de base de datos y definir una alerta para él. Creación del mensaje de error Para crear errores definidos por el usuario, puede utilizar el Administrador corporativo de SQL Server o el procedimiento almacenado del sistema sp_addmessage. Al crear errores definidos por el usuario, tenga en cuenta los hechos siguientes: Los números de los errores definidos por el usuario deben ser mayores de 50000. Los números de error inferiores a 50000 están reservados para los errores de sistema predefinidos de SQL Server. Todos los errores definidos por el usuario se almacenan en la tabla de sistema sysmessages de la base de datos master. Los mensajes de error pueden incluir parámetros que capturen detalles específicos, de modo que ofrezcan la información adecuada para detallar el estado o solucionar el problema.
  • 27. Realización de tareas administrativas 25 Los mensajes de error de SQL Server se muestran en el idioma seleccionado durante la instalación. Si administra un entorno SQL Server con varios idiomas, también podrá crear mensajes definidos por el usuario para otros idiomas. Si piensa generar una alerta para un mensaje de error, debe escribir el mensaje de error en el registro de aplicación de Windows. Ejemplo 1 Este ejemplo crea un mensaje de error definido por el usuario (número 50099) que se almacena en el registro de aplicación de Windows (según se especifica con true en la sintaxis mostrada a continuación) cuando se produce el error. El parámetro %d se reemplaza por el número de cliente que se elimina y el parámetro %s se reemplaza por el nombre del usuario que ejecutó la instrucción DELETE en la tabla Customers. EXEC sp_addmessage 50099, 16, 'Customer %d was deleted by %s', Sugerencia 'us_english','true' La opción true especifica que el mensaje se debe Generación del error desde la aplicación de base escribir en el registro de aplicación de Windows. de datos Para generar un error, utilice la instrucción RAISERROR en un procedimiento almacenado o en un desencadenador. La instrucción RAISERROR devuelve un mensaje de error definido por el usuario y establece un indicador del sistema (en la función de sistema @@error) para registrar que se ha producido un error. Ejemplo 2 Este ejemplo ilustra la parte de la secuencia de comandos que se utiliza para crear un procedimiento almacenado que elimina un cliente de la tabla Customers. El procedimiento almacenado genera el error número 50099, creado anteriormente, con la instrucción RAISERROR, que sustituye los valores adecuados para el número del cliente eliminado y el nombre del usuario que ha ejecutado el procedimiento almacenado. Sintaxis parcial CREATE PROCEDURE removecustomer @CustomerID varchar(5) = NULL AS . DECLARE @username varchar(60) SET @username = suser_sname() BEGIN TRANSACTION DELETE Customers WHERE CustomerID = @CustomerID RAISERROR (50099, 16, 1, @CustomerID, @username) COMMIT TRANSACTION Una aplicación de cliente llamará al procedimiento almacenado RemoveCustomer y pasará la variable con el número de cliente que ha especificado el usuario.
  • 28. Realización de tareas administrativas 26 Definición de una alerta para el mensaje de error Se crea una alerta para el error 50099 que envía al jefe de cuentas un mensaje de correo electrónico que incluye el texto del mensaje de error. Cuando un usuario ejecuta el procedimiento almacenado RemoveCustomer, se genera el error 50099 y se anota en el registro de aplicación de Windows. A continuación, se activa la alerta asociada al número de error y se envía al jefe de cuentas un mensaje de correo electrónico que incluye el texto del mensaje de error. Resultado Error: 50099, Severity: 16, State 1 Customer 732 was deleted by ACCOUNTINGevacorets
  • 29. Realización de tareas administrativas 27 Respuesta a las alertas de condiciones de rendimiento Objetivo del tema Alerta 3 Alerta 3 Explicar la definición de Todas las bases de datos: Nivel de seguridad 18 Todas las bases de datos: Nivel de seguridad 18 alertas que responden a Alerta 2 Alerta 2 Base de datos northwind: Error transfer. datos los umbrales del Monitor Base de datos northwind: Error transfer. datos del sistema de Windows. Alerta 1: Alerta 1: Base de datos northwind: Registro al 75% Base de datos northwind: Registro al 75% Explicación previa Ejecutar : Trabajo 2: Copia de seguridad del registro Además de utilizar alertas de transacciones de northwind para responder a errores de Operadores a los que se notifica: SQL Server, puede usarlas Alcanzado Nombre del operador Correo Localizador Envío de red para responder a condi- el umbral a Meng Phua las 1:28 A.M. ciones de rendimiento de Nwind Admins Jose Lugo SQL Server. Agenda del localizador Agenda del localizador 12:01 - 8:00 Meng Phua 8:01 -- 18:00 8:01 18:00 Nwind Admins Nwind Admins 18:01 -- 0:00 18:01 0:00 Jose Lugo Jose Lugo Además de utilizar alertas para responder a errores de SQL Server, puede usarlas para responder a condiciones de rendimiento de SQL Server, como las definidas en el Monitor del sistema de Windows. Cuando se supere el valor de la condición, se activará la alerta. Por ejemplo, puede crear una alerta de condición de rendimiento que se active cuando el registro de transacciones de la base de datos Northwind supere el 75 por ciento de su capacidad. La respuesta a la alerta podría consistir en ejecutar un trabajo que haga una copia de seguridad del registro de transacciones y lo notifique al administrador de la base de datos. Nota No es necesario que se esté ejecutando el Monitor del sistema de Windows en el servidor SQL Server para poder utilizar alertas de condiciones de rendimiento. Puede crear alertas de condiciones de rendimiento basadas en recursos de SQL Server que incluyan los objetos siguientes: Métodos de acceso Administrador de búfer Administrador de caché Bases de datos Bloqueos Estadísticas de SQL
  • 30. Realización de tareas administrativas 28 Reducción del retardo entre respuestas Los datos de rendimiento se muestrean periódicamente (unas pocas veces por minuto), lo que puede producir un retardo entre el momento en que se alcanza el umbral y la activación de la alerta. Por tanto, puede ser conveniente reducir el retardo entre respuestas o modificar el umbral de la condición de rendimiento cuando sea necesario que la respuesta a la alerta corrija la condición rápidamente.
  • 31. Realización de tareas administrativas 29 Asignación de un operador a prueba de errores Objetivo del tema Alerta: Error 18204 Alerta: Error 18204 Explicar la creación de un operador a prueba de Error en el dispositivo de copia errores. Explicación previa En el caso de que las Operador al que se notifica Operador al que se notifica notificaciones por locali- Operadores Correo Localizador Envío de red Operador a prueba Operador zador de las alertas de errores Meng Phua de errores definidas no se ejecuten correctamente, puede Nwind Admins enviarlas a un operador a prueba de errores. Jose Lugo Agenda del localizador Agenda del localizador 12:01 -- 8:00 12:01 8:00 Meng Phua Meng Phua 8:01 -- 6:00 8:01 6:00 Nwind Admins Nwind Admins 6:01 --12:00 6:01 12:00 Jose Lugo Jose Lugo Es posible asignar un operador a prueba de errores para que responda a una Sugerencia alerta cuando no se ejecuten correctamente las notificaciones por localizador Ésta es una diapositiva animada. Consulte las a los operadores definidos. Por ejemplo, si Meng Phua no está de servicio el Notas para el instructor jueves cuando se produce la alerta correspondiente al error 18204 a la 1:30 si necesita ayuda para a.m., se informará al operador a prueba de errores. desplazarse por esta diapositiva. El operador a prueba de errores recibirá una notificación cuando se den todas las circunstancias siguientes: Indique que la información La alerta tiene notificaciones por localizador definidas como respuesta. de la ilustración es ficticia y se ofrece a modo de Ninguno de los operadores a los que se debe enviar el mensaje por ejemplo. localizador está de servicio. Hay definido un operador a prueba de errores. La sesión de correo de SQL Server Agent está iniciada. La sesión de correo de SQL Server Agent es necesaria para que el operador a prueba de errores reciba notificaciones por correo electrónico o por localizador. Al asignar un operador a prueba de errores, tenga en cuenta los hechos siguientes: La información del operador a prueba de errores se almacena en memoria caché de forma que no dependa de la conexión a la base de datos MSDB. Sólo puede haber un operador a prueba de errores. No es posible eliminar un operador a prueba de errores. Sin embargo, puede quitar la asignación de operador a prueba de errores y, a continuación, eliminar al operador.