Guia 6 SQL Server
Guia 6 SQL Server
Guia 6 SQL Server
GUA 6 Pg.
I. OBJETIVOS Conocer e implementar trabajos en SQL Server 2005 Crear copias de seguridad en una base de datos
II. INTRODUCCIN Casi todas las tareas administrativas se pueden automatizar a travs de SQL Server. Elementos que se pueden automatizar: - Cualquier cdigo Transact-SQL - Lenguajes de secuencias de comandos como VBScript o JavaScript. - Comandos del sistema operativo. - Tareas de rplica. Algunas de las tareas ms comunes que se automatizan con esta funcionalidad son las siguientes: - Copias de seguridad de bases de datos. - Reconstruccin de ndices. - Creacin de bases de datos (en el caso de las bases de datos muy grandes) - Generacin de informes. Dada la gran potencia de esta funcionalidad, no es difcil ver porque necesita utilizar las capacidades de la automatizacin de SQL Server. Sin embargo, antes de empezar a usarla, tiene que saber cmo funciona. La capacidad de automatizacin de SQL Server gira en torno al servicio del Agente SQL Server. Las nicas funciones de ese servicio son la automatizacin y la rplica. El servicio emplea tres subcomponentes para llevar a cabo sus tareas de automatizacin: las alertas, los operadores y los trabajos. - Alertas: La alerta es un mensaje de error o evento que tiene lugar en SQL Server y se graba en el registro de aplicaciones de Windows. Las alertas pueden enviarse a los usuarios por correo electrnico, localizador (busca) o NET SEND. Si el mensaje de error no se escribe en el registro de aplicacin de Windows, la alerta no se activa nunca. - Operadores: Cuando una alerta se activa, puede enviarse a un usuario. Los usuarios que necesitan recibir esos mensajes se conocen en SQL Server como operadores. Los operadores se emplean para configurar quin recibe las alertas y cundo est disponible para recibir esos mensajes. - Trabajos: El trabajo es una serie de pasos que define la tarea que se va a automatizar. Tambin define programaciones que dictan cuando debe ejecutarse la tarea. Estas tareas se pueden ejecutar una vez o repetidas veces. Estos tres componentes cooperan para facilitar la labor de administracin. A continuacin, se muestra un ejemplo de lo que puede ocurrir: 1. Un usuario define un trabajo que se configura para ejecutarse a cierta hora.
GUA 6 Pg.
2. Al ejecutarse el trabajo, falla y escribe un mensaje de error en el registro de sucesos de Windows. 3. Cuando el servicio del Agente SQL Server el registro de sucesos de Windows, encuentra el mensaje de error que ha escrito el trabajo que no se ha ejecutado de forma correcta y lo compara con la tabla sysalerts de la base de datos MSDB. 4. Cuando el agente encuentra una entrada coincidente, activa una alerta. 5. la alerta, al activarse, puede enviar un mensaje por correo electrnico, localizador o NET SEND a un operador. 6. La alerta tambin se puede configurar de tal modo que ejecute otro trabajo, diseado para reparar el problema que ha provocado la alerta. Pero para que todo eso funcione, es necesario configurar adecuadamente el servicio del Agente SQL Server. Para empezar, el agente debe estar en ejecucin para que la automatizacin funcione. En el desarrollo de la prctica trabajaremos con trabajos.
III. MATERIAL Y EQUIPO A UTILIZAR Gua de Laboratorio N 6 de SQL Server Computadora con SQL SERVER 2005 Disquete o memoria USB IV. PROCEDIMIENTO Creacin de operadores Es necesario configurar diversos parmetros para que SQL Server pueda contactar con nosotros cuando haya problemas. Entre estos valores encontramos con quien contactar, cuando estn disponibles esos contactos, como debera contactarse con dichas personas (por correo electrnico, localizador o Net Send) y sobre qu problemas deberan enviarse alertas. El operador es el objeto que se utiliza en SQL server para configurar todo esto. Suponga, por ejemplo que hay que avisar a varias personas de la empresa cuando surge un problema con SQL Server, y que hay que alertar a cada una de esas personas por distintos problemas y de maneras diferentes. En esta ocasin crearemos un operador que podr ser alertado por medio de NET SEND, antes de comenzar el ejercicio primero debemos revisar lo siguiente: 1-Ir a panel de control-> herramientas administrativas->Servicios 2-debe revisar si el servicio Mensajero est habilitado y si esta iniciado. 3- Debe revisar que el firewall de Windows este desactivado 4-Ver el nombre que tiene su mquina, esto lo hacemos con clic derecho sobre MI PC y en la pestaa nombre del equipo, y el nombre est junto a nombre completo del equipo
GUA 6 Pg.
5- Conociendo el nombre del equipo probaremos Net send envindonos un mensaje a nosotros mismos, vaya a inicio-ejecutar y digite lo siguiente: NET SEND nombreequipo mensaje Ejemplo:
Con esto ya hemos comprobado el funcionamiento del servicio de mensajera Ahora si vamos a seguir los pasos para crear un OPERADOR 1- Abra SQL Server Management Studio 2- En el Explorador de objetos, expanda el servidor y despus el Agente SQL Server. 3- Haga clic con el botn derecho en Operadores y seleccione Nuevo Operador. 4- En el cuadro de texto Nombre, escriba Administrador. 5- Escriba el nombre de su equipo en el cuadro NET SEND 6- En la parte inferior de la pantalla, puede seleccionar los das las horas a las que esta disponible este operador. Si se activa un da, el operador se notificara en ese da entre las horas de Inicio del da laborable y Fin del da laborable
GUA 6 Pg.
Dado que los operadores pueden estar activos a horas distintas, es posible dejar accidentalmente un pequeo perodo de tiempo sin cubrir. Si ocurre un error en ese intervalo, ningn operador recibir la alerta, porque no habr ninguno de guardia. Para evitar un problema as, debera crear un operador a prueba de errores, que este diseado para recibir las alertas cuando no haya otro programado. 1- En SQL Server Management Studio, haga clic con el botn derecho en el icono del Agente de SQL Server en el Explorador de objetos, y luego seleccione Propiedades 2- En la pagina Sistema de alerta, seleccione la casilla de verificacin Habilitar operador a prueba de errores. 3- Seleccione Administrador en la lista desplegable del operador 4- Seleccione la casilla de verificacin junto a NET SEND para recibir mensajes NET SEND como operador a prueba de errores 5- Haga clic en Aceptar para aplicar los cambios Una vez creado el operador, est listo para empezar a crear trabajos para automatizar las tareas.
GUA 6 Pg.
Creacin de trabajos de servidor local Los trabajos locales son los trabajos estndar con una serie de pasos y programaciones. Estn diseados para ejecutarse en el equipo en que se crean. Para explicar los trabajos locales, vamos a programar uno que crea una nueva base de datos y crea una tabla. 1- Abra SQL Management Studio 2005 de de todos los programas del men de Inicio. 2- Expanda el servidor en el Explorador de objetos y, despus, el Agente SQL SERVER. 3- Haga clic con el botn derecho en Trabajos y seleccione Nuevo Trabajo. 4- En el cuadro Nombre, escriba Create prueba Database (deje el resto de los cuadros de esta pgina con los valores predeterminados, como se muestra en la siguiente figura).
GUA 6 Pg.
5- Dirjase a la pagina PASOS y haga clic en el botn Nuevo para crear un nuevo paso 6- En el cuadro Nombre del paso, escriba Create database 7- Deje el tipo como Transact-SQL y escriba el cdigo siguiente para crear una base de datos con el nombre prueba en la unidad C, como se muestra en la siguiente figura. CREATE DATABASE PRUEBA ON PRIMARY (NAME=prueba_dat,FILENAME=c:\prueba.mdf, SIZE=10MB, MAXsize=15, FILEGROWTH=10%)
GUA 6 Pg.
8- Haga clic en el botn Analizar para verificar que ha escrito bien el cdigo correctamente y despus pase a la pgina Avanzado. 9- En la pgina avanzado, verifique que la Accin en caso de xito es IR al siguiente paso y que la accin en caso de error es Salir del trabajo e informar del error. Haga clic en aceptar 10-Para crear el segundo paso del trabajo, haga clic en el botn Nuevo. 11-En el cuadro de texto Nombre, escriba crear tabla. 12-Deje el tipo como secuencia de comandos Transact-SQL y escriba el cdigo siguiente para hacer una copia de seguridad de la base de datos una vez que se halla creado Use PRUEBA Create table datos (cdigo int, nombre varchar(30),apellido varchar(10)) 13-Haga clic en aceptar para crear el paso. 14-Pase a la pgina programaciones y haga clic en el botn Nuevo para crear una programacin que indique a SQL Server cuando debe activar el trabajo. 15-En el cuadro Nombre, escriba crear bd y tabla 16-En TIPO DE PROGRAMACION, seleccione Una Vez. Fije una hora 5 minutos despus de la hora mostrada en la bandeja del sistema y marque la casilla habilitado
GUA 6 Pg.
17-Haga clic en Aceptar para crear la programacin y avance a la pagina Notificaciones. 18-En la pagina Notificaciones, seleccione las casillas de verificacin a NET SEND especificando Administrador como el operador al que hay que informar. Junto a estas opciones, seleccione Si el trabajo termina en el cuadro de lista desplegable (con lo que se notificara sea cual sea el resultado del trabajo).
19-Haga clic en aceptar para crear el trabajo. Espere hasta la hora indicada en el paso 16 para verificar que el trabajo ha terminado. Debera ver un mensaje emergente en la pantalla informndole la finalizacin
GUA 6 Pg.
Modifique el trabajo anterior, para que a la misma tabla que se cree, le agregue 5 registros
Creacin de copia de seguridad de una base de datos existente Antes de hacer una copia de seguridad crearemos una base de datos con el siguiente script CREATE DATABASE pp use pp create table contactos(id int, nombre varchar(30)) create table tipo(id int, nombre varchar (30)) insert into contactos values(1,'juan') insert into contactos values(2,'JUANITA') insert into contactos values(3,'MARIA') insert into tipo values(1,'vendedor') insert into tipo values(2,'cajero') En el Explorador de objetos expanda la rama de Bases de datos y seleccione la base de datos de la que quiere hacer la copia de seguridad, hacer clic con el botn derecho y del men emergente, seleccionar Tareas y del submen mostrado, Copia de seguridad
Si se quiere hacer la copia de seguridad en el directorio que SQL Server usa por defecto, simplemente pulsar en el botn Aceptar para hacer la copia, pero si, se quiere
GUA 6 Pg.
10
elegir la ruta en la que se har la copia, se tendr que pulsar en el botn Agregar... , con la idea de guardarlo en alguna ubicacin de su preferencia
Al pulsar en el botn Agregar, se muestra un nuevo cuadro de dialogo en el que se podr buscar la ubicacin que queremos y asignar un nombre archivo.
Una vez escrito el nombre de la copia de seguridad, tendremos el valor que inicialmente nos mostr el Management Studio adems del que se ha elegido, como no necesitamos dos copias de seguridad, podemos borrar la indicada en el disco C (el de Archivos de programa). Para borrarla, se tendr que seleccionar y pulsar en el botn Quitar.
GUA 6 Pg.
11
Si se dejan los dos nombres, se har una copia en cada una de las ubicaciones que ha indicado.
Si se tiene previamente una copia de seguridad ya existente con el mismo nombre debemos habilitar la opcin de sobreescribir de la siguiente manera: Pulsar en Opciones y marcar la opcin Sobrescribir todos los conjuntos de copia de seguridad existentes, tal como se muestra en la siguiente figura
Ahora solo falta hacer clic en el botn aceptar y en caso que haya seguido todos los pasos, SQL enviara un mensaje de xito
GUA 6 Pg.
12
Restaurar una base de datos Ahora vamos a restaurar una base de datos a partir de una copia de seguridad. Antes que nada, como ya tenemos nuestra copia de seguridad, borremos la base de datos pp, para que la podamos restaurar. En el Explorador de objetos, pulsar con el botn secundario sobre el elemento Bases de datos y del men desplegable, seleccionar Restaurar base de datos
Si lo que se va a restaurar es una nueva base de datos, tendr que escribir el nombre correspondiente en la caja de textos que hay junto a A una base de datos, en este caso, la base de datos que se va a restaurar se llama pp, aunque se puede escribir otro nombre a la base de datos, digitemos recupera_pp
GUA 6 Pg.
13
Antes de poder hacer la restauracin, se tendr que decirle dnde est la copia de seguridad. Para ello se tendr que marcar la opcin Desde dispositivo y pulsar en el botn para seleccionar el fichero, damos clic en Agregar y nos aparece un rbol de directorios
GUA 6 Pg.
14
Para hacer mas sencilla la bsqueda en Archivo tipo, seleccione Todos los archivos(*), y luego busca la carpeta y selecciona el archivo de la copia de seguridad que realizamos en el ejercicio anterior.
Damos clic en aceptar para regresar a la primera pantalla, y habilitamos la casilla Restaurar
GUA 6 Pg.
15
Si da un error es porque pueden ocurrir dos cosas (o ms), una de ellas es que la base de datos ya exista, es decir, esta restaurando una base de datos que ya est en la lista de bases de datos de la instancia (o servidor) de SQL Server. En ese caso, tendr que indicarle que sobrescriba la base de datos existente. Para indicarlo, en el cuadro de dilogo tendr que pulsar en Opciones y seleccionar la opcin Sobrescribir la base de datos existente
Otro problema que puede ocurrir es que la ubicacin en la que estaba la base de datos que se quiere restaurar estuviera en otro directorio diferente, y por supuesto que no exista en su equipo. V. INVESTIGACIN Y EJERCICIOS COMPLEMENTARIOS Para la prxima semana, Crear un trabajo que realice lo siguiente o Crear una base de datos o Crear 2 tablas o Insertar 5 registros a cada tabla o Realizar la copia de seguridad de la base de datos creada La tarea es en parejas, y debe tener capturas de pantalla.
GUA 6 Pg.
16