Mes 09 - SQL Server 2005 Admin
Mes 09 - SQL Server 2005 Admin
Mes 09 - SQL Server 2005 Admin
TIPOS DE SERVICIOS
Página | 1
EL MECANISMO DE AUTENTICACIÓN EN SQL SERVER
PROCESO DE AUTENTICACIÓN
Autenticación Windows
Autenticación Mixta o SQL Server
MODOS DE AUTENTICACIÓ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.
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.
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:
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
Página | 8
PRACTICA01:
Actividad a Realizar:
Página | 9
MS SQL Server 2005 - Administración
Página | 10
Capitulo 2
Gestión de Seguridad I
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.
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 ]
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
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.
Página | 17
PRACTICA02:
Actividad a Realizar:
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
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.
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.
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
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
ASIGNAR PERMISOS
Estos pueden ser dados en 3 estados:
Página | 23
Estado permiso Estado en Efecto
sysprotects
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.
Página | 24
A través de transac SQL:
Use Master
Página | 25
PRACTICA01:
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.
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?
Página | 27
Capitulo 4
Administración de Tareas Administrativas
Página | 28
automatización puede ser efectuada en el Service Manager (Administrador de
Servicios).
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.
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.
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.
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.
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.
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
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:
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
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
siguientes.
Valor Descripción
1 Una vez
4 Diariamente
8 Semanalmente
16 Mensualmente
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
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).
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.
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.
Página | 39
4. Asignamos un mensaje adicional para la notificación
Página | 40
5. Verificamos la creación de la alerta, ubicándonos en el SQL Server Agent y
dando clic en Alerts
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)
Página | 42
VERIFICANDO EL ERROR
UPDATE Producto
SET stockAc = @unitsinstock WHERE Producto = @prodid
Página | 43
5. Con lo que aparecerá el siguiente mensaje:
Página | 44
PRACTICA04:
TAREAS ADMINISTRATIVAS
Objetivos:
Actividad a Realizar:
CASOS PRACTICOS
Página | 45
Capitulo 5
Copia de Seguridad de Base de Datos
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:
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.
Página | 48
FORMAS DE REALIZAR BACKUPS
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:
USE master
BACKUP DATABASE VENTAS TO DISK = 'C:\Archivos de programa\Microsoft
SQL Server\MSSQL.1\MSSQL\Backup\mibackup'
Página | 51
Clic en Agregar o Add donde nos mostrará la siguiente pantalla
Página | 52
Con el SQL Server Management Studio.
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.
Página | 54
PLANIFICANDO UNA ESTRATEGIA DE BACKUP
Página | 55
ESTRATEGIA DIFFERENTIAL BACKUP
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
Página | 57
PRACTICA05:
Reforzando Conceptos de SQL Server 2005
Objetivos:
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
Página | 58
Capitulo 6
Restauración de base de datos
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.
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.
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á:
Página | 61
Se recrea automáticamente los archivos de BD y los objetos
No necesita eliminar la BD dañada.
Página | 62
EJECUTANDO LA RESTAURACIÓN DE BACKUP DE DIFERENTES TI POS
Página | 63
Uso de la instrucción RESTORE
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).
Página | 65
Restauración de una copia de Seguridad Diferencial
Página | 66
PRACTICA06:
Objetivos:
Después de realizar esta práctica, el alumno será capaz de:
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
Página | 67
4. Efectuar un Back up Differential
5. Efectuar la sgte transacción
UPDATE categories
SET CategoryName = 'Condimentos' WHERE Categoryid = 2
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?
Página | 69
Capitulo 7
Restauración de base de datos
TRANSFERENCIA 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.
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.
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
Base de Datos
Neptuno
Página | 71
4. Luego seleccionar el Destino de los Datos
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)
Página | 73
8. A continuación se va a ejecutar las opciones seleccionadas en los pasos
anteriores.
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.
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
Página | 76
10. Clic en la pestaña Data Flow para poder ver la data transformada
Página | 77
PRACTICA07:
TRANSFERENCIA DE DATOS
Objetivos:
Actividad a Realizar:
Página | 78
Capitulo 8
MANTENIMIENTO DE SQL SERVER
Página | 79
2. Haga clic con el botón secundario en Planes de mantenimiento y seleccione
Nuevo plan de mantenimiento.
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
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
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.
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.
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.
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.
Página | 85
Capitulo 9
SUPERVISIÓN DEL RENDIMIENTO DE SQL SERVER
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.
Página | 86
COMPUTREIN
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 SQL Server. Para optimizar SQL Server puede evaluar el diseño de
almacenamiento o, en algunos casos, ajustar las opciones de configuració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.
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.
Bloqueos.
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.
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
Página | 90
CÓMO VER EL REGISTRO DE ERRORES DE SQL SERVER (SQL SERVER
MANAGEMENT STUDIO)
Página | 91
Capítulo 10
DATOS DISTRIBUIDOS
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.
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
Página | 93
PROCESO DE REPLICACIÓN
TIPO DE REPLICACIÓN
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
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
Página | 95
CONFIGURANDO EL DISTRIBUIDOR Y PUBLICADOR
Antes de empezar crea una base de datos con el nombre BaseReplicar
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.
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.
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.
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
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.
Página | 100
Especificar si quieres que cree un snapshot inmediatamente y si deseas que
corra el Agente
Página | 101
CONFIGURACION DEL SUBCRIPTOR
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.
Página | 102
Luego elegimos la base de datos que será el subscriptor: bdreplica
Página | 103
Selecciona donde va a correr el Merge Agent cuando sincronice con el
subscriptor.
Página | 104
Luego especifica la sincronización para el agente.
Página | 105
Definir en caso de conflictos quien posee el nivel de prioridad.
Página | 106