Mes 09 - SQL Server 2005 Admin

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 106

Capitulo 1

Introducción a SQL Server

Introducción a SQL Server


 Papel de SQL Server en Cliente/Servidor y en internet – Tipos de
Servicios – Base de Datos SQL Server
 EL mecanismo de autenticación de SQL Server – Entorno de SQL

ARQUITECTURA CLIENTE SERVIDOR


Un Servidor es cualquier componente del Sistema que requiere servicios o
recursos de otros componentes del sistema. Un servidor es un componente del
sistema que proporciona servicios o recursos a otros componentes del sistema.
Servidor: Colección de datos y objetos que facilitan servicios como búsquedas,
ordenamientos recuperación, actualización y análisis de datos
Cliente: Es un Software (Programa) que podría ser usado por una persona o
por un proceso automatizado. Incluye el Software que interactúa con el servidor

TIPOS DE SERVICIOS

El SQL Server Database Engine (Motor de base de datos de SQL Server), el


Agente SQL Server y algunos otros componentes de SQL Server se ejecutan
como servicios. Estos servicios suelen iniciarse cuando se inicia el sistema
operativo. Esto depende de lo que se especifique durante la instalación;
algunos servicios no se inician de forma predeterminada. Antes de iniciar una
sesión en una instancia de SQL Server, debe saber cómo iniciar, detener,
pausar, reanudar y reiniciar una instancia de SQL Server. Una vez iniciada la
sesión, puede realizar diversas tareas, como administrar el servidor o consultar
la base de datos.

Página | 1
EL MECANISMO DE AUTENTICACIÓN EN SQL SERVER

LOGIN (CUENTA DE INICIO)

Es la identificación con la que el usuario podrá acceder al producto y empezar


a realizar operaciones. El login está en función a la forma de autenticación,
existe 2 formas de establecer un login:

 Login con Windows: El usuario al registrarse es aceptado en SQL


Server, siempre que tenga una cuenta previa en Windows
 Login SQL Server: Es necesario que la cuenta exista en SOL Server.

PROCESO DE AUTENTICACIÓN

Autentificar significa identificar y validar a los usuarios. Para que un usuario


pueda empezar a trabajar en SQL Server es necesario que acceda
previamente al producto. Para ello SQL Server proporciona dos formas de
autenticación:

 Autenticación Windows
 Autenticación Mixta o SQL Server

MODOS DE AUTENTICACIÓN:

 Windows: Sólo es permitido siempre cuando el usuario tenga una


casilla en este sistema., Exige que la cuenta a registrar en SQL Server
se encuentre previamente registrada en el Sistema Operativo Windows
Ventajas:
 Permite: validación y encriptación del Password, auditorias,
expiración de password, etc.
 Permite añadir grupo de usuarios en SQL Server añadiendo una
simple cuenta.
 Permite a los usuarios accesar al SQL Server rápidamente sin
necesidad de recordarotro login o password.

MS SQL Server 2005 - Administración

Página | 2
 Mixta: Es permitido tanto cuando el usuario tiene una cuenta en
Windows 2000 o en SQL Server. Es indiferente si existe o no la cuenta
en el Sistema Operativo
Ventajas:
 Permite añadir niveles de seguridad dentro de la BD
independientemente de Windows.
 No permite accesar al SQL Server clientes Windows, Internet, etc.

Elegidas nuestras opciones adecuadas pulsaremos en conectar, en ese


momento nos muestra una ventana con el proceso de conexión y si todo ha
resultado correcto, arranca nuestra herramienta de administración.

MS SQL Server 2005 - Administración

Página | 3
Para poder cambiar el modo de autenticación de Microsoft SQL Server 2005,
clic derecho sobre el servidor y elegimos la opción propiedades. Nos aparecerá
la ventana siguiente.

Cuando se muestra la ventana elegimos la opción security del panel del lado
izquierdo.
En la opción Server Authentication aparece dos alternativas.
 Windows Authentication Mode
 SQL Server and Windows Authentication Mode
Solamente podemos elegir una de las dos opciones para poder autenticarnos
en el servidor.

CONFIGURACIÓN DE SQL SERVER 2005


Para poder configurar SQL Server 2005 Clic en Inicio / Todos los Programas /
Microsoft SQL Server 2005.
Vemos que dentro del paquete Microsoft SQL Server 2005, accedemos a un
menú con unas herramientas de configuración, estas herramientas son:

MS SQL Server 2005 - Administración

Página | 4
De estas herramientas, seleccionamos (SQL Server Configuration Manager).
Desde ella podremos configurar el acceso y el modo de arranque de nuestro
servidor de datos.
Arrancamos la aplicación y nos encontramos la siguiente pantalla:

De todas las posibles herramientas de configuración a las que podemos optar


nosotros tenemos que destacar la primera de todas, SQL Server 2005
Services, desde la cual podremos configurar dos de los aspectos más
importantes de nuestro servidor.
Por lo tanto hacemos doble click en el icono correspondiente y accedemos a
los servidores de bases de datos instalados en nuestro PC. Teniendo que
configurar el primero de todos:

MS SQL Server 2005 - Administración

Página | 5
Veamos ahora la configuración de las propiedades

Página | 6
MS SQL Server 2005 - Administración

Página | 7
Veamos ahora la pestaña Servicio

ENTORNO DE SQL SERVER

Luego de Conectarnos como vimos en la primera parte se visualiza la primera


pantalla, esta consta de dos ventanas fundamentales: El Explorador de Objetos
y el Resumen

MS SQL Server 2005 - Administración

Página | 8
PRACTICA01:

Reforzando Conceptos de SQL Server 2005


Objetivos:

Este laboratorio se centra en reforzar los conceptos de este módulo y en


consecuencia contar con una base sólida para el mejor aprovechamiento
de el gestor de base de datos

Actividad a Realizar:

Formar grupos y exponer en forma clara y precisa las siguientes preguntas

 ¿Qué es SQL Server 2005?

 ¿Qué significa Arquitectura Cliente Servidor?

 ¿Indique los tipos y diferencias que existen de Autenticación?

 Ingrese Autenticando de las Diferentes formas

Página | 9
MS SQL Server 2005 - Administración

Página | 10
Capitulo 2
Gestión de Seguridad I

 Modificación de las propiedades del registro – Creación de cuentas de


usuarios de la base de datos
 Inicios de Sesión – Funciones fijas de Servidor.

MODIFICACIÓN DE LAS PROPIEDADES DEL REGISTRO


Como vimos en el Capitulo anterior la primera pantalla de SQL me muestra dos
ventanas importantes. Existe una tercera ventana referente a los Servidores
registrados para mostrar esta ventana vamos al menú "Ver" y seleccionamos
"Servidores registrados", de este modo nuestra pantalla queda dividida en tres
ventanas:

Modificar el registro de un servidor

La opción Servidores registrados conserva la información de conexión


especificada cuando se registró el servidor. Puede cambiar la información de
conexión de un servidor en cualquier momento.
1. En Servidores registrados, haga clic con el botón secundario en un
servidor y, a continuación, haga clic en Propiedades.
2. En el cuadro de diálogo Editar propiedades de registro de servidor,
modifique el servidor, la información de inicio de sesión o las propiedades
de conexión y, a continuación, haga clic en Guardar.

Página | 11
MS SQL Server 2005 - Administración

Página | 12
CREACIÓN DE CUENTAS DE USUARIOS DE LA BASE DE
DATOS.
En el momento de configurar la conexión con SQL Server 2005, indicamos que
comenzaríamos la sesión con una cuenta del sistema local. Lo cual quiere
decir, que utilizamos la misma cuenta de inicio de sesión de Windows para
conectarnos a nuestro servidor de datos.
Para crear cuentas de usuario, tenemos habilitada la carpeta Security,
que
podemos encontrar desplegando el árbol de navegación del explorador
de objetos. Dentro de esta carpeta, se almacena la carpeta Logins, la
cual muestra en la pestaña principal, las cuentas de usuario que se crean
automáticamente por defecto al instalar SQL Server y las creadas por
nosotros. Para crear una nueva cuenta, pulsamos el botón derecho del ratón
sobre la carpeta Logins, y seleccionamos New.

Pestaña
General:
 El nombre o Login de la cuenta.
 El tipo de autenticación para esta cuenta, pudiendo elegir
entre autenticación windows o autenticación SQL Server.
 Vemos que tenemos la posibilidad de forzar las políticas de
contraseñas, las cuales se aseguran que las contraseñas cumplan
unas determinadas
condiciones de formato, de caducidad, y la posibilidad de que el usuario

Página | 13
MS SQL Server 2005 - Administración

Página | 14
cambie su contraseña en el momento de iniciar por primera vez su
sesión.
 Base de datos por defecto con la que trabajará el usuario, y el lenguaje
por defecto.

Veamos ahora como sería la creación de Usuarios atreves de Transac SQL

CREATE USER
SINTAXIS
CREATE USER user_name [ { { FOR | FROM }
{
LOGIN login_name
| CERTIFICATE cert_name
| ASYMMETRIC KEY asym_key_name
} | WITHOUT LOGIN
]
[ WITH DEFAULT_SCHEMA = schema_name ]

MS SQL Server 2005 - Administración

Página | 15
user_name : Especifica el nombre por el que se identifica al usuario en esta
base de datos. user_name es de tipo sysname. Puede tener una longitud
máxima de 128 caracteres.
LOGIN login_name : Especifica el inicio de sesión de SQL Server del usuario
de base de datos que se va a crear. login_name debe ser un inicio de sesión
válido en el servidor. Cuando este inicio de sesión de SQL Server se introduzca
en la base de datos adquirirá el nombre y el Id. del usuario de la base de datos
que se va a crear.
CERTIFICATE cert_name : Especifica el certificado del usuario de la base de
datos que se va a crear.
ASYMMETRIC KEY asym_key_name : Especifica la clave asimétrica del
usuario de la base de datos que se va a crear.
WITH DEFAULT_SCHEMA = schema_name : Especifica el primer esquema
donde buscará el servidor cuando resuelva los nombres de objetos de este
usuario de base de datos.
WITHOUT LOGIN: Especifica que el usuario no se debe asignar a un inicio de
sesión existente.
INICIOS DE SESIÓN
CREATE LOGIN
A. Crear un inicio de sesión con una contraseña
En el ejemplo siguiente se crea el inicio de sesión KittiLert con una contraseña.
La opción MUST_CHANGE exige que el usuario cambie la contraseña la
primera vez que se conecta al servidor.
CREATE LOGIN KittiLert WITH PASSWORD = '3KHJ6dhx(0xVYsdf' MUST_CHANGE; GO

A. Crear un usuario de base de datos


En el siguiente ejemplo, primero se crea un inicio de sesión de servidor
denominado Admin con una contraseña y, a continuación, se crea el usuario de
base de datos Admin correspondiente en Colegio.

CREATE LOGIN Admin


WITH PASSWORD = 'ADMIN123';
USE Colegio;
CREATE USER Admin FOR LOGIN Admin;
GO

MS SQL Server 2005 - Administración

Página | 16
FUNCIONES FIJAS DE SERVIDOR
Las funciones fijas de servidor abarcan todo el ámbito del servidor. Cada
miembro de una función fija de servidor puede agregar otros inicios de sesión a
esa misma función.
Las funciones fijas de servidor son:
Bulkadmin Sólo los miembros de la función fija de servidor
bulkadmin pueden ejecutar la instrucción BULK INSERT.
dbcreator Los miembros de la función fija de servidor dbcreator pueden
crear, modificar, quitar y restaurar cualquier base de datos.
diskadmin La función fija de servidor diskadmin se utiliza para
administrar archivos de disco.
processadmin Los miembros de la función fija de servidor processadmin
pueden finalizar procesos que se ejecutan en una instancia
de SQL Server.
securityadmin Los miembros de la función fija de servidor securityadmin
administran los inicios de sesión y sus propiedades. Pueden
conceder (GRANT), denegar (DENY) y revocar (REVOKE)
permisos en el nivel de servidor. También pueden conceder,
denegar y revocar permisos en el nivel de base de datos.
Además, pueden restablecer contraseñas para inicios de
sesión de SQL Server.
serveradmin Los miembros de la función fija de servidor serveradmin
pueden cambiar opciones de configuración en el servidor y
cerrar el servidor.
setupadmin Los miembros de la función fija de servidor setupadmin
pueden agregar y quitar servidores vinculados, así como
ejecutar algunos procedimientos almacenados del sistema.
sysadmin Los miembros de la función fija de servidor sysadmin pueden
realizar cualquier actividad en el servidor. De manera
predeterminada, todos los miembros del grupo
BUILTIN\Administrators de Windows, el grupo de
administradores locales, son miembros de la función fija de
servidor sysadmin.

MS SQL Server 2005 - Administración

Página | 17
PRACTICA02:

Reforzando Conceptos de SQL Server 2005


Objetivos:

Este laboratorio se centra en reforzar los conceptos de este módulo y en


consecuencia contar con el manejo adecuado de los usuarios en SQL
Server

Actividad a Realizar:

Formar grupos y exponer en forma clara y precisa las siguientes preguntas


 Modifica las propiedades de registro.
 Crea cuentas de Usuario modo gráfico y modo Transac SQL
 Inicia Sesión con los usuarios creados

MS SQL Server 2005 - Administración


Página | 18
Capitulo 3
Gestión de Seguridad II

 Administración de Seguridad y Permisos


 Creación de roles – Asignación de Registros(Logins) a usuraos y
Roles – Asignación de Permisos a Usuarios y Roles

ADMINISTRACIÓN DE SEGURIDAD Y PERMISOS:

SQL Server 2005 (Motor de base de datos de SQL Server 2005) nos ayuda a
proteger los datos de la revelación no autorizada y de su alteración. La funcion
de seguridad de SQL Server incluye autenticación, autorización y mecanismos
de validación, así como administración de claves integrada. En la tabla
siguiente se enumeran importantes temas relativos a la seguridad.

CREACION DE ROLES
Un Rol significa reunir usuarios en una simple unidad a la cual se le puede
aplicar permisos
Existen 2 tipos de Roles
FIXED SERVER ROLES (Funciones Fijas del Servidor)
Son permisos a nivel de Servidor, es decir, tiene que ver con toda la
operatividad del servidor en el cual están siendo aplicados
Fixed Server Role Descripción

Sysadmin Puede ejecutar cualquier actividad en SOL Server (equivale sa).


Prevalece sobre cualquier otro rol permiso que se haya definido.
Serveradmin Configurar todas las opciones en el servidor
SetupAdmin Instalar replicaciones y manejar procedimientos extendidos
SecurityAdmin Manejar server logins
ProcessAdmin Manejar procesos corriendo en SQL Server
DbCreator Crear y modificar DB
DiskAdmin Manejar archivos de Disco

MS SQL Server 2005 - Administración


Página | 19
FIXED DATABASE ROLES (Funciones fijas de Base de Datos)
Son permisos a nivel de una DB, los roles que se definan sólo servirán para la
Base de datos donde se está realizando su aplicación.
Fixed Database Role Descripción

db_owner Puede ejecutar todas las actividades dentro de la BD, siempre


que no se hayan definido roles ni permisos tipo deny (denegar)
db_accessadmin añadir o eliminar usuarios a la BD
db_datareader puede consultar cualquier dato de la BD
db_datawriter puede escribir en cualquier tabla de la BD
db_ddladmin puede añadir, modificar y eliminar objetos de la BD
db_securityadmin puede manejar roles y miembros de la BD
db_backoperator Backup (copia de seguridad) en la BD
db_denydatareader No puede consultar ningún dato de la BD
db_denydatawriter No puede escribir ningún dato de la BD
public Mantiene los permisos predeterminados

Server Roles
Desde esta pestaña, indicamos las reglas de acceso sobre el servidor,
pudiendo elegir entre permisos para administración de procesos, creación de
bases de datos, administración de seguridad (crear nuevos usuarios...) etc.

MS SQL Server 2005 - Administración

Página | 20
A continuación, le indicamos los permisos específicos que tendrá el usuario
para cada base de datos. Para ello le indicamos a que grupo de usuarios
pertenecerá el usuario en una base de datos concreta.

Y por último, podemos como administradores del servidor habilitar o


deshabilitar la cuenta de usuario que estamos creando, mediante la opción del
panel izquierdo Status:

MS SQL Server 2005 - Administración

Página | 21
PERMISOS
Para entender completamente los permisos debemos ver un tema preliminar
ENTIDADES DE SEGURIDAD
Las entidades de seguridad son individuos, grupos y procesos que pueden
solicitar recursos de SQL Server. Igual que otros componentes del modelo de
autorización de SQL Server, las entidades de seguridad se pueden organizar
en jerarquías.
Entidades de seguridad a
nivel de Windows
 Inicio de sesión del
dominio de Windows
 Inicio de sesión local
de Windows
Entidades de seguridad a
nivel de SQL Server
 Inicio de sesión de
SQL Server
Entidades de seguridad a
nivel de bases de datos
 Usuario de base de
datos
 Función de base de
datos
 Función de aplicación

MS SQL Server 2005 - Administración

Página | 22
Para que los usuarios puedan acceder o crear objetos y realizar operaciones
de manejo de datos deben de tener privilegios (Grant).
Tipo de Permiso Permiso Aplicado a

Ordenes CREATE DATABASE Master


CREATE DEFAULT Todas las BD
CREATE PROCEDURE Todas las BD
CREATE RULE Todas las BD
CREATE TABLE Todas las BD
CREATE VIEW Todas las BD
BACKUP DATABASE Todas las BD
BACKUP LOG Todas las BD
Objetos SELECT Tablas, vistas y columnas
INSERT Tablas y vistas
DELETE Tablas y vistas
UPDATE Tablas, vistas y columnas
REFERENCES Tablas y columnas
EXECUTE Stored Procedures

ASIGNAR PERMISOS
Estos pueden ser dados en 3 estados:

MS SQL Server 2005 - Administración

Página | 23
Estado permiso Estado en Efecto
sysprotects

GRANT Positivo Puede ejecutar una acción

DENY Negativo No puede ejecutar una acción. Prevalecerá sobre


la aplicación de un rol a nivel de base de datos.

REVOKE Nada No puede ejecutar una acción, puede invalidar un


miembro del rol. Si se han definido Roles
normalmente son los que entrarán a definir la
ejecución o no de las operaciones

OTORGANDO PERMISOS
1. Para Órdenes y Objetos: (usando el Management Studio)
 Seleccionar la BD.
 Del Menú Contextual: Propiedades.
 Aparecerá la pantalla siguiente, haciendo Click se confieren los permisos
o se revocan.

MS SQL Server 2005 - Administración

Página | 24
A través de transac SQL:
Use Master

CREATE DATABASE bbddPrueba


GO
exec sp_addlogin 'usrPrueba', 'usrPruebaPWD'
GO
Use bbddPrueba
exec sp_grantdbaccess 'usrPrueba'
GO
exec sp_addrolemember 'db_owner','usrPrueba'

Lo que hace el script es muy sencillo. Trabajando primero sobre master,


mediante CREATE DATABASE crea la nueva base de datos de nombre
bbddPrueba, y crea a continuación el usuario usrPrueba. Después de esto se
cambia la base de datos de trabajo a la recién creada use bbddPrueba y se
autoriza al usuario a acceder a ella con sp_grantdbaccess. Mediante la última
orden, sp_addrolemember, hacemos que el nuevo usuario tome el role de
propietario de la base de datos.
Esto último puede no ser lo conveniente en muchas situaciones en las que
prefiramos tener un mayor control sobre las acciones que pueden realizar los
usuarios. Para estos casos deberemos utilizar otro role que el de db_owner y
autorizar las acciones mediante instrucciones GRANT.

MS SQL Server 2005 - Administración

Página | 25
PRACTICA01:

Reforzando Conceptos de SQL Server 2005


Objetivos: Después de realizar esta práctica, el alumno será capaz de:

 Autorizar Usuarios para accesar a SQL.


 Asignar roles a nivel de Servidor.

Actividad a Realizar:
ACTIVIAD1: AUTORIZANDO USUARIOS PARA ACCESAR A SQL SERVER
1. Crear los siguientes usuarios
a) Jefe almacén
b) Gerente
c) JefeVentas
2. Luego loggearse como JefeVentas.

ACTIVIDAD 2: ASIGNANDO ROLES A NIVEL DE SERVIDOR


1. Crear el usuario:
Name : AdministrarBD
Authentication : SQL Server Authentication
2. Asignando Rol: System Administrators

PROBANDO CON USUARIO: ADMINISTRADORDB


3. Registrarse como AdministradorDB
4. Ubique la Ficha Databases y haga clic botón derecho y crear una base
de datos
5. ¿Que observa?

REGISTRÁNDOSE CON OTRO USUARIO: JEFEALMACEN


6. Ubicarse sobre su Servidor, desconéctate del servidor
7. Luego vuelve a conectar el servidor.
8. Autentícate con el login: JefeAlmacen
9. OK

MS SQL Server 2005 - Administración

Página | 26
10. Ubique la Ficha: Databases y haga clic botón derecho y crea una base
de datos
11. ¿Que observa?
12. Ubicarse sobre la Ficha Security y haga clic botón derecho y crea un
usuario
13. ¿Que observa?

ACTIVIDAD 3: ASIGNANDO ROLES


1. Crear el usuario: SeguridadDB y asignarle el usuario: Security
Administrators
2. Registrarse con el usuario SeguridadDB
3. Ubicarse en la Ficha Security y crea un usuario
4. ¿Qué observa?
5. Ubicarse en la Ficha Database y crear una base de datos
6. ¿Qué observa?

MS SQL Server 2005 - Administraci

Página | 27
Capitulo 4
Administración de Tareas Administrativas

 El Agente SQL Server – Creación y Administración de Operadores


 Creación y Administración Trabajos – Creación y Administración alertas.
Casos Practicos

EL AGENTE SQL SERVER


El Agente SQL Server es un servicio de Microsoft Windows que ejecuta tareas
administrativas programadas, denominadas trabajos. Los trabajos contienen uno o
más pasos. Cada paso contiene su propia tarea. Por ejemplo, si desea realizar una
copia de seguridad de todos los servidores de la organización todos los días entre
semana después del horario de trabajo, puede automatizar esta tarea

COMO INICIAR EL AGENTE


Cómo iniciar el Agente SQL Server (Administrador de configuración de SQL Server)
El Agente SQL Server se puede detener e iniciar desde el Administrador de
configuración de SQL Server.
1. En el menú Inicio, seleccione Todos los programas, Microsoft SQL Server
2005, Herramientas de configuración y haga clic en Administrador de
configuración de SQL Server.
2. En el Administrador de configuración de SQL Server, expanda Servicios y,
a continuación, haga clic en Agente SQL.
3. En el panel de resultados, haga clic con el botón secundario en una instancia y,
a continuación, haga clic en Iniciar. Una flecha verde en el icono situado junto
al Agente SQL Server y en la barra de herramientas indica que el Agente SQL
Server se inició correctamente.
4. Haga clic en Aceptar

CONFIGURANDO SQL SERVER AGENT


El Server Agent es uno de los componentes de SQL Server sobre el cual descansa la
responsabilidad de la automatización de las tareas administrativas del producto. Como
se comento anteriormente sirve para ejecutar jobs (Trabajos) y disparar las alertas
programadas, por lo que siempre debe estar en ejecución.
Debe de configurarlo para que se inicie automáticamente cada vez que se tenga la
necesidad de reiniciar el servidor donde se encuentra alojado SQL Server. Esta

MS SQL Server 2005 - Administración

Página | 28
automatización puede ser efectuada en el Service Manager (Administrador de
Servicios).

EJERCICIO 1: CONFIGURANDO EL SQL SERVER AGENT


1. Estando en el SQL Server Management Studio ubicarse en SQL Server Agent
y expandir
2. Clic botón derecho: Propiedades y mostrará la siguiente ventana.

PROPIEDADES DE AGENTE SQL SERVER (PÁGINA GENERAL)


Utilice esta página para ver y modificar las propiedades generales del servicio del
Agente Microsoft SQL Server.
1. Estado del servicio: Muestra el estado actual del servicio del Agente SQL
Server.
2. Reiniciar SQL Server si se detiene inesperadamente: El Agente SQL Server
reinicia SQL Server si SQL Server se detiene de forma inesperada.
3. Reiniciar el Agente SQL Server automáticamente si se detiene
inesperadamente: El Agente SQL Server reinicia el Agente SQL Server si el
Agente SQL Server se detiene de forma inesperada.
4. Nombre de archivo: Especifica el nombre de archivo del registro de errores.
Permite usar el archivo del registro de errores.
5. Incluir mensajes de traza de ejecución: Incluye mensajes de traza de
ejecución en el registro de errores. Los mensajes de traza proporcionan
información detallada sobre la operación del Agente SQL Server. Por tanto, el

MS SQL Server 2005 - Administración

Página | 29
archivo de registro requiere más espacio en disco cuando se selecciona esta
opción. Sólo se debe seleccionar si se intenta solucionar un problema que
puede estar relacionado con el Agente SQL Server.
6. Escribir archivo OEM: Escribe el archivo de registro de errores como un
archivo no Unicode. De esta forma, se reduce el espacio en disco que utiliza el
archivo de registro. Sin embargo, si se habilita esta opción, puede resultar más
difícil leer los mensajes que incluyen datos Unicode.
7. Destinatario de NET SEND: Escribe el nombre de un operador que recibirá
una notificación mediante NET SEND de los mensajes que el Agente SQL
Server escribe en el archivo de registro.

AUTOMATIZACIÓN DE TAREAS
Una de las funciones principales del administrador de la base de datos es la de
realizar las tareas de mantenimiento de SQL Server y de sus bases de datos. Entre
estas tareas se incluyen las que se deben llevar a cabo de manera programada por
ejemplo: Back up, Transferencia de Datos, etc. Esto se realiza por medio de la
creación de Job.

CREACIÓN DE OPERADORES
Estos pueden ser creados utilizando el SQL Server Management Studio. Al definir un
operador debemos:
 Definir un grupo e_mail para notificar a más de uno y solucione el problema
 Testear cada método de notificación que es usado para notificar el operador y
así aseguramos que el mensaje llegará a los operadores
 Especificar una tarea de trabajo para cada operador que será notificado.
 La definición de los operadores se almacena en la tabla de sistema
msdb.sysoperators.
 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 ([email protected]) 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.

MS SQL Server 2005 - Administración

Página | 30
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.

EJERCICIO 2: CREANDO OPERADORES


 Estando en el SQL Server Management Studio ubicase en SQL Server Agent y
expandir
 Ubicarse sobre Operadores, clic botón derecho: Nuevo Operador
 Ingrese la información siguiente:

MS SQL Server 2005 - Administración

Página | 31
CREACIÓN Y EJECUCIÓN DE TRABAJOS (JOBS)
Estos pueden ser creados utilizando el Management Studio en la carpeta
Management.
Al definir un Job debemos:
 Especificar el responsable de la ejecución del Job.
 Definir si la tarea se va a ejecutar en un servidor local o en un servidor remoto
 Asegurarse que el Job este activo.
 La definición del trabajo se almacena en la tabla del sistema msdb.sysjobs.

DEFINIR PASOS EN UN JOB

Al crear trabajos, el administrador de bases de datos puede que quiera especificar que
SQL Server ejecute una acción adecuada si se produce un error durante la ejecución
del trabajo. Para ello, puede determinar la acción que SQL Server realizará cuando
cada 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 se elimine así mismo cuando termine.

HISTORIAL DE TRABAJOS (JOBS)

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
Management Studio permite ver la información de historial de un trabajo individual, así
como configurar el tamaño del historial de trabajos.

MS SQL Server 2005 - Administración

Página | 32
EJERCICIO 3: USANDO EL ASISTENTE DE CREACIÓN DE JOBS
Usando el Asistente
1. Estando en Agente SQL Server y expandir dar doble dic en Trabajos (Jobs) y
seleccionar New Job (Nuevo Trabajo)
2. En Job Name, digite: Copia NorthWind

3. Ingrese a la página pasos, haga clic en nuevo y use la siguiente información,


para crear un backup:

MS SQL Server 2005 - Administración

Página | 33
BACKUP DATABASE Northwind TO DISK = ‘C:\NortwibdDB.bak’ WITH INIT
4. Ingrese a la página programaciones, haga clic en nuevo y use la
siguiente información, para que el backup se ejecute a las 8:00 p.m. del
Domingo:

5. Ingrese a la página Notificaciones y use la siguiente información:

MS SQL Server 2005 - Administración

Página | 34
Cómo crear un trabajo del Agente SQL Server (Transact-SQL)

En este tema se describe cómo utilizar los procedimientos almacenados para crear un
trabajo del Agente SQL Server de Microsoft.
Para crear un trabajo del Agente SQL Server (Transac – SQL)
1. Ejecute sp_add_job para crear un trabajo.
2. Ejecute sp_add_jobstep para crear uno o varios pasos de trabajo.
3. Ejecute sp_add_schedule para crear una programación.
4. Ejecute sp_attach_schedule para adjuntar una programación al trabajo.
5. Ejecute sp_add_jobserver para establecer el servidor para el trabajo.

EJEMPLOS
Ejemplo1: Agregar un trabajo
En este ejemplo se agrega un nuevo trabajo denominado Backups.
USE msdb ;
GO
EXEC dbo.sp_add_job
@job_name = N'Backups' ;
GO

Ejemplo2: Agregar un Paso a Un Trabajo


En este ejemplo se crea un paso de trabajo que realiza el back up de la Base de Datos
NortWind este ejemplo se especifican 5 reintentos, cada uno de los cuales se produce
tras una espera de 5 minutos.
USE msdb ;
GO
EXEC sp_add_jobstep
@job_name = N'Backups',
@step_name = N'BackUpNorthwind',
@subsystem = N'TSQL',
@command = N'BACKUP DATABASE Northwind TO Disk
=''E:\NorthwindBD.bak'' WITH INIT'
GO

[ @job_name = ] 'job_name' Nombre del trabajo al que se va a agregar el paso.


[ @step_name = ] 'step_name' Es el nombre del paso.

MS SQL Server 2005 - Administración

Página | 35
[ @command = ] 'command' Comandos que va a ejecutar el servicio
SQLServerAgent
[ @subsystem = ] 'subsystem' Subsistema utilizado por el servicio del Agente
Microsoft SQL Server para ejecutar command

'TSQL' Instrucción Transact-SQL


(predeterminado)

Crear una programación


En el siguiente ejemplo se crea una programación llamada NightlyJobs. Los trabajos
que utilizan esta programación se ejecutan a diario si la hora del servidor es 01:00.
USE msdb;
GO
EXEC sp_add_schedule
@schedule_name = N'BackupNortwind' ,
@freq_type = 4, @freq_interval = 1,
@active_start_time = 010000 ;
GO

[ @schedule_name = ] 'schedule_name' Es el nombre de la programación.


[ @freq_type = ] freq_type
Es un valor que indica cuándo va a ejecutarse un trabajo. freq_type es de
tipo int, su valor predeterminado es 0 y puede ser uno de los valores

siguientes.
Valor Descripción

1 Una vez

4 Diariamente

8 Semanalmente

16 Mensualmente

32 Mensualmente, con relación a freq_interval

64 Se ejecuta cuando se inicia el servicio


SQLServerAgent

128 Se ejecuta cuando el equipo está inactivo

MS SQL Server 2005 - Administración

Página | 36
[ @active_start_time = ] active_start_time
Es la hora de un día entre active_start_date y active_end_date
en que se inicia la ejecución del trabajo. active_start_time es de
tipo int y su valor predeterminado es 000000, lo que indica
12:00:00 a.m. en un reloj de 24 horas. Se debe especificar con el
formato HHMMSS.
Ejemplo: Adjuntar una programación a un trabajo
En el ejemplo se adjunta la programación al trabajo NightlyBackups
EXEC sp_attach_schedule
@job_name = N' NightlyBackups ',
@schedule_name = N' BackupNortwind ';
GO

[ @job_name = ] 'job_name' Nombre del trabajo al que se va a agregar la


programación.
[ @schedule_name = ] 'schedule_name' Nombre de la programación que se va a
configurar para el trabajo

CREACIÓN DE ALERTAS
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.
Microsoft SQL Server genera eventos que se incluyen en el registro de aplicación de
Microsoft Windows. El Agente SQL Server lee el registro de aplicación y compara los
eventos con las alertas definidas. Cuando el Agente SQL Server encuentra una
coincidencia, activa una alerta, que es una respuesta automatizada a un evento.
Además de supervisar los eventos de SQL Server, el Agente SQL Server también
puede supervisar las condiciones de rendimiento y los eventos de Instrumental de
administración de Windows (WMI).

DEFINIENDO ALERTAS CON NIVELES DE SEVERIDAD DE ERROR


Para definir una alerta es necesario especificar Números de Error que determinan la
severidad de la definición de la alerta, siga las siguientes consideraciones:
 Los errores con nivel de severidad del 19 al 25 son automáticamente escritos en el
Log Application.
 Los errores de 20 al 25 son errores fatales. Se recomienda siempre tener un
operador definido para estos errores.
 Usted puede definir una alerta que se active al encontrarse el error específico.

MS SQL Server 2005 - Administración

Página | 37
CREACIÓN DEL MENSAJES DE ERROR
Al crear alertas, también puede especificar mensajes de error definidos por el usuario
(personalizados) para aplicaciones de base de datos individuales que le permitan
definir soluciones con las que evitar posibles problemas antes de que se produzcan.
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.

EJERCICIO 4: CREANDO ALERTAS USANDO EL ASISTENTE


1. Expanda SQL Server Agent y dar clic derecho en Nueva Alerta.
2. Seleccionamos las opciones indicadas.

En la página general debemos asignar las siguientes características

MS SQL Server 2005 - Administración

Página | 38
Nombre de la alerta: Los nombres de las alertas deben ser exclusivos en la
instancia de SQL Server y no pueden tener más de 128 caracteres.
Seleccionar un tipo de evento: Una alerta responde a un tipo de evento
específico. Las alertas responden a los siguientes tipos de evento:
 Eventos de SQL Server
 Condiciones de rendimiento de SQL Server
 Eventos de WMI

Especificar un evento de SQL Server Puede especificar una alerta para que
se produzca en respuesta a uno o más eventos. Utilice los siguientes
parámetros para especificar los eventos que desencadenan una alerta:

Número de error El Agente SQL Server activa una alerta cuando se produce
un error específico. Por ejemplo, puede especificar el número de error 2571
para responder a los intentos no autorizados de invocar comandos de consola
de base de datos (DBCC).

Nivel de gravedad El Agente SQL Server activa una alerta cuando se produce
un error de la gravedad específica. Por ejemplo, puede especificar el nivel de
gravedad 15 para responder a errores de sintaxis en instrucciones Transact-
SQL.

Base de datos El Agente SQL Server sólo activa una alerta cuando el evento
tiene lugar en una base de datos determinada. Esta opción se aplica además
del número de error o el nivel de gravedad. Por ejemplo, si una instancia
contiene una base de datos que se utiliza para la producción y una base de
datos que se utiliza para la elaboración de informes, puede definir una alerta
que responda a los errores de sintaxis sólo en la base de datos de producción.

Texto del evento El Agente SQL Server activa una alerta cuando el evento
especificado contiene una cadena de texto determinada en el mensaje de
evento. Por ejemplo, puede definir una alerta que responda a los mensajes que
contienen el nombre de una tabla o restricción determinada.

3. Luego configuraremos la página Respuesta, indicando en ella la a notificación


que se desea ejecutar

MS SQL Server 2005 - Administración

Página | 39
4. Asignamos un mensaje adicional para la notificación

MS SQL Server 2005 - Administración

Página | 40
5. Verificamos la creación de la alerta, ubicándonos en el SQL Server Agent y
dando clic en Alerts

EJEMPLO 5: PROCESO DE ALERTA MENSAJE DE ERROR


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.
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 Torres, una representante del servicio al cliente, quita el cliente Carlos
Beltran 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.

MS SQL Server 2005 - Administración

Página | 41
EJERCICIO 6: CREANDO UN ALERTA EN UN MENSAJE DE ERROR
DEFINIDO POR USUARIO
1. Crear una Base de Datos llamada Fabrica
2. Ejecutar el siguiente Script en el Query Analyzer
CREATE TABLE PRODUCTO
(PRODUCTO CHAR(4) NOT NULL,
DESCRIPCION CHAR(30) NULL,
STOCKAC INT NULL,
STOCKMAX INT NULL,
STOCKMIN INT NULL)
3. Ingrese los siguientes registros
INSERT INTO PRODUCTO
VALUES
('PRO1','CEMENTO PACASMAYO',100,500,10)
INSERT INTO PRODUCTO
VALUES
('PRO2','CEMENTO LIMA',10,500,2)

CREAR UNA ALERTA PARA UN MENSAJE DE ERROR DEFINIDO POR EL


USUARIO
1. Ubicarse en SQL Server Agent y clic en Alerts, luego clic botón derecho: New
Alert
2. Ubique los siguientes datos, tal como muestra la interfaz a continuación:

3. En la ficha Response: Notifique como NetSend: NothCom

MS SQL Server 2005 - Administración

Página | 42
VERIFICANDO EL ERROR

1. Desde el SQL Server Management Studio elija la Base de Datos Fabrica


2. Expanda y ubique Programmability-Stored Procedures
3. Hacer clic botón derecho del mouse y digite el Siguiente Stored Procedure y
posteriormente ejecútelo.
El mensaje de notificación que llegaría al operador sería el nombre del
producto y la cantidad a reponer.

CREATE PROCEDURE [dbo].[ReOrdenar] @prodid char(4)


AS

DECLARE @prodname nvarchar(40)

IF NOT EXISTS( SELECT Descripcion FROM Producto


WHERE Producto = @prodid)
BEGIN
PRINT 'Producto Ingresado No Existe'
RETURN
END

SET @prodname = (SELECT Descripcion FROM Producto


WHERE Producto = @prodid)

DECLARE @unitsinstock smallint


SELECT @unitsinstock = stockMin FROM ProductO WHERE
Producto=@prodid

UPDATE Producto
SET stockAc = @unitsinstock WHERE Producto = @prodid

RAISERROR (50001, 10, 1, @prodname, @unitsinstock)

4. Una vez digitado el Stored Procedure, ejecutarlo de la siguiente manera:

EXEC ReOrdenar 'PR02'

MS SQL Server 2005 - Administración

Página | 43
5. Con lo que aparecerá el siguiente mensaje:

6. En la pestaña opciones escribo el mensaje de para la alerta

MS SQL Server 2005 - Administración

Página | 44
PRACTICA04:

TAREAS ADMINISTRATIVAS
Objetivos:

Este laboratorio se centra en reforzar los conceptos de este módulo y en


consecuencia contar con manejo adecuado de las tareas administrativas

Actividad a Realizar:
CASOS PRACTICOS

1. Se necesita realizar un Backup para la base de datos Ventas para un día


deteminado y además se necesita enviar una alerta cuando ocurra un
error en el proceso de BackUp
2. Programa una tarea para la base de datos Northwind, el cual ejecute un
procedimiento almacenado para un día deteminado, y además envíe una
alerta de error al operador, cuando ocurra un error en el proceso de
backup

MS SQL Server 2005 - Administración

Página | 45
Capitulo 5
Copia de Seguridad de Base de Datos

 Prevención de bases de datos


 SQL Server Backup – Tipos de Metodos de Backup – Planear una
estrategia de Backup- Programación de Backup – Casos Prácticos

PREVENCION DE BASE DE DATOS

Dentro de las actividades cotidianas que se dan en la operatividad de las Bases de


Datos es posible que éstas sufran daños o los datos se vean alterados erróneamente
o simplemente se quiera tener una información histórica de los datos. Para ello es
recomendable tener copia de Seguridad de los datos a fin de poder recuperarlos por
alguno de los motivos explicados. A continuación veremos como utilizar un Copia de
Seguridad, estrategias a usar y los diferentes modos existentes.

INTRODUCCIÓN A BACKUP
Deberá analizar los requerimientos de protección de datos de su empresa y producir
una estrategia de backup. Veamos algunas consideraciones:

PREVINIENDO LA PÉRDIDA DE DATOS


La necesidad de prevenir la pérdida de datos es uno de las tareas más críticas de los
Administradores de BD. Se pueden minimizar la pérdida de datos teniendo una
estrategia de backup y ejecutándola regularmente.

TENER UNA ESTRATEGIA DE BACKUP


Se podrían perder datos a consecuencia de:
 Accidental o provocado uso de la orden DELETE
 Virus destructivos
 Desastres naturales, como incendios inundaciones o terremotos
 Robos
Si se tiene una estrategia adecuada podríamos minimizar la ocurrencia permanente de
perder datos. Debemos de pensar: "Cuánto tengo que invertir y cuánto tengo que
perder"
El costo va asociado a una Estrategia que incluye la cantidad de tiempo en diseñar,
implementar, automatizar y probar los procedimientos de backup.

MS SQL Server 2005 - Administración


Página | 46
BACKUP REGULARMENTE
La frecuencia con que deben de realizarse un backup depende de la cantidad de datos
que esté dispuesto a perder y la actividad de la Base de Datos. Veamos estas
consideraciones:
 Backup de su BD frecuentemente: Si su sistema está en un entorno de
proceso de transacciones en línea.
 Backup de su BD con menos frecuencia: Si su sistema tiene poca actividad
o es usado como soporte de decisiones.
 Preparar tareas de Backup: Cuando no se estén realizando tareas de
actualización.

SQL SERVER BACKUP


SQL Server le permite realizar backup mientras los usuarios continúan trabajando con
la BD. Las actividades que ocurren durante el proceso de backup son incluidas en el
backup. Cuando hace una copiad de seguridad en la Base de Datos, SQL Server
realiza Copia de Seguridad de:
 Esquema y la estructura del archivo
 Datos
 Porciones del Transaction Log.

EJECUTANDO Y ALMACENANDO BACKUPS


¿Quién Ejecuta Backups?
Los miembros de los siguientes roles:
 SystemAdministrator : Fixed Server Role
 Db_owner : Fixed Database Role
 db_backupoperator : Fixed Database Role

¿Dónde Almacenar BackUps?


Puede ser:
 Archivos de Disco (local o red)

MS SQL Server 2005 - Administración

Página | 47
BACKUP DE LAS BASE DE DATOS DEL SISTEMA

Las BD del sistema almacenan información de todas las BD de usuario, por lo que es
conveniente realizar backup regularmente.
En la BD master: antes de reconstruir y recuperar y cuando ejecuta:
 CREATE DATABASE, ALTER DATABASE, DROP DATABASE
 Cuando modifica el Transaction Log
 Cuando ejecuta: sp_addserver, sp_dropserver, sp_addlinkedserver, que
permiten manejar servidores remotos.

En la BD msdb: cuando se programan nuevos jobs, alertas y operators.


En la BD model: cuando incluya un cambio en la configuración de algún objeto de esta
BD.

BACKUP DE LAS BASE DE DATOS DEL USUARIO

Aquí se recomienda tener un Plan de Backup, adicionalmente:


 Después de crear la BD.
 Después de Limpiar el Transaction Log

ACTIVIDADES RESTRINGIDAS DURANTE UN BACKUP


Durante un proceso de backup no se puede:
 Crear o Modificar Base de Datos
 Ejecutar ninguna operación nonlogged, como: SELECT INTO, y UPDATE.
Estas actividades crean conflicto con el proceso de Copia de Seguridad:
 Si ejecuta una de las tareas indicadas el proceso de Backup se corta.
 Si intenta realiza un backup y está activas alguna de las tareas anteriores, no
se pueden realizar backup.

MS SQL Server 2005 - Administración

Página | 48
FORMAS DE REALIZAR BACKUPS

CREANDO ARCHIVOS PERMANENTES DE BACKUP


El primer paso para crear un backup es crear archivos de backup que contendrán al
backup. El archivo que se crea antes de hacer un backup se conoce como
permanente. Se crea archivos permanentes por que:
 Permiten reusar archivos de Backup. Puede hacer por medio del SQL Server
Management Studio.
 Permiten automatizar las tareas de backup

USANDO EL SQL SERVER MANAGEMENT STUDIO


 Seleccione la carpeta Management (Administración)
 Click botón derecho: Copia de Seguridad, con lo que aparecerá la siguiente
pantalla:

CREANDO ARCHIVOS TEMPORALES DE BACKUP


Se pueden crear archivos de back temporales si no desea tener un permanente.
Puede crear por medio de la orden BACK DATABASE o por medio del SQL Server
Management Studio. El motivo por el cual se crea archivos de backup temporales es
cuando se desea ejecutarla por única vez

MS SQL Server 2005 - Administración

Página | 49
USANDO LA ORDEN BACKUP DATABASE:

Sintáxis:
BACKUP DATABASE {nom_BD} TO <archivo_backup>

Donde <archivo_backup>:
{nom_archbackup ! {DISK, TAPE, PIPE} = {arch_temporal}

Ejemplo: Realizar Backup para la Base de datos Nortwind


USE master
BACKUP DATABASE Northwind TO DISK = 'C:\temp\northwind.bak'

Y como resultado tendremos:

TIPOS DE COPIA DE SEGURIDAD


SQL Server proporciona diferentes formas de realizar backups como veremos a
continuación:
COMPLETE O FULL DATABASE BACKUP (BACKUP COMPLETO A UNA BD)

Cuando ejecuta un backup de este tipo SQL Server backs up


 El esquema y la estructura del archivo
 Los datos (incluye todas las páginas de datos y objetos de la BD)
 Porciones del Transaction Log, el cual contiene la actividad ocurrida durante el
proceso.
Se puede crear así:
Con la orden BACKUP DATABASE

Ejemplo:
USE master
BACKUP DATABASE VENTAS TO DISK = 'C:\Archivos de programa\Microsoft
SQL Server\MSSQL.1\MSSQL\Backup\mibackup'

MS SQL Server 2005 - Administración


Página | 50
MEDIANTE EL SQL SERVER MANAGEMENT STUDIO:
 Haga Click en la Base de Datos que va ha ser realizada el Copia de Seguridad
 Click con el botón derecho - Tasks (tareas) y luego Backups (Copia de
Seguridad), con lo que aparecerá la siguiente pantalla:

MS SQL Server 2005 - Administración

Página | 51


 Clic en Agregar o Add donde nos mostrará la siguiente pantalla

Indicamos la ruta donde deseamos que se guarde nuestra copia de seguridad


(backup) asimismo como el nombre (mibackup)
 Clic en Aceptar o ok.
 Clic en Aceptar o ok y posteriormente nos mostrará el siguiente msgbox
(mensaje)

EJECUTANDO UN TRANSACTION LOG BACKUP


 Sólo el Transaction Log es Backed up. Esta porción es truncada (removida)
 Se graban sólo las últimas transacciones a partir del Complete Database
Backup o Differential Backup.
Se pueden crear con:
 La orden BACKUP LOG.
Ejemplo:
BACKUP LOG DbAlmacen TO DISK ='C:\Archivos de programa\Microsoft SQL
Server\MSSQL.1\MSSQL\Backup\bdalmacen.bak'

MS SQL Server 2005 - Administración

Página | 52
 Con el SQL Server Management Studio.

EJECUTANDO UN DIFERENTIAL BACKUP


 Almacena las páginas que han sido grabadas desde el último Complete
Database Backup, generando un Backup más pequeño que el Complete.
 No deben ser recuperados sin previamente haber recuperado el Complete
Database Backup.

MS SQL Server 2005 - Administración

Página | 53


 Debe usarse cuando hay frecuente actualización de datos en la BD
 El tiempo de generación de este Backup es más corto que el Complete.

Se pueden crear con:


 La orden BACKUP DATABASE.
Ejemplo

BACKUP DATABASE pubs TO DISK ='C:\Archivos de programa\Microsoft


SQL Server\MSSQL.1\MSSQL\Backup\mibackup.bak' WITH DIFFERENTIAL

MS SQL Server 2005 - Administración

Página | 54
PLANIFICANDO UNA ESTRATEGIA DE BACKUP

ESTRATEGIA FULL DATABASE BACKUP


Debe ser aplicada cuando no se tenga muchos volúmenes de información. Si bien es
cierto constituye una forma de asegurarse de tener datos y transacciones, pero debe
tener cuidado con el espacio que pueda ocupar si hace Copia de Seguridad de la
forma permanente.
También puede ser aplicada si la base de datos sufre pocos cambios en el tiempo o es
de sólo lectura.
Así mismo deberá de tener cuidado con el archivo transaccional. Es recomendable
previo a este tipo de Backup:
 Limpiar el Archivo Log
 Truncar el Log de tal manera que minimice el crecimiento del Log.

ESTRATEGIA BACKUP BASE DE DATOS Y TRANSACTION LOG


Esta estrategia puede ser aplicada cuando se tenga un alto movimiento de cambios
(ordenes INSERT, UPDATE y DELETE) en la data. Podría programarse copias
durante el día y a finales de cada día copias diferenciales

MS SQL Server 2005 - Administración

Página | 55
ESTRATEGIA DIFFERENTIAL BACKUP

Podemos realizar cambios en el día y almacenarlo con copias tipo transaccional, a


fines del día una Copia de Seguridad diferencial y cada fin de semana un Backup FuIl
ESTRATEGIA DE UN ARCHIVO DE BD O FILEGROUP BACKUP
Esta estrategia es aplicada cuando se tienen Bases de Datos grandes y se ha
particionado en diferentes File Groups la Base de Datos.
Deberá de asegurarse de realizar copias de seguridad a todos los Group Files de la
Base de datos intervinientes, de tal manera que si surgiera algún inconveniente se
pueda restaurar la Base de datos sin problema.

MS SQL Server 2005 - Administración

Página | 56
CONSIDERACIONES FINALES
 Se debe aplicar una operación de Backup cuando la concurrencia a la BD sea
mínima, ya que dependiendo del volumen de datos, transacciones y tipos
puede demandar cierta cantidad de tiempo en su ejecución.
 Es preferible tener una tarea programada para la ejecución de los backups,
teniendo presente el espacio de almacenamiento si genera una Copia de
Seguridad en Disco duro.
 Es recomendable tener programada una tarea para la generación del Backup.
 Los únicos que tienen permiso a generar Copia de Seguridad son los que
tienen permiso de SystemAdministrator o los de db_backoperator

MS SQL Server 2005 - Administración

Página | 57
PRACTICA05:
Reforzando Conceptos de SQL Server 2005
Objetivos:

Después de realizar esta práctica, el alumno será capaz de:


Hacer una copia de seguridad de una base de datos.
Hacer una copia de seguridad de un registro de transacciones.
Hacer una copia de seguridad diferencial.

Actividad a Realizar:
1. En este procedimiento va a realizar una copia de seguridad completa de la
base de datos Northwind con la información de la tabla siguiente.

CAMPO VALOR
Base de datos Northwind
Nombre NorthwindFull
Descripción Primera copia de seguridad de
Northwind
Tipo de copia completa
Sobrescribir Sobrescribir medio existente

2. Hacer una copia de seguridad de un registro de transacciones de la base de


datos Northwind con la información de la tabla siguiente.
CAMPO VALOR
Base de datos Northwind
Nombre NwindLog
Descripción Registro de transacciones de Northwind
Tipo de copia Registro de transacciones
Sobrescribir Sobrescribir medio existente

3. Hacer una copia de seguridad diferencial de la base de datos Northwind con la


información de la tabla siguiente.

CAMPO VALOR Base de


datos Northwind Nombre
Nwind diferencial
Descripción Cambios desde la última copia de
seguridad completa de la base de datos
Tipo de copia diferencial
Sobrescribir Sobrescribir medio existente

MS SQL Server 2005 - Administración

Página | 58
Capitulo 6
Restauración de base de datos

 Preparación para la restauración de una base de datos-Restauracion de


Copias de Seguridad
 Restauración desde distintos tipos de Copia de Seguridad

RESTAURANDO BASE DE DATOS

En este capítulo aprenderemos a restaurar backups en caso el servidor de la BD sufra


caídas.Veremos como es el proceso de recuperación y como restaurar las BD desde
un Backup en SQL Server.

PREPARACIÓN PARA LA RESTAURACIÓN DE UNA BASE DE DATOS


 Es conveniente comprobar las copias de seguridad para confirmar que se van a
restaurar los datos y objetos que se desea, y que la copia de seguridad
contiene información válida.
 Antes de restaurar una copia de seguridad, debe realizar tareas específicas
que le permitirán comenzar el proceso de restauración.

EL PROCESO DE RECUPERACIÓN Y RESTAURACIÓN


RECUPERACIÓN
Es un proceso interno que ocurre cada vez que ha bajado el servicio y existen
transacciones pendientes de ser almacenadas en los datos. Las siguientes acciones
son ejecutadas:
 Se examina el Transaction Log.
 Las transacciones aceptadas (commited) son escritas en la BD
 Las transacciones rechazadas (uncommited - rollback) son anuladas.
Generalmente las transacciones que van en contra de las reglas de integridad
de datos son rechazadas

RESTAURACIÓN
SQL Server ejecuta ciertas acciones automáticamente para asegurar que su BD sea
restaurada rápidamente y cause poco impacto en las actividades de producción.

MS SQL Server 2005 - Administración


Página | 59
CHEQUEO SEGURO
SQL verifica el entorno y en caso de las siguientes situaciones no restaura:
 Cuando intenta restaurar con otro nombre y esa nombre de BD ya existe.
 Si el conjunto de archivos de la BD es diferente al conjunto de archivos del
backup (si se desea reescribir es necesario incluir esta opción)

RECREACIÓN DE LA BASE DE DATOS


Cuando Ud. restaura una BD desde un Complete Backup, SQL Server re-crea los
archivos de BD originales y los ubica en el lugar donde fueron grabados cuando el
Backup fue realizado. Se produce una especie de copiado sobre la base donde se
está restaurando.

PREPARÁNDOSE PARA RESTAURAR UNA BASE DE DATOS


Asegurarse de:
 Tenga permiso de SYSADMIN o tener el role de db_owner.
 Restringir acceso a la BD.
 Backup el Transaction Log, que permitirá capturar los cambios entre el último
Transaction Log backup y cuando la BD fue restringida.

RESTAURANDO BACKUPS
Se realiza a partir de un Backup generado anteriormente y puede hacerlo de dos
formas:
 Utilizando la orden RESTORE
 Utilizando el SQL Server Management Studio.

USO DEL SQL SERVER MANAGEMENT STUDIO:


 Selecciona la carpeta donde diga Base de Datos (DataBase)
 Haga Clic en el botón derecho Restaurar base de datos
 Aparecerá la siguiente ventana.

MS SQL Server 2005 - Administración

Página | 60
RECUPERANDO BASE DE DATOS DE USUARIO DAÑADAS
Restaure indicando Restore Over de Exisiting DB, en este caso
 Selecciona la BD de usuario dañada a restaurar.
 Haga Clic en el botón Tareas-Restaurar-Base de datos
 Agregar y ubicar el archivo back
 Seleccionar el backup a restaurar
 Hacer clic en opciones con lo que aparecerá:

MS SQL Server 2005 - Administración

Página | 61
 Se recrea automáticamente los archivos de BD y los objetos
 No necesita eliminar la BD dañada.

INICIANDO EL PROCESO DE RECUPERACIÓN


Si se desea incluir esta opción mediante el SQL Server Management Studio,
seleccionar la opción:
 Leave the database ready to use by rolling back uncommitted transactions.
Additional transaction logs cannot be restored (RESTORE WITH RECOVERY)
De esta manera se asegura un estado consistente cuando recupere
 El último transaction log backup
 Un complete database backup y transaction log backup
 Un differential database backup y transaction log backup.

Esta opción causa un RolISack a cualquier transacción uncommited y acepta las


transacciones Commited.

MS SQL Server 2005 - Administración

Página | 62
EJECUTANDO LA RESTAURACIÓN DE BACKUP DE DIFERENTES TI POS

RESTAURANDO DESDE UN COMPLETE DATABASE BACKUP


Cuando Usar esta opción:
 Daños físico de disco
 Toda la BD es dañada, corrompida, o eliminada
Especificar Opciones de Recuperación: RECOVERY, NORECOVERY

RESTAURANDO DESDE UN DIFFERENTIAL DATABASE BACKUP


 Restaurar Sólo la Parte de la BD que ha tenido cambios a partir del último FuIl
Database Backup
 Retorna la BD en el mismo estado al momento de generar el Differential
Backup
 Toma menos Tiempo que Aplicar una Serie de Transaction Logs

RESTAURANDO A PARTIR DE UN TRANSACTION LOG


 Es necesario restaurar el FuIl Database Backup primeramente
 Cuando tenga múltiples Transaction Logs backup especifique NO RECOVERY
ha excepción del último.

RESTAURANDO BASES DE DATOS DEL SISTEMA

RECONSTRUYENDO UN SYSTEM DATABASES


Si la BD master es dañada y no puede iniciar SQL Server, haga lo siguiente:
 Reiniciar el servicio SQL Server 2005
 Restaurar los backups de las DB del sistema(master, model, msdb)

RESTAURANDO SYSTEM DATABASES DESDE UN BACKUP


Después de reconstruir la DB e iniciar SQL Server 2005, proceda así.
 Restaurar la BD master, si no existe reconstruya algunos objetos como los
logins.
 Restaurar la BD msdb desde un backup, sino tiene backup es probable que se
pierdan todos las tareas programadas ya que con rebuild.exe se re-crean toda
la BD
 Restaurar la BD model desde un backup sino tiene un backup vuelva a incluir
los cambios efectuados desde la instalación

MS SQL Server 2005 - Administración

Página | 63
Uso de la instrucción RESTORE

Restauración de bases de datos de usuario dañadas


No es necesario quitar la base de datos dañada
SQL Server vuelve a crear automáticamente los archivos y objetos de la base de datos

Para realizar operaciones de restauración, puede utilizar la instrucción RESTORE o el


Administrador corporativo de SQL Server.

Restauración de una copia de Seguridad Completa de la base de datos


Especificación de las opciones de recuperación

La opción RECOVERY inicia el proceso de recuperación para que la base de datos


recobre un estado coherente:
 Si adopta una estrategia de copia de seguridad completa y no dispone de
copias de seguridad diferenciales ni del registro de transacciones, especifique
la opción RECOVERY.
 Si existe alguna copia de seguridad diferencial o del registro de transacciones,
especifique la opción NORECOVERY para posponer el proceso de
recuperación hasta que se haya restaurado la última copia de seguridad.

MS SQL Server 2005 - Administración

Página | 64
En el ejemplo anterior se supone que existe una copia de seguridad completa en el
archivo de copia de seguridad permanente NwindBac y que se agregan dos copias de
seguridad a ese archivo. La base de datos Northwind se reemplaza completamente
por la segunda copia de seguridad del archivo permanente NwindBac. Por último, el
proceso de recuperación devuelve la base de datos a un estado coherente (aplica los
cambios confirmados y deshace las actividades sin confirmar).

Restauración de una copia de Seguridad Diferencial

Consideraciones para restaurar copias de seguridad diferenciales


Al restaurar a partir de una copia de seguridad diferencial, tenga en cuenta los
siguientes hechos e instrucciones:
 Restaure la copia de seguridad completa antes de restaurar una copia de
seguridad diferencial.
 La sintaxis para restaurar una copia de seguridad diferencial es la misma que
para restaurar una copia de seguridad completa. En lugar de especificar la
copia de seguridad completa en la cláusula FROM, especifique el archivo que
contiene la copia de seguridad diferencial.
 Especifique la opción NORECOVERY cuando haya registros de transacciones
que haya que restaurar; en caso contrario, especifique la opción

MS SQL Server 2005 - Administración

Página | 65
Restauración de una copia de Seguridad Diferencial

Consideraciones para restaurar registros de transacciones


Aunque la restauración de una copia de seguridad diferencial puede acelerar el
proceso de restauración, es posible que para asegurar la coherencia de los datos
tenga que restaurar copias de seguridad adicionales del registro de transacciones
creadas después de la copia de seguridad diferencial.
Antes de restaurar registros de transacciones, debe restaurar la copia de seguridad
completa de la base de datos. Cuando tenga varios registros de transacciones que
deba aplicar, especifique la opción NORECOVERY para todos ellos, excepto en el
último. SQL Server retrasará el proceso de recuperación hasta que se restaure el
último registro de transacciones.

MS SQL Server 2005 - Administración

Página | 66
PRACTICA06:

Restauración de base de Datos

Objetivos:
Después de realizar esta práctica, el alumno será capaz de:

 Restaurar una base de datos a partir de una copia de seguridad completa.


 Recuperar información acerca de conjuntos de copia de seguridad.
 Restaurar copias de seguridad diferenciales y de registros de transacciones.

Recomendaciones:
A continuación presentamos el esquema general de la práctica, trate de seguir
cuidadosamente los pasos expuestos.
 Todas las actualizaciones se harán en la Base de Datos Northwind
 Fijarse en los cambios que se producen después de realizar el BackUp
respectivo
 Al momento de hacer las restauraciones, asegurarse que no exista ninguna
conexión adicional a NorthWind
 Para las restauraciones deberá de forzar la actualización, tal como se muestra
a continuación y asegurarse que la ruta especificada en Restore As existe en
el servidor donde se intenta hacer la restauración
Pasos a desarrollar
1. Crear un Dispositivo de Back up llamado: SeguridadNorthWind en la BD
NorthWind
2. Efectuar un Back Up Full Database Back up
3. Efectuar la sgte transacción
Desde el Query Analyzer, y en la BD NorthWind,
 Verifique el Nro de registros y anotarlo
SELECT COUNT(*) FROM categories

 Añadir un registro a la tabla categories


INSERT categories (CategoryName, Description) VALUES
('Bebidas','Agua, Cerveza, Ron')

 Observe que la tabla categories ha crecido


SELECT COUNT(*) FROM categories

MS SQL Server 2005 - Administración

Página | 67
4. Efectuar un Back up Differential
5. Efectuar la sgte transacción

UPDATE categories
SET CategoryName = 'Condimentos' WHERE Categoryid = 2

Consulte los datos y observe los cambios


efectuados

6. Efectuar un Back up Differential


7. Añada un registro más a la tabla categories
INSERT categories (CategoryName, Description) VALUES ('Galletas','Soda, Vainilla,
Rellena')

8. Efectuar un Back up Differential


9. Efectuar la siguiente transacción
Elimine el registro con código de categoría igual a 10
DELETE FROM CATEGORIES
WHERE CATEGORYID = 10

10. Efectuar un Back Up Full Database Back up


11. Realice la Restauración en el punto 2

12. En el Analizador de Consultas aplique la sgte consulta:


SELECT * FROM categories
Observe que los datos permanecen originalmente y todos los cambios
posteriores han sido desechados.
13. Restaurar la BD en el punto 4

MS SQL Server 2005 - Administración

Página | 68
14. Observe los cambios aceptados y rechazados

Pregunta de Aplicación
Si maneja diferentes grupos de archivos, ¿cómo haría el proceso de restauración?
¿Qué forma de backup recomendaría usted?

MS SQL Server 2005 - Administración

Página | 69
Capitulo 7
Restauración de base de datos

 Herramientas de Importación y Exportación de datos en SQL Server

TRANSFERENCIA DE DATOS

Dentro de lo que significan las operaciones de intercambio de datos en un sistema de


información estas podrían generarse entre diferentes orígenes de datos, es decir,
podría haber algunos sistemas de información en Access, otros en SQL Server y de
repente tengamos la necesidad de hacer un Sistema de Soporte de Decisiones con
todos los sistemas. Posiblemente nos interese conocer una forma de transferir la
información de Access a SQL Server y de repente presentar información en Excel. De
repente tengamos otro escenario en donde queremos migrar información hacia una
nueva plataforma de datos utilizando el mismo modelo de datos.

LA TRANSFERENCIA DE DATOS
Dentro de SQL Server existen una serie de herramientas que permiten realizar estas
labores. Primero es necesario conocer:

TRANSFIERE DATOS
Dentro de la organización de una empresa es posible que existan sucursales y una
sede en donde deben de unir todas las operaciones de las demás sucursales.
Entonces es necesario que la información sea transferida.

El proceso de copiar datos desde un entorno a otro implica:

 Identificar el origen de los datos


 Especificar el destino de los datos
 Manipular o transformar los datos entre el origen y el destino (opcional)

TRANSFORMAR DATOS
La migración y transferencia de datos entre entornos diferentes involucra la
manipulación o transformación de datos. Esto puede resultar simple o verse en la
necesidad de crear programas.

MS SQL Server 2005 - Administración

Página | 70
Para transformar datos podría ejecutar una o más de las siguientes tareas:
 Cambiar el Formato de Datos
 Preparar Data Consistente
 Validando Datos

TRANSFERENCIA DE DATOS UTILIZANDO EL WIZARD


Pasos a Seguir para la importar de Access a SQL:
1. Clic derecho sobre la base de datos elegimos Task / Import Data
2. Se presenta la siguiente pantalla, seleccionar siguiente

3. Ahora deberá seleccionar el origen de datos

Base de Datos
Neptuno

MS SQL Server 2005 - Administración

Página | 71
4. Luego seleccionar el Destino de los Datos

5. Especificar opciones de copiado de Tabla

MS SQL Server 2005 - Administración

Página | 72
6. Seleccionar la(s) tabla(s) a exportar y como son de un origen distinto debe de
transformar los datos, para ellos seleccione Edit (Columna Asignation)

7. Manejo del Column Mapping y Transformaciones: verifique las equivalencias


de los tipos de datos y transformar las columnas deseadas.

MS SQL Server 2005 - Administración

Página | 73
8. A continuación se va a ejecutar las opciones seleccionadas en los pasos
anteriores.

9. Finalmente aparecerá la siguiente pantalla indicando un resumen de las


opciones antes especificadas y empezará la ejecución del DTS Import.

MS SQL Server 2005 - Administración

Página | 74
10. A continuación empezará la ejecución de las actividades señaladas y el Wizard
indicará las opciones que se van completando.

Ejercicio 1: Transferencia de Datos (Exportar)


Datos de Origen:
1. Base de Datos : Pubs
2. Origen : Microsoft OLE DB Provider SQL Server
Datos destino:
1. Base de Datos : Neptun (si no existe hay que crearla)
2. Origen : Microsoft Access

TRANSFERENCIA DE DATOS UTILIZANDO BUSINESS INTELLIGENCE


Pasos a Seguir para importar de Access a SQL Server:
1. Ingresamos a Business Intelligence.
2. Clic en new Project, saldrá una ventana como la siguiente.

MS SQL Server 2005 - Administración

Página | 75
3. Elegimos la opción Integration Services Project.
4. En la opción Name ingresamos el nombre del Proyecto, clic en OK
5. En esta ventana Podemos apreciar nuestro proyecto

6. Luego Clic Derecho sobre la carpeta SSIS Packages y elegimos la opción


SSIS Import and Export Wizard

7. Saldrá el asistente de Wizard para importar y exportar la data


8. Seguir todos los pasos anteriores hasta terminar de importar la data.
9. Cuanto terminamos todo el proceso saldrá una ventana como la siguiente.

MS SQL Server 2005 - Administración

Página | 76
10. Clic en la pestaña Data Flow para poder ver la data transformada

Para finalizar ejecuta los DTS

MS SQL Server 2005 - Administración

Página | 77
PRACTICA07:

TRANSFERENCIA DE DATOS
Objetivos:

Después de realizar esta práctica, el alumno será capaz de:


Realizar importaciones entre SQL Server y distintos orígenes de datos
Realizar exportaciones entre Bases de Datos SQL Server

Actividad a Realizar:

1. Transferencia de Datos desde una base de datos de Access al SQL Server


Identificando datos (Utiliza wizard y business intelligence)
Origen: Neptuno.mdb (Microsoft Access)
Destino: NeptunoSQL (Microsoft OLE DB Provider for SQL Server)

2. Esportando datos entre Bases de Datos SQL Server


Identificando datos
Origen: Ventas
Destino: VentasCopia

MS SQL Server 2005 - Administración

Página | 78
Capitulo 8
MANTENIMIENTO DE SQL SERVER

 Herramientas de monitorización de SQL Server-Generando una Query


History
 Creación y mantenimiento de un plan SQL Server.

MONITOREAR EN SQL SERVER

La meta fundamental del monitoreo es la optimización del servicio de proveedor de


datos de SQL Server que da una aplicación. Se trata de minimizar los tiempos de
respuesta para cada consulta reduciendo el tráfico de red y los I/O del disco del
servidor.

CREACIÓN DE UN PLAN DE MANTENIMIENTO DE SQL SERVER


Hay dos maneras de crear un plan de mantenimiento: mediante el Asistente para
planes de mantenimiento o la superficie de diseño. El uso del asistente es más
conveniente si desea crear planes de mantenimiento básicos, mientras que la
superficie de diseño le permite utilizar un flujo de trabajo mejorado. El Asistente para
planes de mantenimiento puede utilizarse para ayudarle a configurar las principales
tareas de mantenimiento para garantizar el buen funcionamiento de la base de datos,
la realización periódica de copias de seguridad en caso de error del sistema y la
comprobación de incoherencias. El Asistente para planes de mantenimiento crea uno
o varios trabajos del Agente SQL Server que realizan estas tareas de mantenimiento
automáticamente a intervalos programados.
Tenga en cuenta que los planes de mantenimiento sólo se muestran si el usuario ha
establecido conexión mediante la autenticación de Windows. El Explorador de objetos
no muestra planes de mantenimiento si el usuario ha establecido conexión mediante la
autenticación de SQL Server.

PASOS PARA CREAR UN PLAN DE MANTENIMIENTO

1. En el Explorador de objetos, expanda el servidor y, a continuación, expanda


Administración.

MS SQL Server 2005 - Administración

Página | 79
2. Haga clic con el botón secundario en Planes de mantenimiento y seleccione
Nuevo plan de mantenimiento.

3. En el cuadro de diálogo Nuevo plan de mantenimiento, escriba el nombre del


plan.
Se abre el cuadro de herramientas y también la superficie <Nombre de plan de
mantenimiento> [Diseño]

MS SQL Server 2005 - Administración

Página | 80
4. En la ficha Diseño, escriba una descripción del plan.

Espacio de
traba o

Caja de
herram entas

5. Para generar un plan, arrastre elementos del flujo de tareas del Cuadro de
herramientas y colóquelos en la superficie de diseño del plan para definir las
tareas a realizar.

Cuadro de
tareas

MS SQL Server 2005 - Administración

Página | 81
6. Haga doble clic en las tareas para abrir los cuadros de diálogo que le permitirán
configurar las opciones de las tareas.

7. Para definir el flujo de trabajo que existe entre una tarea y otra, haga clic en la
tarea que desea que se realice en primer lugar, mantenga presionada la tecla
Ctrl y haga clic en la tarea que desea que se realice más tarde. Luego, haga clic
con el botón secundario en cualquiera de las tareas y, a continuación, en
Agregar restricción de precedencia.

Conectores
nte gentes

MS SQL Server 2005 - Administración

Página | 82
8. Haga clic en Conexiones para agregar conexiones a distintos servidores.
9. Haga clic en Registro para especificar las opciones de informe. También puede
seleccionar Registrar información adicional para guardar una mayor cantidad
de información detallada, como la lista de bases de datos que ya cuentan con
una copia de respaldo.
10. Luego de haber puesto todas las opciones y el plan este listo procedemos a
ejecutarlo.

ESTRATEGIAS PARA LA PERFORMANCE DEL AFINAMIENTO


El afinamiento busca incrementar la performance, para ello existen 2 indicadores
- Tiempo de Respuesta: Mide el tiempo transcurrido para retornar el primer
registro del recordset.
Para optimizar este tiempo es necesario conocer la aplicación, entorno, usuarios y
data. Es necesario conocer la información de las consultas y realizar los ajustes
necesarios.
- ThroughPut: Mide el número total de consultas que un servidor puede
mantener en un periodo de tiempo dado.
Para optimizar este tiempo es necesario conocer como SQL Server accesa a la
data, las actividades concurrentes e como se interactúa con el sistema operativo.
Seleccionando un Método adecuado para la Performance de Afinamiento
Se recomienda:
Afinar la aplicación del cliente:
- Consultas limitadas con condiciones de búsqueda
- Usar Stored Procedures que reduzcan la contención y el incremento
concurrente.

MS SQL Server 2005 - Administración

Página | 83
- Dar de baja a la data en el servidor cuando esta no sirva.
Afinar la Base de datos
- Refinar el diseño lógico y físico de la base de datos
- Revisar la normalización de la base de datos
Afinar SQL Server
- Evaluar el espacio de almacenamiento
- Ajustar la configuración de algunas instancias
Afinar la configuración del hardware
- Añadir más memoria
- Añadir procesadores
- Obtener disco de acceso más rápidos
- Revisar la configuración de la red.

HERRAMIENTAS PARA EL MONOTOREO

WINDOWS 2000 EVENT VIEWER


Permite identificar eventos que son causados por la ejecución de los programas y que
de alguna pueden incidir en forma negativa en la correcta operatividad de los mismos.
El event Viewer permite describir 3 tipos de eventos.
- Aplication Log (Registro de aplicación)
- System Log (Registro del sistema)
- Security Log (Registro de seguridad)

Veamos el siguiente cuadro que permite describir cada una de las tareas siguientes

TIPO DESCRIPCIÓN
Registro de aplicación Guarda eventos que aplicaciones como SQL
Server registra. Por ejemplo podría crearse una
alerta y configurarse para que se registre aquí
Registro de Sistema Guarda eventos de los componentes del sistema
operativo Windows. Por ejemplo la caída de una
unidad de disco o la configuración de un
dispositivo que genera conflicto.
Registro de Seguridad Guarda eventos de seguridad en Windows 2000.
Por ejemplo: tratar de ingresar al sistema en
forma no autorizada.

MS SQL Server 2005 - Administración

Página | 84
Para acceder a esta herramienta siga los siguientes pasos:
- Clic en el botón inicio
- Seleccione Programas.
- Seleccione Herramientas Administrativas
- Visor de sucesos con lo que se mostrará la interfaz siguiente.

CURRENT ACTIVITY CON SQL SERVER

Esta herramienta permite visualizar gráficamente la información de la instancia en


ejecución del servidor. Muestra información del usuario, la base de datos, el equipo
que se ha conectado, la aplicación, bloqueos, el nodo de red entre otras cosas.

Para acceder a esta herramienta siga los siguientes pasos:


- En el Managament Studio elija la ficha: Management
- Expanda y ubique Current Activity
Expanda y elija

MS SQL Server 2005 - Administración

Página | 85
Capitulo 9
SUPERVISIÓN DEL RENDIMIENTO DE SQL SERVER

 Razones para supervisar SQL Server – Supervisión y Optimización del


rendimiento-Tareas de Herramientas de supervisión – supervisión y
optimización.

SQL Server actúa como un servicio para proporcionar datos a las aplicaciones. El
ajuste del rendimiento tiene como objetivo la optimización de dicho servicio para la
aplicación. La optimización debe concentrarse en reducir al mínimo el tiempo de
respuesta de cada consulta y aumentar lo máximo posible el rendimiento de todo el
servidor de bases de datos mediante la reducción del tráfico de red, la entrada y salida
(E/S) en disco, y el tiempo de CPU. Para conseguir este objetivo, debe comprender los
requisitos de la aplicación, la estructura lógica y física de los datos, y el equilibrio entre
los usos conflictivos de la base de datos, por ejemplo, entre el proceso de
transacciones en línea (OLTP, Online Transaction Processing) y la toma de
decisiones.

Los problemas de rendimiento deben considerarse durante el ciclo de desarrollo, no


sólo en la fase final de implementación del sistema. Muchas de las soluciones que
mejoran significativamente el rendimiento se obtienen gracias a un diseño
pormenorizado desde el comienzo del proyecto. Por lo general, SQL Server administra
automáticamente los recursos de hardware disponibles. Es evidente que otros
problemas de rendimiento del sistema, como la memoria y el hardware, afectan al
rendimiento, aunque las mejoras que pueden obtenerse en estas áreas a menudo son
incrementales.

SUPERVISIÓN Y OPTIMIZACIÓN DEL RENDIMIENTO


El objetivo de la optimización es mejorar el rendimiento. Hay muchos factores que
pueden afectar al rendimiento, por lo que necesitará varias estrategias para optimizar
una instancia de la base de datos. Dichas estrategias deben mejorar el rendimiento en
ambos extremos de la aplicación, el servidor y el usuario o cliente empresarial. Hay
dos indicadores del rendimiento:

MS SQL Server 2005 - Administración

Página | 86
COMPUTREIN

Tiempo de respuesta. Mide el intervalo de tiempo necesario para devolver la primera


fila del conjunto de resultados.
Normalmente, se llama tiempo de respuesta al tiempo que percibe el usuario hasta
que recibe una confirmación visual de que una consulta se ha procesado.
Rendimiento. Mide el número total de consultas que el servidor puede procesar en
un intervalo de tiempo dado.
Deberá supervisar ambas áreas, ya que los problemas de conflictos aumentan a
medida que el número de usuarios se incrementa; esto podría causar un aumento de
los tiempos de respuesta del servidor y una reducción del rendimiento global. Si
supervisa exclusivamente el rendimiento del servidor no tendrá información acerca del
rendimiento de la aplicación para los usuarios.
Y al contrario, si supervisa exclusivamente la aplicación averiguará cuáles son los
problemas, pero no podrá resolverlos.

OPTIMIZACIÓN DEL TIEMPO DE RESPUESTA


Para optimizar las necesidades comerciales y los tiempos de respuesta es necesario
conocer la aplicación, el entorno, los usuarios y los datos. Para usar este enfoque
debe disponer de información acerca de las consultas que los usuarios emiten y
realizar, a continuación, los ajustes necesarios en las consultas y la aplicación. Por lo
general, el objetivo consiste en mejorar el rendimiento de consultas específicas o de
aplicaciones seleccionadas.

OPTIMIZACIÓN DEL RENDIMIENTO


La optimización del rendimiento y el procesamiento del servidor requiere
conocimientos acerca de cómo SQL Server tiene acceso a los datos, controla las
actividades simultáneas e interactúa con el sistema operativo. Esto podrá ayudarle a
crear un diseño lógico y físico más eficaz para configurar el sistema, diseñar
transacciones y escribir consultas con el fin de optimizar el rendimiento.

METODO PARA MEJORAR EL TIEMPO DE RESPUESTA DE LA


APLICACIÓN

Es posible plantear la optimización de la empresa y el servidor en varios elementos, ya


que factores como el diseño de la aplicación, los recursos del sistema y el sistema
operativo Microsoft Windows 2000 pueden afectar al rendimiento. Para mejorar el
rendimiento puede:

MS SQL Server 2005 - Administración

Página | 87
Optimizar la aplicación de cliente. Para ello debe:
 Escribir consultas que limiten las búsquedas.
 Crear índices útiles.
 Reducir el número de conflictos de bloqueo y evitar los interbloqueos.
 Usar procedimientos almacenados que reduzcan los conflictos y aumenten la
simultaneidad.
 Descargar y procesar datos desde el servidor siempre que sea apropiado.

Optimizar la base de datos. Esto puede mejorar el tiempo de respuesta de las


consultas. Para optimizar la base de datos, perfeccione el diseño lógico y físico.

Optimizar SQL Server. Para optimizar SQL Server puede evaluar el diseño de
almacenamiento o, en algunos casos, ajustar las opciones de configuración.

Optimizar la configuración del hardware. El cambio de la configuración de hardware


también puede mejorar el rendimiento del sistema. Por ejemplo, puede agregar más
memoria, procesadores o equipos; conseguir discos duros más rápidos; o incrementar
el rendimiento de red.
Al planear el ajuste y la optimización de la base de datos, debe considerar los
elementos citados anteriormente como cuellos de botella e identificar su impacto en el
rendimiento del servidor y en los tiempos de respuesta de los usuarios.

HERRAMIENTAS DE SUPERVISIÓN Y OPTIMIZACIÓN DEL RENDIMIENTO


Microsoft SQL Server incluye un completo conjunto de herramientas para supervisar
los eventos de SQL Server y para optimizar el diseño de la base de datos física. La
elección de la herramienta depende del tipo de supervisión u optimización que se
realice y de los eventos particulares que se supervisen.
A continuación se describen algunas herramientas de supervisión y optimización de
SQL Server:
Herramienta Descripción

Analizador de SQL El Analizador de SQL Server realiza un seguimiento de los eventos de procesos
Server del motor, como el inicio de un lote o una transacción, que permite supervisar la
actividad del servidor y de la base de datos (por ejemplo errores graves o actividad
de inicio de sesión). Puede capturar datos del Analizador de SQL Server en un
archivo o una tabla de SQL Server para su análisis posterior y también reproducir
paso a paso los eventos capturados en SQL Server, para ver qué sucedió
exactamente.

MS SQL Server 2005 - Administración

Página | 88
Supervisar el Uso de La función principal del Monitor de sistema es hacer un seguimiento del uso de los
Recursos(Monitor del recursos, que permite supervisar el rendimiento y actividad del servidor mediante
Sistema) objetos y contadores predefinidos o contadores definidos por el usuario para
supervisar eventos.

Monitor de Actividad El Monitor de actividad de SQL Server Management Studio muestra información
(SQL Server gráfica acerca de:
Management Studio)  Los procesos que se ejecutan en una instancia de SQL Server.

 Los procesos bloqueados.

 Bloqueos.

 La actividad de los usuarios.


Esto resulta útil para vistas ad hoc de la actividad actual.

Supervisar los El registro de sucesos de aplicación de W indows proporciona una imagen global
registros de Errores de los eventos que ocurren en todos los sistemas operativos Windows Server y
Windows, así como de los eventos de SQL Server, el Agente SQL Server y la
búsqueda de texto. C ontiene inf ormación acerca de los eventos de SQL Server
que no está disponible en ningún otro lugar. Puede utilizar la información del
registro de errores para solucionar problemas relacionados con SQL Server.

Optimizar el diseño El Asistente para la optimización de motor de base de datos analiza los efectos en
físico de las bases de el rendimiento de las instrucciones Transact-SQL ejecutadas en las bases de
datos datos que desea optimizar. El Asistente para la optimización de motor de base de
datos proporciona recomendaciones para agregar, quitar o modificar índices,
vistas indicadas y particiones.

SUPERVISAR EL USO DE RECURSOS (MONITOR DE SISTEMA)


Si está ejecutando el sistema operativo de servidor de Microsoft Windows, utilice la
herramienta gráfica Monitor de sistema para medir el rendimiento de SQL Server.
Puede ver los objetos de SQL Server, los contadores de rendimiento y el
comportamiento de otros objetos, como procesadores, memoria, caché, subprocesos y
procesos. Cada uno de estos objetos tiene asociado un conjunto de contadores que
miden el uso de los dispositivos, la longitud de las colas, las demoras y otros
indicadores del rendimiento y la congestión interna.

CÓMO ABRIR EL MONITOR DE ACTIVIDAD (SQL SERVER MANAGEMENT


STUDIO)

Use el componente Monitor de actividad de Microsoft SQL Server Management Studio


para obtener información sobre las conexiones de los usuarios al Database Engine
(Motor de base de datos) y los bloqueos que mantienen. El Monitor de actividad tiene

MS SQL Server 2005 - Administración

Página | 89
tres páginas. La página Información del proceso contiene información acerca de las
conexiones. En la página Bloqueos por proceso se ordenan los bloqueos por
conexión. En la página Bloqueos por objeto se ordenan los bloqueos por el nombre
del objeto. Haga clic en el botón Filtrar para aplicar un filtro con el fin de reducir la cantidad
de información mostrada.
Para abrir el Monitor de actividad
1. En SQL Server Management Studio, conéctese al servidor mediante el
Explorador de objetos, expanda Administración y, a continuación, haga doble clic
en Monitor de actividad.

Tabla de la
act v dad

VER EL REGISTRO DE ERRORES DE SQL SERVER


Consulte el registro de errores de SQL Server para asegurarse de que los procesos se
han completado correctamente
Para ver el registro de errores de SQL Server, utilice SQL Server Management Studio
o cualquier procesador de texto. De forma predeterminada, el registro de errores está
ubicado en los archivos Program Files\Microsoft SQL
Server\MSSQL.n\MSSQL\LOG\ERRORLOG y ERRORLOG.n.

MS SQL Server 2005 - Administración

Página | 90
CÓMO VER EL REGISTRO DE ERRORES DE SQL SERVER (SQL SERVER
MANAGEMENT STUDIO)

El registro de errores de SQL Server contiene eventos definidos por el usuario y


determinados eventos del sistema. El registro de errores se puede utilizar para
solucionar problemas relacionados con SQL Server.
Para ver el registro de errores de SQL Server
1. En el Explorador de objetos, expanda un servidor, expanda Administración
y, a continuación, expanda Registros de SQL Server.
Haga clic con el botón secundario en un registro y, a continuación, haga clic en Ver
registro de SQL Server.

MS SQL Server 2005 - Administración

Página | 91
Capítulo 10

DATOS DISTRIBUIDOS

 Introducción -Replicación en SQL Server-Tipos de Replicación

INTRODUCCIÓN
La réplica utiliza una metáfora del sector editorial para representar los componentes de una
topología de réplica, que incluyen el publicador, el distribuidor, los suscriptores, las publicaciones,
los artículos y las suscripciones. Resulta útil pensar en la réplica de Microsoft SQL Server
como si fuera una revista:
 El publicador (editor) de una revista produce una o más publicaciones.
 Una publicación contiene artículos.
 El publicador distribuye la revista directamente o a través de un distribuidor.
 Los suscriptores reciben las publicaciones a las que se han suscrito.
Aunque la metáfora de la revista es útil para comprender la réplica, es importante señalar
que la réplica de SQL Server incluye funciones que no están representadas en esta metáfora, en
particular, la posibilidad de que un suscriptor realice actualizaciones y de que un publicador
envíe cambios incrementales a los artículos de una publicación.
Una topología de réplica define la relación entre los servidores y las copias de los
datos, y aclara la lógica que determina cómo fluyen los datos entre los servidores. Hay varios
procesos de réplica (denominados agentes) que son responsables de copiar y mover los datos
entre el publicador y los suscriptores. En la siguiente ilustración se muestra información general
acerca de los componentes y procesos que participan en la réplica.

MS SQL Server 2005 - Administración

Página | 92
Publicador
El publicador es una instancia de base de datos que permite que los datos estén
disponibles para otras ubicaciones a través de la réplica. El publicador puede tener
una o más publicaciones, cada una de las cuales representa un conjunto de objetos y
datos relacionados lógicamente para replicar.
Distribuidor
El distribuidor es una instancia de base de datos que funciona como almacén para
datos específicos de réplica asociados con uno o más publicadores. Cada publicador
está asociado con una sola base de datos (conocida como la base de datos de distribución)
en el distribuidor. La base de datos de distribución almacena los datos de estado de la
réplica, metadatos acerca de la publicación y, en algunos casos, funciona como cola para
los datos que se transfieren del publicador a los suscriptores. En muchos casos,
una sola instancia de servidor de bases de datos funciona como publicador y como
distribuidor Esto se conoce como un distribuidor local. Cuando el publicador y el
distribuidor se configuran en instancias distintas del servidor de bases de datos, el
distribuidor se denomina un distribuidor remoto.
Suscriptores
Un suscriptor es una instancia de base de datos que recibe datos replicados. Un
suscriptor puede recibir datos de varios publicadores y publicaciones. En función del
tipo de réplica elegida, el suscriptor también puede devolver los datos modificados al
publicador o volver a publicar los datos en otros suscriptores.
Artículo
Un artículo identifica un objeto de base de datos incluido en una publicación. Una
publicación puede contener diferentes tipos de artículos, como tablas, vistas,
procedimientos almacenados y otros objetos. Cuando las tablas se publican como
artículos, se pueden usar filtros para restringir las columnas y filas de datos que se
envían a los suscriptores.
Publicación
Una publicación es un conjunto de uno o más artículos de una base de datos. La
agrupación de varios artículos en una publicación permite especificar más fácilmente
un conjunto de objetos y datos de bases de datos relacionados lógicamente, que se
replican como una unidad.
Suscripción
Una suscripción es una solicitud de una copia de una publicación que se entrega a un
suscriptor. La suscripción define qué publicación se recibirá, dónde y cuándo. Hay dos
tipos de suscripciones: de inserción y de extracción. Para obtener más información
acerca de las suscripciones de inserción y de extracción

MS SQL Server 2005 - Administración

Página | 93
PROCESO DE REPLICACIÓN

La Replicación es el proceso de distribución automática de copias de datos


(transacciones) y objetos de BD entre diferentes servidores o instancias del SQL
Server y manteniendo sincronizada la información distribuida entre los servidores que
intervienen.

RAZONES PARA REPLICAR INFORMACIÓN

- Reduce el tráfico de red entre servidores físicamente separados; si los usuarios


de Trujillo requieren información de Chiclayo, esta podría ser replica desde
Chiclayo en momentos de poca concurrencia y Trujillo mantener una copia de
seguridad.
- Separa los sistemas transaccionales (OLTP) de los Sistemas de Soporte de
decisiones (DSS), ya que la información podría ser replicada desde los OLTP a
los DSS y este último estar ubicado en una BD diferente. Por ejemplo si la
parte Administrativa de una empresa se encuentra en Lima (DSS) y esta
empresa tienen sucursales (OLTP).
- Replicar hacia un servidor Web en el caso de que se deseen realizar consultas
y mantener segura la BD fuente.
- Para establecer reglas de negocio en una empresa, desde un mismo lugar
(SEDE) hacia el resto de oficinas (SUCURSALES). Suponiendo que en SEDE
se cambien los precios de los artículos y sean los mismos en las
SUCURSALES.
- En el caso de que se tenga necesidad de hacer operaciones fuera de las
oficinas de la empresa con un computador.

TIPO DE REPLICACIÓN

SQL Server proporciona 3 tipos de replicación


- Snapshot
- Transactional
- Merge

SNAPSHOT
Es una copia entera de la data que normalmente se aplica en momentos específicos
desde un Servidor local hacia servidores remotos. Puede usarse esta forma cuando

MS SQL Server 2005 - Administración


Página | 94
existe una pequeña cantidad de datos. La idea de aplicar este tipo de replicación es
cuando en un momento determinado los puntos sincronizados deben tener la misma
data. Generalmente es al inicio del proceso de replicación en que el publicador y el
subscriptor deben contar con la misma información.

TRANSACTIONAL

Es aplicada cuando la data del servidor local desea mantenerse en los servidores
remotos. Los servidores remotos no tienen la capacidad de replicar información. La
primera vez que se ejecuta se produce una replicación SnapShot de un solo sentido.
Generalmente es aplicada cuando queremos establecer reglas o políticas equivalentes
a todos los puntos descentralizados de la empresa.

MERGE REPLICATION

Constituye la forma en que un publicado puede intercambiar información con sus


sucursales es decir, puede enviar o recibir información. Lo mismo pasaría con los
subscriptores, normalmente se conoce como la replicación bidireccional o de doble
sentido.

MODELOS FÍSICOS DE REPLICACIÓN

Existen 3 modelos físicos tradicionales en la Replicación.

- Central Publisher/Distributor: Normalmente puede ser aplicado cuando las


reglas de negocio pueden ser replicados desde un lugar hacia otros lugares.
Por ejemplo: Cuando se quieren realizar cambios de precio desde sede y
replicarlos hacia las sucursales. En general los cambios se hacen en un lugar y
el resto de los puntos asume estos cambios.
- Central Subscriber/Múltiple Publisher: Puede ser aplicado cuando las unidades
de negocio realizan sus operaciones y la sede central desea conocer estas
operaciones a fin de medir la gestión de sus unidades.
- Múltiple Publisher/Múltiple Subscriber: Es cuando entre los puntos de la
empresa un cliente podría realizar operaciones en cualquier lugar y todos los
puntos desearían conocer los que hizo el cliente.

MS SQL Server 2005 - Administración

Página | 95
CONFIGURANDO EL DISTRIBUIDOR Y PUBLICADOR
Antes de empezar crea una base de datos con el nombre BaseReplicar

 Ingresa a SQL Server 2005, expande la carpeta replication


 Clic derecho sobre la carpeta Local Publications. Aparecera el asistente para
crear el publicador.

 Clic en next, para elegir el distribuidor: con lo que se podrá elegir el Servidor
Local o cambiar de servidor para elegir otro como distribuidor.

MS SQL Server 2005 - Administración

Página | 96
 Dado que el servidor SQL Server Agent debe estar activo, este paso indica de
que el sistema automáticamente hará la configuración, para lo cual
indicaremos YES.

 A continuación hay que especificar la carpeta donde se producirá el Snapshot,


asegurarse de que la ruta d:\ Archivos de Programas\Microsoft SQL
Sever\MSSQL.1\ReplData exista.

MS SQL Server 2005 - Administración

Página | 97
 En el caso de que el distribuidor sea el servidor local, es posible que aparezca
una advertencia, a lo que habría que aceptar.
 Luego hay que especificar cual es la BD a publicar.

 A continuación se debe seleccionar el tipo de replicación: Para nuestro caso:


Merge Publication.

MS SQL Server 2005 – Administración

Página | 98
 Luego hay que elegir el tipo de subscriptores, nótese que los únicos tipos de
subscriptores son:
o SQL Server 2000
o SQL Server 2005 Mobile Edition
o SQL Server para Windows CE
 Elegimos SQL Server 2005

 Deberá de especificar la tabla y las columnas a publicar

MS SQL Server 2005 - Administración

Página | 99
 Es necesario que las columnas de las tablas a publicar tengan un campo
UniqueGuideIdentifier, por lo que el sistema automáticamente lo considerará al
poner siguiente.

 Especificar si existen filtros, nuestro caso diremos NO, clic en next

MS SQL Server 2005 - Administración

Página | 100
 Especificar si quieres que cree un snapshot inmediatamente y si deseas que
corra el Agente

 En este momento se iniciara la configuración de las opciones elegidas al


momento de Poner finish

MS SQL Server 2005 - Administración

Página | 101
CONFIGURACION DEL SUBCRIPTOR

 Desde esta interfaz iniciaremos la configuración del subscriptor, para ello


elegimos: Push

New Subscriptor.
 Vendrá la pantalla de bienvenida, hacer clic en next.
 Indicaremos el Servidor donde se encuentra el subscriptor respectivo, en este
caso sería el servidor local, luego seleccionar la BD que servirá como
subscriptor, en la pantalla siguiente.

 Vamos a seleccionar: bdrepli y luego next.


 A continuación debemos definir la replicación será:

MS SQL Server 2005 - Administración

Página | 102
 Luego elegimos la base de datos que será el subscriptor: bdreplica

MS SQL Server 2005 - Administración

Página | 103
 Selecciona donde va a correr el Merge Agent cuando sincronice con el
subscriptor.

MS SQL Server 2005 - Administración

Página | 104
 Luego especifica la sincronización para el agente.

 Para inicializar el subscriptor tenemos dos posibilidades.

MS SQL Server 2005 - Administración

Página | 105
 Definir en caso de conflictos quien posee el nivel de prioridad.

 Luego clic en create the subscription para crear al subscriptor, next

Finalmente poner finish se iniciara la configuración del subscriptor.

MS SQL Server 2005 - Administración

Página | 106

También podría gustarte