sql server - automatización
Post on 19-Jun-2015
1.345 Views
Preview:
TRANSCRIPT
Sql Server
Automatización
Fundamentos
• gran cantidad de tareas administrativas se pueden automatizar en Sql Server– cualquier código Transact-Sql– tareas de réplica– copias de seguridad– creación de índices– generación de informes
• la capacidad de automatización de Sql se debe al servicio Agente Sql Server– este servicio solo realiza dos tareas• automatización• réplica
Componentes del servicio Agente
• Alertas– mensaje de error o evento– se pueden enviar por:
• mail• localizador• NET SEND
• Operadores– usuarios que reciben las alertas
• Trabajos– pasos que define la tarea a automatizar
Configuración de servicio Agente
• ejecutar el servicio– Management Studio• icono del Agente Sql server
– rojo o verde
– Administrador de configuración de Sql Server– Servicios del Panel de Control
Configuración correo electrónico
• Sirve para enviar mensajes de conrreo electrónico para los servicios SQL Server
• Utiliza un protocolo simple de transferencia de correo– SMTP• simple mail transfer protocol
• la aplicación que gestiona el correo es SQLiMail90.exe
Pasos
• cuando se solicita que se envíe un correo electrónico
• añade solicitud a cola de Service Broker– necesitamos un servidor correo SMTP• podemos usar cuenta de proveedor de servicios de
Internet
• Abrimos Management Studio• Explorador Objetos – Administración – Correo
electrónico BD – boton derecho – Configurar correo electrónico BD
• Pantalla Bienvenida - Siguiente
• Pagina Seleccioanr tarea de configuración– Activamos Instalar Correo electrónico BD– Siguiente
• Pagina nuevo perfil– creamos un nuevo perfil y la asociamos a una
cuenta del servidor de correo• Nombre de perfil : SQLAgentProfile• Cuentas SMTP – Agregar• Nombre cuenta y descripción …como quieras
• Información Servidor de correo saliente– información según ISP• Direccion correo : juan@hotmail.com• Nombe a mostrar : juan• Correo de respuesta: juan@hotmail.com• nombre servidor: smtp.hotmail.com• puerto : 25
• Aceptar– cuenta aparece en listado Cuentas SMTP
• Pagina Administrar seguridad del perfil– activas perfil público• para que todos los usuarios tengan acceso• activamos como perfil predeterminado
• Página Configurar parámetros del sistema– aceptamos los varlores predetermiandos
• finalizar
Agente Sql SErver
• Ahora debemos configurar el Agente SQL Server para que use el perfil que hemos configurados
• Explorador objetos – boton derecho en Agente SQL Server – Propiedades
• Pagina Sistema alerta– activas Habilitar perfil de correo– lista Sistema de correo
• Seleccionamos Correo electrónico de BD
– lista Perfil de correo• seleccionas SqlAgentProfile
• Aceptar• NO olvides detener y reiniciar el servicio del Agente Sql
Server
• Ya está correctamente configurado• Para utilizarlo debemos crear operadore que
reciban correo electrónico de Sql Server
Creación de operadores
• Configuramos parámetros para que Sql Server contacte con nosotros cuando haya problemas– con quien contactar– cuando– cómo
• correo electronico• localizador• NET SEND
– mensajes que se mandan entre equipos y se abren en la pantalla del usuario en un cuadro de dialogo
– sobre qué problemas se envían alertas
• El operador es el objeto que nos permite configurar todo esto
Configurar operador• Management Studio• Explorador objetos – expandimos servidor – Agente Sql
Server• Operadores – boton derecho Nuevo operador– Nombre : Administrador– Nombre de correo electronico : su cuenta de correo si
hemos confiturado el sistema para que use el correo de bases de datos
– Nombre de equipo en Net Send• Escritorio – mi pc – boton derecho Propiedades – Nombre
de equipo – id de red– formacion.domain.com
» el nombre de equipo es formacion
• en parte inferior– dias y horas disponibles para este operador– luego vemos notificaciones– Aceptar
• si dejamos por error algun tiempo sin cubrir no se enviará el operador durante este periodo– solucion• crear un operador a prueba de errores
– diseñado para recibir las alertas cuando no haya otro programado
Crear operador a prueba de errores
• Management Studio – Agente – boton derecho – Propiedades
• Pagina sistema de alerta – activas habilitar operador a prueba de errores– lista Operador : Administrador– activas casilla Net Send– Aceptar
Creación de trabajos
• serie de tareas que se pueden automatizar para ejecutarse cuando sea necesrio– podemos notificar resultado de un trabajo• usamos un operador
Crear trabajos de servidor local
• trabajos locales son trabajos estandar con unos pasos y programaciones– diseñados para ejecutarse en equipo en que se
crean
Ejemplo
• Crear una base de datos y una copia de seguridad– Management Studio– Explorador objetos – Agente Sql Server– Trabajos – boton derecho – Nuevo• Nombre : crear Control de BD
• Pagina Pasos– Nuevo paso• Nombre : Crear BD• tipo como T-Sql
– Base de datos master– Comando
– CREATE DATABASE EJEMPLO ON– PRIMARY (NAME=ejemplo_dat,– FILENAME=‘c:\ejemplo.mdf’,– SIZE=10MB,– MAXSIZE=15,– FILEGROWTH=10%)
• clic en analizar para verificar que esta el código bien escrito
• Pagina avanzado– Accion en caso de éxito• ir a siguiente paso
– Accion en caso de error• Salir del trabajo e informar del error
• Creamos el segundo paso– Nuevo– Nombre : copia Seguridad– secuencia de comandos – T-SQL
• EXEC sp_addumpdevice ‘disk’, ‘Test_Backup’, ‘c:\Test_Backup.dat’
• BACKUP DATABASE EJEMPLO TO Test_Backup
• Aceptar• Pagina programaciones– nuevo• creamos una programacion que indique cuando
debemos activar el trabajo
• Nombre de paso : Crear y hacer copia• Tipo de programacion : una vez– hora que quieras
– Aceptar
• Pagina notificaciones– activamos casillas • Correo• Net Send
• Administrador como operador a informar• activamos si el trabajo termina
• Aceptar para crear trabajo
• Sale todo OK??
• No solo podemos programar instrucciones T-SQL– tb JavaScript, VBScript, perl….
Ejemplo
• Management – Studio – Expandimos servidor – Agente Sql Server – Trabajos – boton derecho – nuevo trabajo– nombre: Test VB– Pagina pasos • nuevo• nombre paso: imprimir• Tipo : Secuencia comandos ActiveX• boton opción : VBScript
• Comando– sub main()– Print “funciona el trabajo”– end sub
– Aceptar
• Pagina programaciones– nuevo –– Nombre : Sacar mensaje– Tipo programación : una vez– Aceptar
• podemos activar una notificación pero SQL lleva un historial de todos los trabajos– cuando se activan– si se ejecutan ok o no– estado de cada paso del trabajo…
Historial del trabajo
• Verificar si un trabajo se ha ejecutado con éxito– Management Studio – trabajo que quieras – boton
derecho – Ver historial• clic en +
• el historial de cada trabajo se guarda en BD msdb• por defecto se pueden almacenar 1000 líneas de
historial y cada trabajo puede ocupar 100 de esos registros
Cambiar opciones historial
• Management Studio– Agente – boton derecho – Propiedades – pagina Historial• cambia las opciones
• Aceptar
Crear trabajos multiservidor
• Management studio – Explorador de objetos – Agente – boton derecho – Administracion multiservicio y hacer que sea principal
– Seleccionar servidores de destino y credenciales para acceder
Creación de alertas
• las alertas se activan cuando se produce un evento– normalmente un problema• ejemplo
– registro de transacciones se complete erroneamente
– se pueden enviar a un operador para que se encargue de ellas
• cada error que se produce en SQL tiene un numero– existen unos 3000– podemos crear nuestras alertas
– cada error tiene un nivel de gravedad• 10 – informativo• 17- sql sin recursos• 18 – error interno no grave• 24 – error de hardware
Generacion de alertas
• a partir de contadores de rendimiento– Monitor de rendimeinto• utiles para problemas de rendimiento
• alertas basadas en eventos del Instrumental de administración de Windows– WMI – windows management instrumentation
Alertas basadas en error estándar
• error integrado en Sql• crear una alerta basada en uno de estos
eventos– el error se debe escribir en registro de sucesos de
Windows– Agente Sql lee los errores ahí
• luego busca en la base msdb su alerta correspondiente• la activa• informa al operador• ejecuta el trabajo asociado
Crear alerta basada en error estandar
• Management Studio – Servidor – Agente – boton derecho – Alertas – nueva alerta– Nombre : alerta nuestra– tipo : alerta de evento de sql server– todas las BD– no puedes activar errores por debajo 13000• pones el que quieras
• Pagina respuesta– notificar a operadores
• activa lo que quieras
• Pagina opciones– incluir texto de error en alerta
» donde quieras
» podemos poner todo en net Send para ver qué sale
• Aceptar
• tenemos una alerta que se activa cuando se produzca el error con el numero tal– generamos el error con el comando RAISERROR()
• Nueva consulta– RAISERROR(numeroerror, 10,1)
– ejecuta a ver…
Modificar mejor
• Propiedades de tu alerta– pagina Respuesta• ejecutar trabajo
– busca un trabajo… el que quieras
– Aceptar
– ejecuta otra vez la consulta.• a ver el mensaje ahora…
Alertas basadas en errores personalizados
• todo igual que antes pero tienes que personalizar el mensaje de un error concreto
• debes modificar ese mensaje en la master…
• Nueva consulta– USE master– GO– EXEC sp_addmessage @msgnum=50300.
@severtity=10, @msgtext=N’error personalizado’, @with_log=‘TRUE’, @lang=‘Español’;
– GO
• haces una nueva alerta con el mismo numero de error
• ejecuta RAISERROR – con el numero…
– sale un mensaje personalizado• claro, usando net send
Alertas de rendimiento
• permiten detectar problemas antes que puedan dañar al sistema
• se basan en contadores de rendimento del programa Monitor de rendimiento de windows– ofrecen estadisticas de los componentes de Sql y
actuan sobre ellos• ejemplo
– error de registro de transacciones completo
• cuando un registro de transacciones se completa al 100%– ningun usuairo puede acceder a la BD• encontrar el problema antes de que se produzca
– por ejemplo al 80%
Crear alerta de rendimiento
• Management Studio – servidor – Agente Sql Server – boton derecho – alertas – nueva– Nombre: alerta rendimeinto– Tipo: Alerta de condición de rendimiento Sql– Objeto : sqlServer:DataBases– Contador : percent log used– Instancia: la que quieras– activamos alertar si contador está por debajo 100
• pagina respuesta– notificar a operadores– Aceptar
• funciona???
Alertas WMI
• instrumental administracion de Windows– crear alerta que se activa cunado se emita un
comando ALTER LOGIN• para administrar seguridad
• tb con CREATE TABLE
Crear Alerta WMI
• Management Studio – Servidor – Agente – boton derecho – Alertas – Nueva– Nombre : alerta WMI– Tipo : alerta evento WMI– Espacio de nombres• \\.\root\Microsoft\SqlSERver\ServerEvents\MSSQLServer
• en Consulta– Select * from DDL_DATABASe_LEVEL_EVENTS– where DatabaseName=‘Northwind’
• Pagina respuesta– notificar
• Pagina opciones– incluir texto de error de la alerta en• net send
• Nueva consulta– use tu base de datos– ALTER TABLE la tabla que quieras – ADD una nueva columan varchar(20) null
– ejecuta– sale la alerta???
• puedes ahora eliminar la columna– use tu base de datos– ALTER TABLE la misma tabla– DROP COLUMN la misma columna
– sale otra vez???
• alertas WMI son similares a los desencadenadore
• utilizan la misma tecnología WMI
Planes de mantenimeinto
• muchas tareas– reorganizar indices– reducir tamaño de ficheros BD– copias de seguridad– registro transacciones
– deben hacer con maximo rendimeinto– servidor sin problemas• fuera de horario de trabajo
• Management Studio – Servidor – Administración – boton derecho – Planes de mantenimiento – Asistente
– nombre– Servidor– Autentificación
• Pantalla Selecciona tareas de mantenimiento– activa todos y luego le dices el orden…– a tu gusto
• en todas las bases de datos o en algunas…
• Pagina Definir tarea reducir BD– cómo debemos reducir Bd cuando tenga un
tamaño demasiado grande• cuando reducirla y si liberamos espacio…
• Pagina reorganizar indice– para qué objetos reorganizas los indices– recuerda 8kb es la unidad mínima
• Pagina Actualizar estadisticas– importante• optimizador de ocnsultas utiliza estadisticas para
determinar qué indice debe usarse para devolver resultados de una consulta
• Pagina definir tarea Limpieza del historial– todas las tareas realizadas por el plan de
mantimiento se registran en msdb– es el historial– se puede reducir
• Pagina seleccionar propiedades del plan– programar el plan• automatico o cuando se solicite
– Opciones de informe• en un fichero txt
• es interesante boton derecho en plan– ver historial del plan
top related