Professional Documents
Culture Documents
1- Preparando la instalacin - 11 -
Ediciones de SQLServer 2005 - 11 -
Requisitos de Hardware para SQL Server 2005 (32 bits) - 12 -
Requisitos de Hardware para SQL Server 2005 (64 bits) - 13 -
Requisitos de espacio en disco duro (32 y 64 bits) - 13 -
Requisitos del sistema operativo (32 bits) - 14 -
Requisitos del sistema operativo (64 bits) - 16 -
Requerimientos adicionales de software - 18 -
Requerimientos para la Edicin Mbile - 18 -
Instancias de SQL Server 2005: - 18 -
Instancia por defecto - 18 -
Instancias con nombre - 18 -
Opciones de Licenciamiento para SQL Server 2005 - 19 -
Consideraciones sobre seguridad para Servicios SQL Server - 19 -
Usar una cuenta de usuario de dominio - 19 -
Usar la cuenta de servicio local - 19 -
Usar la cuenta de servicio de red - 19 -
Intercalacin (Collation) - 20 -
Actualizar a SQL Server 2005 - 21 -
Utilizando el Asesor de actualizaciones (Upgrade Adviser) para preparar las actualizaciones - 21 -
Cmo funciona el Asesor de actualizaciones - 21 -
Anlisis del Asesor de actualizaciones - 22 -
Compatibilidad de la base de Datos - 22 -
2- Instalacin - 23 -
Comprobador de Configuracin del Sistema (System configuration checker) - 23 -
Opciones para la instalacin de Componentes: - 23 -
Instalacin Desatendida - 25 -
Creacin del archivo .ini - 25 -
Comenzando una instalacin desatendida - 25 -
3- Manejo de la instalacin - 26 -
Configuracin de Superficie (Surface Area Configuration) - 26 -
Manejador de Configuracin (Configuration Manager) - 28 -
Servicios SQL Server - 29 -
Configuracin del Servidor de Red - 29 -
Configuracin del Cliente de Red - 29 -
SQL Server Management Studio - 29 -
Nuevas funciones de las Secuencias de Comandos - 30 -
Caractersticas del Explorador de objetos - 31 -
1- Planeamiento - 33 -
Planear la estrategia de copias de seguridad y restauracin - 33 -
Elegir el tipo de medio para la copia de seguridad - 33 -
Administrar medios de copia de seguridad - 33 -
Ejecutar una secuencia de comandos con la funcionalidad bsica - 34 -
Garantizar la disposicin para afrontar desastres - 34 -
Revisar y reducir los posibles errores del usuario - 34 -
Modelos de recuperacin - 35 -
Recuperacin simple - 37 -
Recuperacin completa - 37 -
-2-
Recomendaciones sobre modelos de recuperacin para bases de datos del sistema - 38 -
2- Copias de Seguridad - 39 -
Tipos de Copias de Seguridad - 39 -
Copias de seguridad completas de bases de datos - 39 -
Copia de seguridad en el modelo de recuperacin completa - 39 -
Minimizar el riesgo de prdida de trabajo - 40 -
Copias de Seguridad del Registro de Transacciones - 41 -
La cadena de registros - 42 -
Administracin de registros de transacciones y modelos de recuperacin - 42 -
Truncamiento del registro con el modelo de recuperacin completa y por medio de registros de
operaciones masivas - 42 -
Cmo funciona el truncamiento del registro - 43 -
Cmo funcionan las copias de seguridad diferenciales - 44 -
Copias de seguridad diferenciales de archivos - 45 -
Copia de seguridad diferencial de grupos de archivos (filegroups) de slo lectura en bases de datos de
lectura y escritura - 46 -
Copia de seguridad de un grupo de archivos (filegroups) principalmente de slo lectura - 46 -
Copias de seguridad diferenciales parciales - 47 -
Crear una copia de seguridad diferencial de archivos - 47 -
1- Seguridad de Base - 65 -
Proteger SQL Server - 65 -
Protocolos de Red y Extremos TDS - 65 -
Habilitar Protocolos de Servidor despus de la Instalacin - 65 -
Definicin de los Extremos TDS - 66 -
Restringir el Acceso a la Red - 66 -
Seguridad del Sistema Operativo - 67 -
-3-
Entidades de Seguridad y Seguridad de objetos de base de datos - 68 -
Entidades de Seguridad (Principals) - 68 -
Inicio de Sesin sa de SQL Server - 68 -
INFORMATION_SCHEMA y sys - 68 -
Asegurables - 68 -
Objetos - 69 -
Funciones (Roles) de Nivel de Servidor (Server Fixed Roles) - 69 -
La Funcin public - 70 -
Funciones (Roles) en el Nivel de Base de Datos - 70 -
Jerarqua de Permisos - 71 -
Trabajar con Permisos - 72 -
Permisos a Nivel de Servidor - 72 -
Conceder Permisos - 73 -
Permisos a Nivel de Base de Datos - 74 -
Permisos a Nivel de Esquema - 77 -
Cifrado y Certificados - 78 -
Jerarqua de Cifrado - 78 -
Llave Maestra de Servicio (Service Master Key) - 79 -
Llave Maestra de Base de Datos (Database Master Key) - 79 -
Certificados - 80 -
Claves Asimtricas - 81 -
Claves Simtricas - 82 -
-4-
Vistas de Catlogo (Transact-SQL) - 99 -
Consulta de una Vista de Administracin Dinmica - 100 -
-5-
Crear pasos de trabajo - 136 -
Registros de Pasos de Trabajo - 137 -
Programas Ejecutables y Comandos del Sistema Operativo como Pasos de Trabajo - 137 -
Pasos de Trabajo Transact-SQL - 138 -
Pasos de Trabajo de Secuencias de Comandos ActiveX - 138 -
Controlar varios Pasos del Trabajo - 138 -
Programar la Ejecucin de un Trabajo - 139 -
Operadores - 141 -
Proporcionar Informacin de Contacto - 141 -
Requisitos para Notificar a un Operador - 142 -
Designar un Operador a Prueba de Errores - 142 -
Supervisar la Actividad de Trabajo - 144 -
Sesiones del Agente SQL Server - 144 -
Monitor de Actividad de Trabajo - 144 -
4- Alertas - 146 -
Alertas - 146 -
Eventos - 146 -
Seleccionar una Condicin de Rendimiento - 147 -
Seleccionar un Evento de WMI - 148 -
Alertar a Operadores - 148 -
-6-
Crear e Inicializar Suscripciones - 167 -
Suscriptores que no son de SQL Server - 168 -
Crear Suscripciones - 168 -
Sincronizar Datos - 168 -
Asistentes para Rplica - 168 -
Asistente para Nueva Publicacin - 168 -
Para Crear Publicaciones y Definir Artculos - 169 -
Asistente para Nuevas Suscripciones - 171 -
Asistente para Configurar la Distribucin - 174 -
Asistente para deshabilitar la publicacin y distribucin - 175 -
Asistente de configuracin de la topologa punto a punto - 175 -
Asistente para la sincronizacin Web - 176 -
-7-
Instalar un Clster de Conmutacin por Error - 199 -
Elementos de una instancia de clster de conmutacin por error - 199 -
Asignar nombre a una Instancia de Clster de Conmutacin por Error - 200 -
-8-
-9-
Mdulo 1
Instalacin y
Configuracin de SQL
Server 2005
- 10 -
1- Preparando la instalacin
Ediciones de SQLServer 2005
Los requisitos de instalacin pueden variar mucho, dependiendo de las necesidades de las
aplicaciones. Las diferentes ediciones de SQL Server 2005 satisfacen los requisitos de
rendimiento, tiempo de ejecucin y precio nicos de organizaciones y personas. Los diversos
componentes de SQL Server 2005 que instale depender de las necesidades de las
organizaciones y de las personas.
Puede usar todas las ediciones de SQL Server 2005 en entornos de produccin excepto para
SQL Server 2005 Developer Edition y SQL Server 2005 Evaluation Edition.
- 11 -
tienen una gran capacidad, ofrecen un almacenamiento seguro y se implementan con
rapidez. SQL Server Express es gratuito y puede redistribuirse (mediante un acuerdo);
funciona como la base de datos de cliente, adems de como una base de datos de
servidor bsica. SQL Server Express es la opcin idnea para fabricantes
independientes de software (ISV), usuarios de servidor, programadores no
profesionales, programadores de aplicaciones Web, alojamientos de sitios Web y
aficionados a crear aplicaciones cliente. Si necesita caractersticas de base de datos
ms avanzadas, SQL Server Express se puede actualizar sin problemas a versiones
ms sofisticadas de SQL Server. SQL Server Express tambin ofrece componentes
adicionales que estn disponibles como parte de SQL Server 2005 Express Edition with
Advanced Services (SQL Server Express). Adems de las caractersticas de SQL
Server Express, SQL Server Express with Advanced Services ofrece lo siguiente:
o SQL Server Management Studio Express (SSMSE), un subconjunto de SQL Server
Management Studio.
o Compatibilidad con catlogos de texto.
o Compatibilidad para ver informes mediante Reporting Services.
SQL Server 2005 Compact Edition (slo 32 bits): Microsoft SQL Server 2005
Compact Edition es la base de datos compacta que ampla la funcionalidad de
administracin de datos corporativos a dispositivos. Microsoft SQL Server 2005
Compact Edition puede replicar datos con SQL Server 2005 y SQL Server 2000, lo que
permite a los usuarios mantener un almacn de datos mvil que se sincroniza con la
base de datos primaria. Microsoft SQL Server 2005 Compact Edition es la nica edicin
de SQL Server que proporciona funcionalidad de administracin de bases de datos
relacionales para dispositivos inteligentes.
Velocidad de
SQL Server 2005 (32 bits) Tipo de procesador procesador Memoria (RAM)
SQL Server 2005 Enterprise Procesador compatible Mnimo: 600 MHz Mnimo: 512 MB
Edition con Pentium III o superior
Recomendado: Recomendado: 1 GB o
SQL Server 2005 Developer 1 GHz o ms ms
Edition
Mximo: mximo del
SQL Server 2005 Standard sistema operativo mximo
Edition
SQL Server 2005 Workgroup Procesador compatible Mnimo: 600 MHz Mnimo: 512 MB
Edition con Pentium III o superior
Recomendado: Recomendado: 1 GB o
1 GHz o ms ms
SQL Server 2005 Express Procesador compatible Mnimo: 500 MHz Mnimo: 192 MB
- 12 -
Edition con Pentium III o superior Recomendado: Recomendado: 512 MB o
1 GHz o ms ms
SQL Server 2005 Express Procesador compatible Mnimo: 600 MHz Mnimo: 512 MB
Edition with Advanced Services con Pentium III o superior
Recomendado: Recomendado: 1 GB o
1 GHz o ms ms
SQL Server 2005 IA64 mnimo: procesador Itanium o IA64 mnimo: 1 IA64 mnimo: 512 MB
Enterprise Edition superior GHz
IA64 recomendado: 1
SQL Server 2005 x64 mnimo: AMD Opteron, AMD Athlon IA64 recomendado: GB o ms
Developer Edition 64, Intel Xenon compatible con Intel 1 GHz o ms
EM64T, Intel Pentium IV compatible con IA64 mximo: 32 TB
SQL Server 2005 EM64T x64 mnimo: 1 GHz
Standard Edition Mximo del sistema
x64 recomendado: operativo
1 GHz o ms
Mnimo: 512 MB
x64 recomendado: 1
GB o ms
Requisito de espacio
Caracterstica en disco
Database Engine (Motor de base de datos) y archivos de datos, Rplica y Bsqueda de 280 MB
texto
- 13 -
Reporting Services y Administrador de informes 120 MB
Libros en pantalla de SQL Server y Libros en pantalla de SQL Server Compact Edition 240 MB
Ejemplos y bases de datos de ejemplo. Tenga en cuenta que, de forma predeterminada, 410 MB
los ejemplos y las bases de datos de ejemplo no se instalan.
Express Edition
y Express with
Enterprise Developer Standard Workgroup Advanced Evaluation
Edition1 Edition Edition Edition Services Edition
Windows 2000 No No No No No No
SP4 de Windows
2000 Professional No S S S S S
Edition
SP4 de Windows
S S S S S S
2000 Server
SP4 de Windows
2000 Advanced S S S S S S
Server
SP4 de Windows
2000 Datacenter S S S S S S
Edition
Windows XP
Embedded SP2 No No No No S No
Feature pack 2007
Windows Embedded
No No No No S No
for Point of Service
SP2 de Windows XP
No S No No S No
Home Edition
- 14 -
SP2 de Windows XP
No S S S S S
Professional Edition
SP2 de Windows XP
No S S S S S
Media Edition
SP2 de Windows XP
No S S S S S
Tablet Edition
SP1 de Windows
S S S S S S
Server 2003 Server
SP1 de Windows
Server 2003 S S S S S S
Enterprise Edition
SP1 de Windows
Server 2003 S S S S S S
Datacenter Edition
SP1 de Windows
Server 2003 Web No No No No S No
Edition
SP1 de Windows
Small Business
S S S S S S
Server 2003
Standard Edition
SP1 de Windows
Small Business
S S S S S S
Server 2003
Premium Edition
Windows Vista
No No No No No No
Starter Edition
Windows Vista
No S S S7 S S
Ultimate Edition
Windows Vista
No S S S7 S S
Business Edition
Windows Vista
No S S S S S
Enterprise Edition
SP1 de Windows
Server 2003 64-Bit No No No No No No
Itanium Datacenter
- 15 -
Edition
SP1 de Windows
Server 2003 64-Bit
No No No No No No
Itanium Enterprise
Edition
SP1 de Windows
Server 2003 64-Bit WOW64 WOW64 WOW64 WOW64 WOW64 WOW64
x64 Standard Edition
SP1 de Windows
Server 2003 64-Bit
WOW64 WOW64 WOW64 WOW64 WOW64 WOW64
x64 Datacenter
Edition6
SP1 de Windows
Server 2003 64-Bit
WOW64 WOW64 WOW64 WOW64 WOW64 WOW64
x64 Enterprise
Edition6
Windows XP x64
No WOW64 WOW64 WOW64 WOW64 No
Professional 2003
Windows Vista
Ultimate 64-Bit x64 No WOW64 WOW64 WOW64 WOW64 WOW64
Edition
Windows Vista
Business 64-Bit x64 No WOW64 WOW64 WOW64 WOW64 WOW64
Edition
Express
Edition y
Develop Develop Standar Standar Express
Enterprise Enterprise er er d d with Evaluation Evaluation
Edition1(IA Edition1(X6 Edition Edition Edition Edition Advanced Edition Edition
64) 4) (IA64)2 (X64)3 (IA64) (X64) Services (IA64) (X64)
- 16 -
SP1 de
Windows
Server 2003
64-Bit S No S No S No No S No
Itanium
Datacenter
Edition
SP1 de
Windows
Server 2003
64-Bit S No S No S No No S No
Itanium
Enterprise
Edition
SP1 de
Windows
Server 2003
No S No S No S WOW64 No S
64-Bit x64
Standard
Edition5
SP1 de
Windows
Server 2003
No S No S No S WOW64 No S
64-Bit x64
Datacenter
Edition5
SP1 de
Windows
Server 2003
No S No S No S4 WOW64 No S
64-Bit x64
Enterprise
Edition5
Windows XP
x64
No S No S No S WOW64 No S
Professional
2003
Windows
Vista Home
Basic x64 No No No S No No WOW64 No S
Edition de
64 bits
Windows
Vista Home
Premium No No No S No No WOW64 No S
x64 Edition
de 64 bits
Windows
Vista x64
Ultimate No No No S No S WOW64 No S
Edition de
64 bits
- 17 -
Windows
Vista x64
Business No No No S No S WOW64 No S
Edition de
64 bits
Windows
Vista x64
Enterprise No No No S No S WOW64 No S
Edition de
64 bits
- 18 -
Cada instancia con nombre est formada por un conjunto diferente de servicios y puede tener
diferentes asignaciones para intercalado (collation), seguridad y otras opciones.
- 19 -
Intercalacin (Collation)
Una intercalacin especifica los patrones de bits que representan a cada carcter de un
conjunto de datos. Las intercalaciones tambin determinan las reglas que ordenan y comparan
datos. SQL Server 2005 admite almacenamiento de objetos con distintas intercalaciones en
una sola base de datos (cada columna de una base de datos de SQL Server puede tener su
propia intercalacin). En columnas que no sean Unicode, la configuracin de intercalacin
especifica la pgina de cdigos de los datos y, por ende, qu caracteres se pueden
representar. Se pueden quitar datos entre columnas Unicode directamente. Los datos entre
columnas que no sean Unicode no se pueden quitar directamente y debe convertirlos la pgina
de cdigos actual.
El resultado de una instruccin Transact-SQL puede variar cuando la instruccin se ejecuta en
el contexto de distintas bases de datos en las que cada una de ellas tenga una configuracin
de intercalacin diferente. Las prcticas recomendadas incluyen el uso de una intercalacin
normalizada para la organizacin, siempre que sea posible. El uso de una configuracin de
intercalacin estndar en todos los sistemas de su organizacin le ayudar a eliminar la
necesidad de especificar de manera explcita la intercalacin en cada carcter o expresin
Unicode. Si tiene que trabajar con objetos que tienen configuraciones de intercalacin y de
pgina de cdigos distintas, debe codificar sus consultas para que tengan en cuenta las reglas
de prioridad de intercalacin.
Las caractersticas de una intercalacin distinguen idiomas, maysculas de minsculas, acento,
Kana y ancho.
Las intercalaciones de SQL Server 2005 incluyen las siguientes agrupaciones:
Intercalaciones de Windows: Las intercalaciones de Windows definen reglas para
almacenar los datos de caracteres basadas en la configuracin regional de Windows
asociada. En una intercalacin de Windows, la comparacin de datos no Unicode se
implementa con el mismo algoritmo que la de los datos Unicode. Estas reglas de
intercalacin bsicas de Windows especifican qu alfabeto o idioma se utiliza cuando
se aplica un orden de diccionario, y la pgina de cdigos que se utiliza para almacenar
los datos de caracteres que no son Unicode. Tanto la ordenacin Unicode y como la
ordenacin no Unicode son compatibles con comparaciones de cadenas de una
determinada versin de Windows. Esto proporciona coherencia entre los tipos de datos
de SQL Server y tambin ofrece a los programadores la posibilidad de ordenar
cadenas en sus aplicaciones utilizando las mismas reglas utilizadas por SQL Server; es
decir, llamando a la funcin CompareStringW de la API Win32 de Microsoft.
Intercalaciones binarias: Las intercalaciones binarias ordenan datos segn la
secuencia de los valores codificados definidos por la configuracin regional y los tipos
de datos. Una intercalacin binaria de SQL Server define la configuracin regional de
idioma y la pgina de cdigos ANSI que se van a utilizar, aplicando un orden binario.
Las intercalaciones binarias son tiles, gracias a su relativa simplicidad, para obtener
un rendimiento mejorado de las aplicaciones. En tipos de datos no Unicode, las
comparaciones de datos dependen de los puntos de cdigo definidos en la pgina de
cdigos ANSI. En tipos de datos Unicode, las comparaciones de datos dependen de
los puntos de cdigo Unicode. En intercalaciones binarias de tipos de datos Unicode, la
configuracin regional no se tiene en cuenta a la hora de ordenar los datos. Por
ejemplo, Latin_1_General_BIN y Japanese_BIN producen idnticos resultados de
orden cuando se utilizan en datos Unicode. Las intercalaciones binarias anteriores de
SQL Server realizaban una comparacin de punto de cdigo a punto de cdigo
incompleta para datos Unicode. En dichas intercalaciones binarias de versiones
anteriores de SQL Server se comparaba el primer carcter como WCHAR, seguido de
una comparacin byte a byte. Por razones de compatibilidad con versiones anteriores,
la semntica de intercalacin binaria no se cambiar. Las intercalaciones binarias de
esta versin de SQL Server incluyen un nuevo conjunto de intercalaciones de
- 20 -
comparacin de puntos de cdigo pura. Los clientes pueden elegir migrar a las
intercalaciones binarias nuevas para aprovecharse de las comparaciones de puntos de
cdigo reales y deberan utilizar las nuevas intercalaciones binarias para el desarrollo
de nuevas aplicaciones. El nuevo sufijo BIN2 identifica nombres de intercalacin que
implementan la nueva semntica de intercalacin de punto de cdigo. Adems, se ha
agregado un nuevo indicador de comparacin correspondiente a BIN2 para el nuevo
orden binario.
Intercalaciones de SQL Server: Las intercalaciones de SQL Server proporcionan
compatibilidad de orden con versiones anteriores de SQL Server. Las intercalaciones
de SQL Server se basan en rdenes de SQL Server heredados para datos que no son
Unicode (por ejemplo, tipos de datos char y varchar) definidos por SQL Server. Las
reglas de ordenacin alfabtica de datos no Unicode no son compatibles con ninguna
rutina de ordenacin suministrada por sistemas operativos Windows, pero la
ordenacin de datos Unicode es compatible con una versin particular de las reglas de
ordenacin de Windows. Como las intercalaciones de SQL Server utilizan reglas de
comparacin diferentes para datos no Unicode y para datos Unicode, puede ver
resultados diferentes en las comparaciones de los mismos datos, dependiendo del tipo
de datos subyacentes.
Intercalacin por Defecto y reglas de ordenamiento: Si usted no designa una
Intercalacin y reglas de ordenamiento, SQL Server aplica las asignadas por defecto.
- 21 -
Visor de informes del Asesor de actualizaciones
Ayuda del Asesor de actualizaciones
La primera vez que utilice el Asesor de actualizaciones, ejecute el Asistente para anlisis del
Asesor de actualizaciones para analizar los componentes de SQL Server. Una vez que el
asistente haya finalizado el anlisis, podr ver los informes resultantes en el Visor de informes
del Asesor de actualizaciones. Los informes incluyen vnculos a informacin de la Ayuda del
Asesor de actualizaciones que le ayudar a solucionar los problemas conocidos o a paliar su
efecto.
- 22 -
2- Instalacin
Microsoft SQL Server 2005 se puede instalar mediante el Asistente para la instalacin o desde
el smbolo del sistema. El Asistente para la instalacin proporciona una interfaz grfica de
usuario que le gua a travs de cada decisin del proceso de instalacin.
El Asistente para la instalacin proporciona instrucciones para la configuracin inicial de SQL
Server 2005, lo que incluye seleccin de caractersticas, reglas de nomenclatura de instancias,
configuracin de cuentas de servicio, directrices para contraseas seguras y escenarios para
establecer intercalaciones.
Las instalaciones del smbolo del sistema son para escenarios avanzados como instalaciones
silenciosas; se pueden ejecutar directamente desde el smbolo del sistema o a partir de una
sintaxis del smbolo del sistema que haga referencia al archivo de instalacin para especificar
opciones de instalacin.
Servicios de bases de SQL Server Database Engine (Motor de base de datos de SQL Server) incluye las
datos de SQL Server siguientes tecnologas:
- 23 -
La rplica es un conjunto de tecnologas destinadas a la copia y distribucin
de datos y objetos de base de datos desde una base de datos a otra, para
luego sincronizar ambas bases de datos y mantener su coherencia.
La bsqueda de texto proporciona funcionalidad para realizar consultas de
texto en datos simples basados en caracteres contenidos en tablas de SQL
Server.
Herramientas para administrar datos relacionales y XML.
Analysis Services Analysis Services incluye las herramientas para crear y administrar aplicaciones de
procesamiento analtico en lnea (OLAP) y de minera de datos.
Reporting Services Reporting Services incluye componentes de servidor y de cliente para crear, administrar
e implementar informes tabulares, matriciales, grficos y de forma libre. Reporting
Services tambin es una plataforma extensible que puede utilizarse para desarrollar
aplicaciones de informes.
Notification Services Notification Services es una plataforma para desarrollar e implementar aplicaciones que
enven informacin personalizada puntualmente a los suscriptores de una gran variedad
de dispositivos.
Documentacin
Herramientas de desarrollo
- 24 -
integrado para las soluciones de Analysis Services, Reporting Services y
Integration Services.
Instalacin Desatendida
Usted puede realizar una instalacin desatendida creando un archivo .ini que contenga la
informacin de setup y ejecutando el setup.exe desde la lnea de comandos. Entender cmo
realizar una instalacin desatendida puede ayudarlo a distribuir mltiples instalaciones de SQL
Server idnticas.
Por ejemplo, para llevar a cabo una instalacin desatendida con un archivo .ini llamado
installsettings.ini en la carpeta C:\setup folder, utilice el siguiente comando:
Adicionalmente, usted puede especificar /qn para instalacin desatendida (sin cajas de
dilogo) o /qb para especificar que slo el dilogo de progreso ser mostrado.
- 25 -
3- Manejo de la instalacin
Servicios Web XML nativos Los extremos no estn configurados de forma predeterminada.
Servicio del Database Engine (Motor de base El inicio puede establecerse en Automtico o Manual durante la
de datos) instalacin.
Conexiones remotas del Database Engine Las conexiones remotas estn deshabilitadas en las ediciones
- 26 -
(Motor de base de datos) Express, Evaluation y Developer de SQL Server 2005 y estn
habilitadas en otras ediciones.
Conexiones remotas de Analysis Services Las conexiones remotas estn deshabilitadas en las ediciones
Express, Evaluation y Developer de SQL Server 2005 y estn
habilitadas en otras ediciones.
Servicio del Agente SQL Server Si se encuentra instalado, el tipo de inicio est establecido en
Manual y el servicio est detenido.
Servicio Explorador de SQL Server El inicio est establecido en Automtico en las siguientes
condiciones:
- 27 -
Manejador de Configuracin (Configuration Manager)
El SQL Server Configuration Manager es una herramienta que usted puede utilizar para
manejar los servicios asociados a SQL Server, configurar los protocolos de red utilizados por
SQL Server y manejar la configuracin de conectividad de red desde computadoras cliente
SQL Server.
- 28 -
Servicios SQL Server
Usted puede utilizar SQL Server Configuration Manager para iniciar, pausar, detener o
restaurar servicios Windows asociados a SQL Server. Tambin puede configurar los servicios
para que controlen sus modos de inicio y sus cuentas de servicio, as como propiedades
avanzadas como por ejemplo parmetros de inicio.
Importante: para cambiar las cuentas de servicio utilice SQL Server Configuration Manager en
lugar de la consola de Windows Services porque SQL Server Configuration Manager aplica
automticamente los permisos de registro requeridos para la cuenta que usted especifique.
- 29 -
todos los componentes de SQL Server, como Reporting Services, Integration Services y SQL
Server Compact 3.5. Los programadores obtienen una experiencia familiar y los
administradores de bases de datos una nica herramienta completa que combina herramientas
grficas fciles de usar con funciones de script enriquecidos.
Compatibilidad con la mayora de las tareas administrativas de SQL Server 2005 y SQL
Server 2000.
Un entorno nico integrado para administracin y edicin de SQL Server Database
Engine (Motor de base de datos de SQL Server).
Nuevos cuadros de dilogo para la administracin de objetos de SQL Server Database
Engine (Motor de base de datos de SQL Server), Analysis Services, Reporting
Services, Notification Services y Microsoft SQL Server 2005 Compact Edition, lo que
permite ejecutar las acciones inmediatamente, enviarlas a un editor de cdigo o
escribirlas en secuencias de comandos para ejecutarlas posteriormente.
Cuadros de dilogo no modales y de tamao variable que permiten obtener acceso a
varias herramientas mientras un cuadro de dilogo est abierto.
Un cuadro de dilogo comn de programacin que permite realizar acciones de los
cuadros de dilogo de administracin en otro momento.
Exportacin e importacin del registro de servidor de SQL Server Management Studio
desde un entorno de Management Studio a otro.
Guardado o impresin de archivos de plan de presentacin XML o de interbloqueo
generados por el Analizador de SQL Server, revisin posterior o envo a los
administradores para su anlisis.
Un nuevo cuadro de mensaje de error e informativo que presenta mucha ms
informacin, permite enviar a Microsoft un comentario sobre los mensajes, copiar
mensajes en el Portapapeles y enviar fcilmente los mensajes por correo electrnico al
equipo de soporte.
Un explorador Web integrado para una rpida exploracin de MSDN o la ayuda en
pantalla.
Integracin de la ayuda de comunidades en lnea.
Un nuevo monitor de actividad con filtro y actualizacin automtica.
Interfaces de Correo electrnico de base de datos integradas.
- 30 -
Caractersticas del Explorador de objetos
El Explorador de objetos de SQL Server Management Studio es una herramienta integrada
para ver y administrar objetos en todo tipo de servidores. Ofrece las caractersticas siguientes:
- 31 -
Mdulo 2
Recuperacin de
desastre
- 32 -
1- Planeamiento
Planear la estrategia de copias de seguridad y restauracin
Al administrar una base de datos de SQL Server, es importante estar preparado para la
recuperacin de desastres potenciales. Es necesario un plan de restauracin y de copia de
seguridad correctamente diseado y probado para poder recuperar las copias de seguridad de
SQL Server de las bases de datos despus de un desastre.
Adems, para garantizar que todos los sistemas y datos puedan recuperar rpidamente su
funcionamiento normal en caso de un desastre natural, es necesario crear un plan de
recuperacin de desastres. Durante la elaboracin de este plan es preciso tener en cuenta los
escenarios de distintos tipos de desastres que pueden afectar a su negocio, incluidos los
desastres naturales, como un incendio, y los desastres tcnicos, como los errores en dos
discos de una matriz RAID-5. Cuando cree un plan de recuperacin de desastres, identifique y
prepare todos los pasos necesarios para hacer frente a cada tipo de desastre. Debe realizar la
comprobacin prctica de los pasos de recuperacin de cada escenario. Se recomienda que
compruebe el plan de recuperacin de desastres mediante la simulacin de un desastre
natural.
Durante el diseo del plan de copia de seguridad y restauracin, es necesario realizar el diseo
del plan de recuperacin de desastres segn el entorno y las necesidades del negocio.
Por ejemplo, supongamos que se produce un incendio y destruye el centro de datos
disponibles 24 horas al da. Est seguro de que es posible la recuperacin? Cunto tiempo
se puede tardar en llevar a cabo la recuperacin y tener disponible el sistema? Cul es la
cantidad de datos perdidos que pueden tolerar los usuarios?
Lo ideal es que el plan de recuperacin de desastres indique el tiempo que durar la
recuperacin y el estado final de las bases de datos que los usuarios pueden esperar. Por
ejemplo, puede determinar que, tras la adquisicin del hardware especificado, la recuperacin
debe completarse en 48 horas y slo se garantizarn los datos hasta finales de la semana
previa al incidente.
- 33 -
Un plan de seguimiento y administracin para almacenar y reciclar conjuntos de copias
de seguridad.
Una programacin para sobrescribir el medio de copia de seguridad.
En un entorno multiservidor, la decisin de utilizar copias de seguridad centralizadas o
distribuidas.
Un modo de realizar un seguimiento de la vida til del medio.
Un procedimiento para minimizar los efectos de la prdida de un conjunto o medio de
copia de seguridad, por ejemplo, la prdida de una cinta.
La decisin de guardar los conjuntos de copia de seguridad dentro o fuera del sitio, y
un anlisis de cmo afectara esta decisin al tiempo de recuperacin.
- 34 -
Uno de los escenarios de recuperacin ms difciles es recuperarse de un error de usuario
importante, como quitar objetos de la base de datos de forma accidental. En esta seccin se
enumeran herramientas que le pueden ayudar a revisar y en algunos casos a regular los
cambios efectuados a las bases de datos.
Desencadenadores del lenguaje de definicin de datos (DDL): Estos
desencadenadores se pueden crear para revisar y regular algunos cambios del
esquema de base de datos. Los desencadenadores DDL activan procedimientos
almacenados en respuesta a una variedad de instrucciones DDL. Estas instrucciones
son bsicamente las que empiezan por CREATE, ALTER y DROP. El mbito de un
desencadenador DDL puede ser una base de datos determinada o una instancia de
servidor completa.
Notificaciones de eventos: Las notificaciones de eventos se ejecutan en respuesta a
una variedad de instrucciones DDL de Transact-SQL y eventos de la traza de SQL, y
envan informacin acerca de esos eventos a un servicio de Service Broker.
Se pueden programar notificaciones de eventos para muchos de los eventos
capturados por Traza de SQL, pero, en lugar de usarlas para crear trazas, puede usar
dichas notificaciones para realizar una accin en una instancia de SQL Server 2005
como respuesta a eventos. Dado que las notificaciones de eventos se ejecutan de
forma asincrnica, estas acciones no consumen recursos definidos por la transaccin
inmediata.
Agente SQL Server: Se trata de un servicio de Windows que ejecuta tareas
administrativas programadas, denominadas trabajos. El Agente SQL Server utiliza SQL
Server para almacenar informacin de los trabajos. Entre otras cosas, el Agente SQL
Server puede ejecutar un trabajo en respuesta a un evento concreto; por ejemplo,
errores que tienen un nivel de gravedad o un nmero de mensaje especficos.
Traza de SQL (Trace): La traza de SQL proporciona procedimientos almacenados del
sistema Transact-SQL para crear trazas sobre clases de eventos seleccionadas por el
usuario en una instancia del Motor de base de datos de SQL Server. Puede utilizar
estos procedimientos almacenados del sistema desde sus propias aplicaciones para
crear trazas manualmente.
Modelos de recuperacin
Los modelos de recuperacin se han diseado para controlar el mantenimiento del registro de
transacciones. Existen tres modelos de recuperacin: simple (Simple), completa (Full) y por
medio de registros de operaciones masivas (BULK_LOGGED). Normalmente, en las bases de
datos se usa el modelo de recuperacin completa o el modelo de recuperacin simple.
Simple Sin copias de seguridad de Los cambios realizados Slo se puede recuperar
registros. despus de la copia de hasta el final de una copia
seguridad ms reciente no de seguridad.
Recupera automticamente el estn protegidos. En caso de
espacio de registro para desastre, es necesario volver
mantener al mnimo los requisitos a realizar dichos cambios.
de espacio, eliminando, en
esencia, la necesidad de
administrar el espacio del registro
de transacciones.
- 35 -
Completa Requiere copias de seguridad de Normalmente ninguno. Se puede recuperar hasta
registros. determinado momento,
Si el final del registro resulta siempre que las copias de
No se pierde trabajo si un archivo daado, se deben repetir los seguridad se hayan
de datos se pierde o resulta cambios realizados desde la completado hasta ese
daado. ltima copia de seguridad de momento.
registros.
Se puede recuperar hasta
cualquier momento, por ejemplo,
antes del error de aplicacin o
usuario.
Por medio de Requiere copias de seguridad de Si el registro resulta daado Se puede recuperar hasta
registros de registros. o se han realizado el final de cualquier copia
operaciones operaciones masivas desde de seguridad. No admite
masivas Complemento del modelo de la ltima copia de seguridad recuperaciones a un
recuperacin completa que de registros, se pueden momento dado.
permite operaciones de copia repetir los cambios desde
masiva de alto rendimiento. esa ltima copia de
seguridad.
Reduce el uso del espacio de
registro mediante el registro En caso contrario, no se
masivo de la mayora de las pierde el trabajo.
operaciones masivas.
- 36 -
Recuperacin simple
Utilcelo si se dan todas las condiciones siguientes:
La recuperacin al momento del error no es necesaria. Si se pierde o se daa la base
de datos, no le importa perder todas las actualizaciones realizadas entre el error y la
copia de seguridad anterior.
No le importa perder algunos datos del registro.
No desea realizar copias de seguridad del registro de transacciones ni restaurarlo, y
prefiere confiar exclusivamente en las copias de seguridad completas y diferenciales.
Recuperacin completa
Utilice este modelo y, opcionalmente, tambin el modelo de recuperacin por medio de
registros de operaciones masivas, si se da cualquiera de las condiciones siguientes:
Desea poder recuperar todos los datos.
Si la base de datos incluye varios grupos de archivos y desea realizar una restauracin
por etapas de los grupos de archivos secundarios de lectura y escritura, y
opcionalmente, de los de slo lectura.
Debe poder realizar una recuperacin hasta el momento del error.
Desea poder restaurar pginas individuales.
- 37 -
Le resulta aceptable incurrir en los costes administrativos de las copias de seguridad
del registro de transacciones
Base de
datos del Modelo de
sistema recuperacin Comentarios
master Simple Por compatibilidad con versiones anteriores de Microsoft SQL Server, el
modelo de recuperacin de master se puede establecer en FULL o
BULK_LOGGED. No obstante, master no admite BACKUP LOG. Por lo tanto,
incluso si el modelo de recuperacin de master se cambia a completo o por
medio de registros de operaciones masivas, la base de datos contina
funcionando como si estuviese usando el modelo de recuperacin simple.
model Completa (valor Las bases de datos de usuario recin creadas usan el mismo modelo de
predeterminado) recuperacin que la base de datos model. Si desea que las nuevas bases de
datos usen el modelo de recuperacin simple, cambie el modelo de
recuperacin de model a SIMPLE.
msdb Simple (valor Si desea utilizar la informacin del historial de copias de seguridad y
predeterminado) restauraciones que hay en msdb para recuperar las bases de datos de
usuarios, se recomienda usar el modelo de recuperacin completa para msdb.
Adems, debera considerar la posibilidad de situar el registro de
transacciones msdb en un medio de almacenamiento con tolerancia a errores.
- 38 -
2- Copias de Seguridad
Ejemplo:
En la siguiente ilustracin se muestra la estrategia de copia de seguridad ms fcil con el
modelo de recuperacin completa. En la ilustracin se han realizado una copia de seguridad de
base de datos, Db_1, y dos copias de seguridad de registros rutinarias, Log_1 y Log_2. Algn
tiempo despus de la copia de seguridad de registros Log_2, se pierden datos de la base de
datos. Antes de restaurar estas tres copias de seguridad, el administrador de la base de datos
debe realizar una copia de seguridad del registro activo (el final del registro). Entonces, el
administrador de la base de datos restaura Db_1, Log_1 y Log_2 sin recuperar la base de
datos. A continuacin, el administrador de la base de datos restaura y recupera la copia de
seguridad de registros despus del error (Tail). As se recupera la base de datos al momento
del error, incluidos todos los datos.
- 39 -
Minimizar el riesgo de prdida de trabajo
Una vez que finaliza la primera copia de seguridad completa de la base de datos y se inician
las copias de seguridad peridicas de registros, el riesgo potencial de prdida de trabajo se
limita al tiempo transcurrido entre el momento en que se daa la base de datos y la copia de
seguridad peridica de registros ms reciente. Por lo tanto, recomendamos que realice copias
de seguridad de registros con suficiente frecuencia para mantener el riesgo de prdida de
trabajo dentro de los lmites establecidos por sus requisitos empresariales.
Cuando se produce un error, puede intentar realizar una copia de seguridad del registro
despus del error (el registro del que an no se ha realizado una copia de seguridad). Si la
copia de seguridad del registro despus del error se realiza sin problemas, puede evitar
cualquier prdida de trabajo restaurando la base de datos hasta el momento del error.
Puede utilizar una serie de copias de seguridad de registros para poner al da una base de
datos hasta cualquier momento que se encuentre en una de las copias de seguridad de
registros. Para minimizar el riesgo, recomendamos programar copias de seguridad de registros
rutinarias. Tenga en cuenta que para minimizar el tiempo de restauracin, puede complementar
cada copia de seguridad completa con una serie de copias de seguridad diferenciales de los
mismos datos.
La siguiente ilustracin muestra una estrategia de copia de seguridad que complementa las
copias de seguridad completas de la base de datos con copias de seguridad diferenciales, as
como una serie de copias de seguridad de registros rutinarias. La presencia de copias de
seguridad del registro de transacciones reduce el posible riesgo de prdida de trabajo al
momento despus de la copia de seguridad de registros ms reciente. Tras la primera copia de
seguridad de la base de datos, se realiza una serie de tres copias de seguridad diferenciales.
La tercera copia de seguridad diferencial tiene el tamao suficiente como para que la prxima
copia de seguridad sea una copia de seguridad de base de datos completa. As se establece
una nueva base diferencial.
- 40 -
En esta ilustracin, antes de la primera copia de seguridad de la base de datos, existe un
riesgo potencial de prdida de trabajo en la base de datos (de la hora t0 a la hora t1). Por
tanto, las copias de seguridad de registros rutinarias reducen el riesgo de prdida de trabajo a
la posibilidad de perder los cambios realizados despus de la ltima copia de seguridad de
registros (realizada a la hora t14 en esta ilustracin). Si se produce un error, el administrador
de la base de datos debe intentar realizar inmediatamente una copia de seguridad del registro
activo (el final del registro). Si esta copia de seguridad de registros despus del error se realiza
correctamente, la base de datos se puede restaurar hasta el momento del error.
- 41 -
completo de copias de seguridad de archivos. La restauracin de una base de datos utilizando
nicamente copias de seguridad de archivos puede llegar a ser un proceso complejo. Por lo
tanto, es recomendable que comience con una copia de seguridad de la base de datos
completa si es posible. Posteriormente, ser necesario realizar copias de seguridad del registro
de transacciones con regularidad. De esta forma, no slo se minimiza el riesgo de prdida de
trabajo, sino que tambin se permite el truncamiento del registro de transacciones.
Normalmente, el registro de transacciones se trunca tras cada copia de seguridad de registros
convencional.
La cadena de registros
Una secuencia continua de copias de seguridad de registros se denomina cadena de registros.
Una cadena de registros empieza con una copia de seguridad completa de la base de datos.
Por lo general, una nueva cadena de registros slo se inicia cuando se realiza una copia de
seguridad de la base de datos por primera vez o despus de cambiar del modelo de
recuperacin simple al modelo de recuperacin completa o por medio de registros de
operaciones masivas.
Para restaurar una base de datos al momento del error, es preciso que la cadena de registros
est intacta. De esta forma, es necesario que una secuencia ininterrumpida de las copias de
seguridad del registro de transacciones se extienda hasta el momento del error. El lugar en el
que sta secuencia de registros debe comenzar depende del tipo de copias de seguridad de
datos que est restaurando: de base de datos, parcial o de archivos. En las copias de
seguridad de base de datos o parciales, la secuencia de copias de seguridad de registros debe
extenderse desde el final de la copia de seguridad de base de datos o parcial. En un conjunto
de copia de seguridad de archivos, la secuencia de copias de seguridad de registros debe
comenzar desde el principio del conjunto completo de copias de seguridad de archivos.
Si slo utiliza copias de seguridad de archivos, es necesario realizar una copia de seguridad
del registro desde el principio de la primera copia de seguridad de archivos completa. Es
posible comenzar a realizar copias de seguridad de registros inmediatamente despus de la
primera copia de seguridad de archivos completa. Es recomendable comenzar en ese
momento, dado que la primera copia de seguridad de registros puede tardar mucho tiempo.
Mientras se realiza la copia de seguridad del registro, puede realizar copias de seguridad de
otros archivos. Para restaurar la base de datos slo con copias de seguridad de archivos, el
conjunto de copias de seguridad completas de archivos debe ampliarse con una o ms copias
de seguridad de registros que cubran el intervalo entre la primera copia de seguridad de
archivos y la ltima.
Nota: Para identificar la copia de seguridad con la que comienza la cadena de registros en un
conjunto de copias de seguridad, consulte la columna begins_log_chain de la tabla backupset
o ejecute RESTORE HEADERONLY en el dispositivo de copia de seguridad para ver la
columna BeginsLogChain en el conjunto de resultados.
- 42 -
En el modelo de recuperacin completa o en el modelo de recuperacin por medio de registros
de operaciones masivas, no se puede truncar la parte inactiva del registro hasta que se hayan
capturado todas sus entradas de registro en una copia de seguridad de registros. Esto es
necesario para mantener la cadena de registros, una serie de entradas de registro que tienen
una secuencia continua de nmeros de secuencia de registro (LSN). El registro se trunca
cuando se realiza la copia de seguridad del registro de transacciones, siempre que se cumplan
las siguientes condiciones:
Se ha producido un punto de comprobacin (Checkpoint) desde la ltima copia de
seguridad del registro. Un punto de comprobacin es esencial pero no suficiente para
truncar el registro en el modelo de recuperacin completa o el modelo de recuperacin
por medio de registros de operaciones masivas. Despus de un punto de
comprobacin, el registro se mantiene intacto, al menos hasta la siguiente copia de
seguridad del registro de transacciones.
Ningn otro factor impide el truncamiento del registro.
Por lo general, si se hacen copias de seguridad con regularidad, el espacio de registro
se libera con la misma frecuencia para su uso futuro. Sin embargo, otros factores,
como una transaccin de ejecucin prolongada, pueden impedir temporalmente el
truncamiento del registro.
La instruccin BACKUP LOG no especifica WITH NO_TRUNCATE, WITH NO_LOG o
WITH COPY_ONLY.
- 43 -
registro virtual 4. La entrada MinLSN se encuentra en el registro virtual 3. Los registros virtuales
1 y 2 slo contienen entradas de registro inactivas. Estas entradas pueden truncarse. El
registro virtual 5 no se utiliza an y no forma parte del registro lgico actual.
En la segunda ilustracin se muestra el registro despus del truncamiento. Se han liberado los
registros virtuales 1 y 2 para su reutilizacin. El registro lgico empieza ahora en el inicio del
registro virtual 3. El registro virtual 5 no se utiliza an y no forma parte del registro lgico actual.
- 44 -
Nota: El mapa de bits de la copia de seguridad diferencial no se actualiza con las copias de
seguridad de slo copia. Por tanto, una copia de seguridad de slo copia no puede servir de
base diferencial o copia de seguridad diferencial. Una copia de seguridad de slo copia no
afecta a las copias de seguridad diferenciales subsiguientes.
Una copia de seguridad diferencial que se realiza poco despus de su base tiende a ser
sustancialmente ms pequea que la base diferencial. As, se gana espacio de copia de
seguridad y tiempo.
Sin embargo, a medida que la base de datos cambia, la diferencia entre la base de datos y una
base diferencial concreta aumenta. Cuanto ms tiempo pasa entre una copia de seguridad
diferencial y su base, ms probabilidades hay de que la copia de seguridad diferencial sea ms
grande. Esto significa que las copias de seguridad diferenciales pueden, a la larga, asemejarse
en tamao a la base diferencial. La copia de seguridad diferencial grande pierde las ventajas
de una copia de seguridad ms rpida y de menor tamao.
En el momento de la restauracin, antes de restaurar una copia de seguridad diferencial, debe
restaurar su base. A continuacin, slo necesita restaurar la copia diferencial ms reciente para
poner al da la base de datos hasta el momento en que se cre la copia de seguridad
diferencial. Por lo general, restaurar la copia de seguridad completa ms reciente seguida de
la copia de seguridad diferencial ms reciente que est basada en la copia de seguridad
completa.
Al crear y restaurar copias de seguridad diferenciales, SQL Server 2005 trata la base de datos
como un conjunto de archivos. Esto afecta al contenido de las copias de seguridad
diferenciales y al modo en que se utilizan en combinacin con las copias de seguridad de
bases de datos y de archivos. SQL Server Database Engine (Motor de base de datos de SQL
Server) est diseado para tratar los escenarios habituales fcilmente y sin ningn
comportamiento inesperado.
- 45 -
seguridad diferenciales de archivos estn permitidas en todos los grupos de archivos que
tengan una base diferencial. Las copias de seguridad diferenciales de archivos pueden
disminuir significativamente el tiempo de recuperacin reduciendo la porcin del registro de
transacciones que debe restaurarse.
Nota: Para una base de datos de slo lectura, el mapa de bits diferencial del archivo principal
no se puede actualizar durante una copia de seguridad.
- 46 -
Copias de seguridad diferenciales parciales
Las copias de seguridad diferenciales parciales se utilizan slo con las copias de seguridad
parciales. Una copia de seguridad diferencial parcial nicamente registra las extensiones de
datos que han cambiado en grupos de archivos desde la copia de seguridad parcial anterior,
que se conoce como la base para la diferencial. Si slo han cambiado algunos de los datos
capturados en la copia de seguridad parcial, la copia de seguridad diferencial parcial ser
menor que la base y ms rpida de crear. En una base de datos grande, una copia de
seguridad diferencial facilita la realizacin de copias de seguridad frecuentes de los datos, lo
que disminuye el riesgo de prdida de datos.
Sin embargo, la restauracin a partir de copias de seguridad diferenciales parciales implicar
necesariamente ms pasos y ms tiempo que la restauracin a partir de una copia de
seguridad parcial. Adems, el proceso de restauracin es ms complejo dado que intervienen
dos archivos de copia de seguridad.
Las copias de seguridad diferenciales parciales se utilizan con una base diferencial nica.
- 47 -
Consideraciones para el operador de las Copias de Seguridad
El operador de las copias de seguridad deber ser miembro de alguna de las funciones fijas de
seguridad mencionadas a continuacin:
sysadmin (funcin fija de servidor)
db_owner (funcin fija de base de datos)
db_backupoperator (funcin fija de base de datos)
- 48 -
3- Restauracin de Bases de Datos de Usuario
Descripcin de cmo funcionan la restauracin y la recuperacin de copias de seguridad
en SQL Server
La restauracin es el proceso de copiar datos desde una copia de seguridad y aplicar
transacciones registradas a los datos para ponerlos al da hasta el punto de recuperacin de
destino. Una copia de seguridad de datos o diferencial contiene suficientes registros de
transacciones para permitir poner al da las transacciones activas como parte de la
restauracin de cada copia de seguridad. Cada copia de seguridad contiene suficientes
registros para revertir las transacciones no confirmadas y llevar la base de datos a un estado
coherente con la transaccin y utilizable. El proceso de poner al da las transacciones no
confirmadas, si las hay, y poner la base de datos en conexin se conoce como recuperacin.
Conjunto de puestas al da
El proceso de aplicar cambios registrados a los datos de una base de datos para poner los
datos al da se conoce como poner al da. El conjunto de todos los datos restaurados se
conoce como el conjunto de puestas al da. Un conjunto de puestas al da se define con la
restauracin de una o ms copias de seguridad completas, como una copia de seguridad de
base de datos o parcial, o un conjunto de copias de seguridad de archivos. Si una instruccin
RESTORE especifica grupos de archivos, archivos o pginas, slo se incluyen estos elementos
en el conjunto de puestas al da. De lo contrario, se incluirn en el conjunto de puestas al da
todos los archivos de la copia de seguridad que se est restaurando. Si la copia de seguridad
completa contiene entradas de registro, los datos restaurados se pondrn al da mediante este
registro.
Nota: Si especifica un grupo de archivos durante la restauracin, sta engloba todo el grupo de
archivos tal como existe actualmente. Esto incluye los archivos agregados al grupo de archivos
desde que se realiz la copia de seguridad.
Secuencias de restauracin
Cada escenario de restauracin se implementa mediante uno o varios pasos de restauracin
(operaciones), lo que se denomina secuencia de restauracin. Cada operacin corresponde a
una instruccin RESTORE de Transact-SQL independiente. Una secuencia de restauracin
mueve los datos afectados a travs de una o varias fases de la restauracin.
Fases de la restauracin
Una restauracin es un proceso de varias fases. Las fases posibles de una restauracin
incluyen las fases de copia de datos, rehacer (puesta al da) y deshacer (revertir):
- 49 -
La fase de copia de datos implica copiar todos los datos, el registro y las pginas de
ndice desde el medio de copia de seguridad de una base de datos a los archivos de la
base de datos.
La fase de rehacer aplica las transacciones registradas a los datos copiados desde la
copia de seguridad para poner al da esos datos hasta el punto de recuperacin.
Normalmente, en este punto una base de datos tiene transacciones no confirmadas y
se encuentra en un estado inutilizable. En ese caso, se requiere una fase de deshacer
como parte de la recuperacin de la base de datos.
La fase de deshacer, que es la primera parte de la recuperacin, revierte cualquier
transaccin no confirmada y hace que la base de datos est disponible para los
usuarios. Despus de la fase de reversin, no se pueden restaurar las copias de
seguridad subsiguientes.
- 50 -
Sin embargo, la base de datos puede contener cambios realizados por transacciones que no
estn confirmadas en el punto de recuperacin. Para la restauracin con conexin, los datos se
recuperan a un momento dado coherente con el estado actual de la parte conectada de la base
de datos.
Una copia de seguridad diferencial avanza hasta el punto en que se realiz la copia de
seguridad diferencial. Las pginas del conjunto de puestas al da se sobrescriben con pginas
ms recientes de la copia de seguridad diferencial.
Nota: En trminos generales, la recuperacin es el conjunto de operaciones que hace que una
base de datos sea coherente al inicio de esa base de datos. Si la base de datos se apagaba
peridicamente, la recuperacin omite las fases de rehacer y deshacer. Esto se conoce como
recuperacin de reinicio.
Despus de que se hayan restaurado una o ms copias de seguridad, la recuperacin suele
incluir tanto la fase de rehacer y como la de deshacer. Cada copia de seguridad completa y
diferencial contiene suficientes registros de transacciones para permitir que los datos de esa
copia de seguridad se recuperen a un estado coherente consigo mismo.
Nota: Durante una recuperacin tras bloqueo o una conmutacin por error de la creacin de
reflejo de la base de datos, SQL Server 2005 Enterprise Edition permite a los usuarios obtener
acceso a la base de datos durante la fase de deshacer. Esto se conoce como recuperacin
rpida. La recuperacin rpida es posible porque las transacciones que no estaban
confirmadas cuando se produjo el error vuelven a adquirir los bloqueos que mantenan antes
del error. Mientras estas transacciones se revierten, sus bloqueos las protegen de las
interferencias de los usuarios.
- 51 -
RESTORE WITH NORECOVERY pone al da los datos hasta donde son coherentes
con la base de datos. En estos casos, el Motor de base de datos emite un mensaje
informativo indicando que el conjunto de puestas al da se puede recuperar mediante la
opcin RECOVERY.
Para evitar tener que hacer esto, realice alguna de las siguientes acciones:
Inicie SQL Server
Detenga MSFTESQL
Escenarios de restauracin
Un escenario de restauracin en SQL Server es el proceso de restaurar datos de una o ms
copias de seguridad y, a continuacin, recuperar la base de datos. Los escenarios de
restauracin compatibles dependen del modelo de recuperacin de la base de datos y de la
edicin de SQL Server 2005.
La siguiente tabla presenta los posibles escenarios de restauracin compatibles para diferentes
modelos de recuperacin.
Restauracin Restauracin de uno o ms archivos de slo Restaura uno o ms archivos, sin restaurar la
de archivos* lectura daados, sin restaurar la base de base de datos completa. La restauracin de
datos completa. La restauracin de archivos archivos puede realizarse mientras la base de
est disponible slo si la base de datos tiene datos est desconectada o, en algunas versiones
como mnimo un grupo de archivos de slo de SQL Server 2005, cuando est conectada.
lectura. Durante la restauracin de archivos, los grupos
de archivos en los que se incluyen los archivos
en cuestin permanecen siempre desconectados.
- 52 -
en algunas versiones de SQL Server 2005,
cuando est conectada. Durante la restauracin
de pginas, las pginas que se estn restaurando
permanecen siempre desconectadas.
* La restauracin con conexin slo se permite en SQL Server 2005 Enterprise Edition.
Independientemente de la forma de restauracin de datos, antes de que una base de datos se
pueda recuperar, el Motor de base de datos de SQL Server garantiza la coherencia lgica de
toda la base de datos. Por ejemplo, si restaura un archivo, no puede recuperarlo y conectarlo
hasta que se haya puesto al da hasta un punto lo bastante avanzado de forma que sea
coherente con la base de datos.
- 53 -
* Slo disponible en SQL Server 2005 Enterprise Edition.
Nota: Use WITH NORECOVERY si tambin desea restaurar una copia de seguridad
diferencial de la base de datos.
Ejemplo:
En el siguiente ejemplo se muestra primero cmo usar la instruccin BACKUP para crear una
copia de seguridad completa y diferencial de la base de datos AdventureWorks. A continuacin,
se restauran estas copias de seguridad una despus de la otra.
Nota: En el ejemplo se comienza con una instruccin ALTER DATABASE que establece el
modelo de recuperacin como SIMPLE.
USE master;
-- Establece el modelo Simple
ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE;
GO
- 54 -
WITH FORMAT;
GO
-- Restauracin diferencial.
RESTORE DATABASE AdventureWorks
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
WITH FILE=2, RECOVERY;
GO
La copia de seguridad de registros despus del error es la ltima copia de seguridad que se
aplica en las secuencias de restauracin siguientes.
- 55 -
b. Restauracin con conexin del grupo de archivos C.
En este momento, el grupo de archivos principal y el secundario A estn conectados. Todos los
archivos de los grupos de archivos B y C estn pendientes de recuperacin y sin conexin.
Los mensajes de la ltima instruccin RESTORE LOG del paso 1 indican que la reversin de
las transacciones en las que interviene el grupo de archivos C se ha diferido porque este grupo
de archivos no est disponible. Las operaciones peridicas pueden continuar, pero estas
transacciones mantienen los bloqueos y no se truncar el registro hasta que se pueda
completar la reversin. En la segunda secuencia de restauracin, el administrador de la base
de datos restaura el grupo de archivos C:
En este momento, los grupos de archivos principal, A y C estn conectados. Los archivos del
grupo B permanecen pendientes de recuperacin, con el grupo de archivos sin conexin. Las
transacciones diferidas se han resuelto y se trunca el registro.
b. En este momento, los grupos de archivos principal, A y C estn conectados. Todos los
archivos del grupo de archivos B estn pendientes de recuperacin y el grupo de archivos est
sin conexin.
- 56 -
RESTORE DATABASE adb FILEGROUP='B' FROM backup
WITH RECOVERY;
a. Crea una copia de seguridad de registros despus del error de la base de datos adb. Este
paso es esencial para actualizar los grupos de archivos A y C intactos respecto al punto de
recuperacin de la base de datos.
En este momento, el grupo principal est conectado. La recuperacin de los archivos de los
grupos A, B y C est pendiente, por lo que estos grupos de archivo estn desconectados.
Dado que estos datos no estn daados, no es preciso restaurar los grupos de archivos a partir
de la copia de seguridad. Sin embargo, es necesario recuperarlos para volver a conectarlos.
El administrador de la base de datos recupera A y C inmediatamente.
En este momento, los grupos de archivos principal, A y C estn conectados. Los archivos del
grupo B permanecen pendientes de recuperacin, con el grupo de archivos sin conexin.
- 57 -
Los archivos del grupo de archivos B se restauran en cualquier momento a partir de este
momento.
Nota: La copia de seguridad del grupo de archivos B se realiz despus de cambiar el grupo a
slo lectura, por lo que no es necesario poner al da los archivos.
- 58 -
Cuando termina la operacin de restauracin y recupera la base de datos, la recuperacin
revierte todas las transacciones incompletas. Este paso se conoce como la fase de deshacer.
Revertir es necesario para restaurar la integridad de la base de datos. Despus de la reversin,
la base de datos pasa a estar en lnea y no se pueden aplicar ms copias de seguridad del
registro de transacciones a la base de datos.
Por ejemplo, una serie de copias de seguridad del registro de transacciones contiene una
transaccin de larga duracin. El inicio de la transaccin se registra en la primera copia de
seguridad del registro de transacciones, pero el final de la transaccin se registra en la
segunda copia de seguridad. En la primera copia de seguridad del registro de transacciones no
se registra ninguna operacin de confirmacin o reversin. Si se ejecuta una operacin de
recuperacin cuando se aplica la primera copia de seguridad del registro de transacciones, la
transaccin de larga ejecucin se trata como incompleta y se revierten las modificaciones de
datos registradas en la primera copia de seguridad del registro de transacciones de la
transaccin. SQL Server no admite la aplicacin de la segunda copia de seguridad del registro
de transacciones a partir de este punto.
Es aconsejable restaurar todas las copias de seguridad de registros mediante WITH
NORECOVERY:
- 59 -
Introduzca o seleccione una fecha en el cuadro de lista Fecha. Introduzca o seleccione
una hora en el cuadro de lista Hora.
Para especificar el origen y la ubicacin de los conjuntos de copias de seguridad que
se deben restaurar, haga clic en una de las opciones siguientes:
o Desde base de datos: Escriba un nombre de base de datos en el cuadro de lista.
o Desde dispositivo: Haga clic en el botn de Examinar (...). En el cuadro de dilogo
Especificar copia de seguridad, seleccione uno de los tipos de dispositivo de la
lista en el cuadro de lista Medio para copia de seguridad. Para seleccionar uno o
varios dispositivos del cuadro de lista Ubicacin de la copia de seguridad, haga
clic en Agregar. Tras agregar los dispositivos que desee al cuadro de lista
Ubicacin de la copia de seguridad, haga clic en Aceptar para volver a la pgina
General.
Tras especificar un momento especfico, slo se seleccionan en la columna Restaurar
de la cuadrcula Seleccionar los conjuntos de copia de seguridad que se van a
restaurar las copias de seguridad que deben restaurarse a ese momento. Estas copias
de seguridad seleccionadas componen el plan de restauracin recomendado para la
restauracin a un momento dado. Slo deben utilizarse las copias de seguridad
seleccionadas para la operacin de restauracin a un momento dado.
Para ver o seleccionar opciones avanzadas, haga clic en Opciones en el panel
Seleccionar una pgina.
En el panel Opciones de restauracin, puede seleccionar una de las opciones
siguientes si son apropiadas para su situacin:
o Sobrescribir la base de datos existente
o Conservar la configuracin de replicacin
o Preguntar antes de restaurar cada copia de seguridad
o Restringir el acceso a la base de datos restaurada
Si lo desea, puede restaurar la base de datos a una nueva ubicacin si especifica un
nuevo destino de restauracin para cada archivo de la cuadrcula Restaurar los
archivos de base de datos como.
El panel Estado de recuperacin determina el estado de la base de datos despus de
la operacin de restauracin:
o Dejar la base de datos lista para su uso revirtiendo las transacciones no
confirmadas. No pueden restaurarse registros de transacciones adicionales.
(RESTORE WITH RECOVERY) . Predeterminado
o Dejar la base de datos no operativa y no revertir transacciones no confirmadas.
Pueden restaurarse registros de transacciones adicionales. (RESTORE WITH
NORECOVERY)
o Dejar la base de datos en modo de slo lectura. Deshacer las transacciones sin
confirmar, pero guardar las acciones de deshacer en un archivo en espera para
que los efectos de recuperacin puedan revertirse. (RESTORE WITH STANDBY)
- 60 -
Restauracin online
Slo se admite la restauracin con conexin en SQL Server 2005 Enterprise Edition. En esta
versin, la restauracin de un archivo, una pgina o por etapas es con conexin de manera
predeterminada.
La restauracin de datos mientras la base de datos est conectada se denomina restauracin
con conexin. Se considera que una base de datos est conectada siempre que el grupo de
archivos principal est conectado, aunque alguno de los grupos de archivos secundarios est
sin conexin. En todos los modelos de recuperacin se puede restaurar un archivo sin
conexin mientras la base de datos est conectada. En el modelo de recuperacin completa,
tambin se pueden restaurar pginas mientras la base de datos est conectada.
Durante una operacin de restauracin de archivos con conexin, los archivos que se estn
restaurando y su grupo de archivos estn sin conexin. Si algunos de dichos archivos est
conectado cuando se inicia una restauracin con conexin, la primera instruccin de la
restauracin desconecta el grupo de archivos al que pertenece el archivo. Por el contrario,
durante una restauracin con conexin de una pgina, slo esa pgina est desconectada.
- 61 -
o Restaure el registro utilizando WITH RECOVERY para la ltima restauracin del
registro. As, se conectan los datos restaurados.
A veces, una transaccin sin confirmar no se puede revertir porque los datos necesarios para la
operacin de reversin estn sin conexin durante el inicio. En ese caso, la transaccin se
difiere.
Nota: Si la base de datos est usando en ese momento el modelo de recuperacin por medio
de registros de operaciones masivas, es recomendable cambiar al modelo de recuperacin
completa antes de iniciar la restauracin con conexin.
- 62 -
En todos los modelos de recuperacin puede desconectar la base de datos utilizando
la siguiente instruccin ALTER DATABASE:
Siempre que la base de datos permanezca sin conexin, todas las restauraciones sern sin
conexin.
- 63 -
Mdulo 3
Manejo de Seguridad
- 64 -
1- Seguridad de Base
- 65 -
Una vez instaladas y configuradas las conexiones de red, SQL Server puede escuchar
simultneamente en cualquier combinacin de protocolos de red del servidor.
Para los protocolos de canalizaciones con nombre y memoria compartida, slo puede existir un
extremo por instancia. Para estos tipos de protocolo, no existen extremos configurables. Para
TCP/IP y VIA, existe un extremo predeterminado, pero se pueden crear extremos adicionales.
Los extremos HTTP tambin son creados por el usuario y no aparecen en el Administrador de
configuracin de SQL Server, aunque aparecen en la herramienta Configuracin de superficie.
En los extremos del sistema, slo se puede cambiar el propietario y el estado (mediante
ALTER ENDPOINT). Los extremos predeterminados no pueden deshabilitarse, pero pueden
detenerse e iniciarse. Un extremo que se ha detenido sigue escuchando, pero rechaza y cierra
las conexiones nuevas.
De forma predeterminada, los clientes se configuran para probar todos los protocolos hasta
que uno funcione. Si el protocolo TCP/IP est deshabilitado, los clientes continan con el
siguiente protocolo. Si TCP/IP est habilitado pero el extremo se ha detenido, no se rechazar
el intento de conexin y el cliente no probar otros protocolos, pero no se podr utilizar la
conexin que se ha detenido. En este caso, debe conectarse explcitamente a un extremo
activo.
Los puertos TCP dinmicos normalmente se conectan al extremo TCP predeterminado.
- 66 -
Para incrementar la seguridad del sistema operativo y de los datos, realice lo siguiente para
restringir los derechos de acceso a la red de los usuarios annimos:
Utilice la herramienta Directiva de seguridad local para quitar al grupo Everyone el
derecho de obtener acceso al equipo desde la red. Esta herramienta reside en el grupo
Herramienta administrativas del equipo.
Deshabilite las sesiones nulas para evitar las sesiones annimas o no autenticadas. A
tal efecto, establezca la clave RestrictAnonymous en 1. Esta clave reside en el
Registro de Windows y se encuentra en
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA.
- 67 -
2- Introduccin a la Seguridad de SQL Server
INFORMATION_SCHEMA y sys
Todas las bases de datos incluyen dos entidades que aparecen como usuarios en vistas de
catlogo: INFORMATION_SCHEMA y sys. SQL Server necesita estas dos entidades. No son
entidades de seguridad y no se pueden modificar ni quitar.
Asegurables
Los asegurables son los recursos cuyo acceso es regulado por el sistema de autorizacin del
Motor de base de datos de SQL Server. Algunos asegurables pueden estar incluidos en otros,
con lo que se crean jerarquas anidadas denominadas "mbitos" que a su vez se pueden
asegurar. Los mbitos asegurables son servidor, base de datos y esquema.
- 68 -
Base de datos
Objetos
Los elementos siguientes son miembros de la clase de objeto:
Agregado
Restriccin
Funcin
Procedimiento
Cola
Estadstica
Sinnimo
Tabla
Vista
Funcin fija de
Permiso en el servidor
servidor
- 69 -
serveradmin Se le concede: ALTER ANY ENDPOINT, ALTER RESOURCES, ALTER SERVER STATE,
ALTER SETTINGS, SHUTDOWN, VIEW SERVER STATE
La Funcin public
Adems de las funciones fijas de servidor mencionadas en la tabla anterior, cada instancia de
SQL contiene una funcin fija de servidor especial denominada public de la cual todos los
inicios de sesin son miembros.
A la funcin public se le concede el permiso VIEW ANY DATABASE.
db_ddladmin Concedido: ALTER ANY ASSEMBLY, ALTER ANY ASYMMETRIC KEY, Concedido:
ALTER ANY CERTIFICATE, ALTER ANY CONTRACT, ALTER ANY VIEW ANY
DATABASE DDL TRIGGER, ALTER ANY DATABASE EVENT, DATABASE
NOTIFICATION, ALTER ANY DATASPACE, ALTER ANY FULLTEXT
CATALOG, ALTER ANY MESSAGE TYPE, ALTER ANY REMOTE
SERVICE BINDING, ALTER ANY ROUTE, ALTER ANY SCHEMA,
ALTER ANY SERVICE, ALTER ANY SYMMETRIC KEY, CHECKPOINT,
CREATE AGGREGATE, CREATE DEFAULT, CREATE FUNCTION,
CREATE PROCEDURE, CREATE QUEUE, CREATE RULE, CREATE
SYNONYM, CREATE TABLE, CREATE TYPE, CREATE VIEW,
CREATE XML SCHEMA COLLECTION, REFERENCES
- 70 -
db_denydatawriter Denegado: DELETE, INSERT, UPDATE
db_securityadmin Concedido: ALTER ANY APPLICATION ROLE, ALTER ANY ROLE, Concedido:
CREATE SCHEMA, VIEW DEFINITION VIEW ANY
DATABASE
Jerarqua de Permisos
El Motor de base de datos de SQL Server 2005 administra un conjunto jerrquico de entidades
que se pueden proteger mediante permisos. Estas entidades se conocen como asegurables.
Los asegurables ms importantes son los servidores y las bases de datos, aunque se pueden
establecer permisos discretos en niveles menores. SQL Server regula las acciones de las
entidades de seguridad en los asegurables comprobando que se les han concedido los
permisos adecuados.
En la ilustracin siguiente se muestran las relaciones entre las jerarquas de permisos del
Motor de base de datos.
- 71 -
Trabajar con Permisos
Los permisos se pueden manipular con las conocidas consultas GRANT, DENY y REVOKE de
Transact-SQL. La informacin sobre los permisos est visible en las vistas de catlogo
sys.server_permisions y sys.database_permisions. Tambin hay informacin sobre la
compatibilidad con permisos para consultas mediante el uso de las funciones integradas.
- 72 -
ALTER ANY CREDENTIAL CONTROL SERVER
Conceder Permisos
El que concede (o la entidad de seguridad especificada con la opcin AS) debe tener el
permiso con GRANT OPTION o un permiso superior que implique el permiso que se va a
conceder. Los miembros de la funcin fija de servidor sysadmin pueden conceder cualquier
permiso.
Ejemplos:
a. Conceder un permiso a un inicio de sesin
En el siguiente ejemplo se concede el permiso CONTROL SERVER al inicio de sesin Terry de
SQL Server.
USE master;
GRANT CONTROL SERVER TO Terry;
GO
- 73 -
En el siguiente ejemplo se concede ALTER ANY EVENT NOTIFICATION al inicio de sesin
Janeth de SQL Server con el derecho a conceder este permiso a otro inicio de sesin.
USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO Janeth WITH GRANT OPTION;
GO
- 74 -
CONTROL CONTROL CONTROL SERVER
CREATE DATABASE DDL EVENT ALTER ANY DATABASE EVENT CREATE DDL EVENT
NOTIFICATION NOTIFICATION NOTIFICATION
CREATE REMOTE SERVICE BINDING ALTER ANY REMOTE SERVICE CONTROL SERVER
BINDING
- 75 -
UPDATE CONTROL CONTROL SERVER
Usuario de la base de datos Permiso IMPERSONATE en el usuario debe pertenecer a la funcin fija de
base de datos db_securityadmin , debe pertenecer a la funcin fija de
base de datos db_owner debe pertenecer a la funcin fija de servidor
sysadmin.
Usuario de la base de datos Permiso IMPERSONATE en el usuario debe pertenecer a la funcin fija de
asignado a un inicio de sesin de base de datos db_securityadmin , debe pertenecer a la funcin fija de
Windows base de datos db_owner debe pertenecer a la funcin fija de servidor
sysadmin.
Usuario de la base de datos Debe pertenecer al grupo de Windows, debe pertenecer a la funcin fija de
asignado a un grupo de Windows base de datos db_securityadmin , debe pertenecer a la funcin fija de
base de datos db_owner debe pertenecer a la funcin fija de servidor
sysadmin.
Usuario de la base de datos Debe pertenecer a la funcin fija de base de datos db_securityadmin ,
asignado a un certificado debe pertenecer a la funcin fija de base de datos db_owner o debe
pertenecer a la funcin fija de servidor sysadmin.
Usuario de la base de datos Debe pertenecer a la funcin fija de base de datos db_securityadmin ,
asignado a una clave asimtrica debe pertenecer a la funcin fija de base de datos db_owner o debe
pertenecer a la funcin fija de servidor sysadmin.
Usuario de la base de datos Permiso IMPERSONATE en el usuario debe pertenecer a la funcin fija de
asignado a cualquier entidad de base de datos db_securityadmin , debe pertenecer a la funcin fija de
seguridad de servidor base de datos db_owner debe pertenecer a la funcin fija de servidor
sysadmin.
Funcin de base de datos Permiso ALTER en la funcin, debe pertenecer a la funcin fija de base de
datos db_securityadmin , debe pertenecer a la funcin fija de base de
datos db_owner debe pertenecer a la funcin fija de servidor sysadmin.
Funcin de aplicacin Permiso ALTER en la funcin, debe pertenecer a la funcin fija de base de
datos db_securityadmin , debe pertenecer a la funcin fija de base de
datos db_owner debe pertenecer a la funcin fija de servidor sysadmin.
Los propietarios de objetos pueden conceder permisos en los objetos que poseen. Las
entidades de seguridad que tienen el permiso CONTROL en un elemento que puede
protegerse pueden conceder permisos en ese elemento.
Los receptores del permiso CONTROL SERVER, como los miembros de la funcin fija de
servidor sysadmin, pueden conceder los permisos en cualquier elemento que puede
protegerse en el servidor.
Ejemplos
a. Conceder el permiso para crear tablas
En el siguiente ejemplo se concede el permiso CREATE TABLE en la base de datos
AdventureWorks para el usuario Melanie.
USE AdventureWorks;
GRANT CREATE TABLE TO Melanie;
GO
- 76 -
b. Conceder el permiso SHOWPLAN para una funcin de aplicacin
En el siguiente ejemplo se concede el permiso SHOWPLAN en la base de datos
AdventureWorks para la funcin de aplicacin AuditMonitor.
USE AdventureWorks;
GRANT SHOWPLAN TO AuditMonitor;
GO
USE AdventureWorks;
GRANT CREATE VIEW TO Carmine WITH GRANT OPTION;
GO
Permiso del esquema Implicado por el permiso del esquema Implicado por el permiso de base de datos
- 77 -
conceder permiso ALTER en un esquema si el propietario de dicho esquema tambin es
propietario de otros esquemas.
Por ejemplo, este problema puede suceder en los siguientes escenarios. En ellos se supone
que un usuario, denominado U1, tiene permiso ALTER en el esquema S1. Se deniega al
usuario U1 acceso a un objeto tabla, denominado T1, en el esquema S2. Los esquemas S1 y
S2 son propiedad del mismo propietario.
El usuario U1 tiene permiso CREATE PROCEDURE en la base de datos y permiso EXECUTE
en el esquema S1. Por tanto, el usuario U1 puede crear un procedimiento almacenado y
despus tener acceso al objeto T1 denegado en el procedimiento almacenado.
El usuario U1 tiene permiso CREATE SYNONYM en la base de datos y permiso SELECT en el
esquema S1. Por tanto, el usuario U1 puede crear un sinnimo en el esquema S1 para el
objeto T1 denegado y despus tener acceso a dicho objeto mediante el sinnimo.
El usuario U1 tiene permiso CREATE VIEW en la base de datos y permiso SELECT en el
esquema S1. Por tanto, el usuario U1 puede crear una vista en el esquema S1 para consultar
datos del objeto T1 denegado y despus tener acceso a dicho objeto mediante la vista.
Los propietarios de objetos pueden conceder permisos en los objetos que poseen. Las
entidades de seguridad con el permiso CONTROL en un elemento que puede protegerse
pueden conceder permisos en ese elemento.
Los receptores del permiso CONTROL SERVER, como los miembros de la funcin fija de
servidor sysadmin, pueden conceder los permisos en cualquier elemento que puede
protegerse en el servidor. Los receptores del permiso CONTROL en una base de datos, como
los miembros de la funcin fija de base de datos db_owner, pueden conceder los permisos en
cualquier elemento que puede protegerse en la base de datos. Los receptores del permiso
CONTROL en un esquema pueden conceder los permisos en cualquier objeto del esquema.
Ejemplos
a. Conceder a un invitado permiso INSERT en el esquema HumanResources.
Cifrado y Certificados
El cifrado no resuelve los problemas de control de acceso. Sin embargo, mejora la seguridad
debido a que limita la prdida de datos, incluso en el caso poco probable de que se superen los
controles de acceso. Por ejemplo, si el equipo host de base de datos no est configurado
correctamente y un pirata informtico obtiene datos confidenciales, como nmeros de tarjetas
de crdito, esa informacin robada resulta inservible si est cifrada.
Jerarqua de Cifrado
SQL Server 2005 cifra los datos con una infraestructura de cifrado jerrquico y administracin
de claves. Cada capa cifra la capa inferior utilizando una combinacin de certificados, claves
asimtricas y claves simtricas.
El cifrado jerrquico est basado en una clave maestra de servicio (Service Master Key), sta
clave es generada automticamente cuando se instala SQL Server 2005.
El motor de base de datos utiliza la clave maestra de servicio para cifrar los siguientes objetos:
Passwords de Servidores Vinculados (Linked Server Passwords)
Cadenas de Conexin (Connection Strings)
- 78 -
Credenciales de Cuentas (Account Credentials)
Todas las Claves maestras de la base de datos
A la llave maestra de servicio se le debe sacar un backup y almacenarla en un sitio seguro y
fuera de lnea. Esto para poder administrar mas fcilmente ya sea hacer copias de seguridad o
restaurar la clave maestra de servicio en caso de que sea necesario.
- 79 -
SQL Server 2005 le ofrece los mecanismos siguientes para el cifrado:
Certificados
Claves asimtricas
Claves simtricas
Certificados
Un certificado de clave pblica, normalmente denominado solo certificado, es una instruccin
firmada digitalmente que enlaza el valor de una clave pblica con la identidad de la persona,
dispositivo o servicio que tiene la clave privada correspondiente. Las entidades emisoras de
certificados (CA) son las encargadas de emitir y firmar los certificados. La entidad que recibe
un certificado de una CA es el sujeto de ese certificado. Por lo general, los certificados
contienen la siguiente informacin.
La clave pblica del sujeto.
La informacin que identifica al sujeto, como el nombre y la direccin de correo
electrnico.
El periodo de validez. Es decir, el periodo de tiempo durante el que el certificado se
considera vlido.
Un certificado slo es vlido durante el periodo de tiempo que se especifica en el
mismo; todos los certificados contienen una fecha Vlido desde y otra Vlido hasta.
Estas fechas establecen los lmites del perodo de validez. Cuando el perodo de
validez de un certificado ha transcurrido, es necesario que el sujeto del certificado
caducado solicite uno nuevo.
Informacin de identificador del emisor.
La firma digital del emisor. Esta firma da fe de la validez de las obligaciones entre la
clave pblica y la informacin de identificador del sujeto. (El proceso de firmar
digitalmente la informacin conlleva a transformar la informacin, as como cierta
informacin privada que conserva el remitente, en una etiqueta denominada firma.)
Una de las principales ventajas de los certificados es que liberan a los hosts de la necesidad de
establecer contraseas para sujetos individuales. En su lugar, el host simplemente establece la
confianza en un emisor de certificados, que a continuacin puede firmar un nmero ilimitado de
certificados.
Cuando un host, por ejemplo, un servidor Web seguro, designa a un emisor como entidad
emisora raz de confianza, el host implcitamente confa en las directivas que el emisor ha
utilizado para establecer las obligaciones de los certificados que emite. En efecto, el host confa
en que el emisor ha comprobado la identidad del sujeto del certificado. Un host designa a un
emisor como entidad emisora raz de confianza presentando el certificado autofirmado del
emisor, que contiene la clave pblica de ste, en el almacn de certificados de la entidad
emisora de certificados raz de confianza del equipo host. Las entidades emisoras de
certificados intermedias o subordinadas slo son de confianza si tienen una ruta vlida de
certificacin procedente de una entidad emisora de certificados raz.
El emisor puede revocar un certificado antes de que caduque. La revocacin cancela las
obligaciones que una clave pblica tiene con una identidad que se exprese en el certificado.
Cada emisor mantiene una lista de revocacin de certificados que los programas pueden
utilizar cuando estn comprobando la validez de un certificado determinado.
Dentro de las posibilidades de los certificados, se puede cargar desde un ensamblado o bien
desde un archivo que contenga el certificado, como as tambin crear uno desde SQL 2005.
Para la creacin de estos certificados SQL dispones de la sentencia TSQL CREATE
CERTIFICATE y su sintaxis es la siguiente:
- 80 -
CREATE CERTIFICATE certificate_name [ AUTHORIZATION user_name ]
{ FROM <existing_keys> | <generate_new_keys> }
[ ACTIVE FOR BEGIN_DIALOG = { ON | OFF } ]
<existing_keys> ::=
ASSEMBLY assembly_name
|{
[ EXECUTABLE ] FILE = 'path_to_file'
[ WITH PRIVATE KEY ( <private_key_options> ) ]
}
<generate_new_keys> ::=
[ ENCRYPTION BY PASSWORD = 'password']
WITH SUBJECT = 'certificate_subject_name'
[ , <date_options> [ ,...n ] ]
<private_key_options> ::=
FILE = 'path_to_private_key'
[ , DECRYPTION BY PASSWORD = password]
[ , ENCRYPTION BY PASSWORD = password]
<date_options> ::=
START_DATE = 'mm/dd/yyyy' | EXPIRY_DATE = 'mm/dd/yyyy'
USE AdventureWorks
GO
CREATE CERTIFICATE CERTIFICADO1
ENCRYPTION BY PASSWORD ='COMPLEJO'
EXPIRY_DATE =''10/31/2009'',
SUBJECT = Adventure Works Customers'
USE AdventureWorks
GO
CREATE CERTIFICATE CERTIFICADO1
FROM FILE = 'c:\Cert\certificado.cer'
GO
Claves Asimtricas
Una clave asimtrica se compone de una clave privada y su correspondiente clave pblica.
Cada clave puede descifrar los datos que cifra la otra. Una clave asimtrica se puede utilizar
para cifrar una clave simtrica para almacenar en una base de datos.
Las claves asimtricas son entidades que pueden protegerse a nivel de la base de datos. Por
defecto, la clave privada es protegida por la Master Key; de no existir esta ltima, es necesario
una contrasea. La clave privada puede ser de 512, 1024 2048 Bits. El cifrado y descifrado
asimtricos consumen una cantidad grande de recursos pero proporcionan un nivel de
seguridad superior al del cifrado simtrico.
- 81 -
Para crear claves asimtricas se utiliza CREATE ASYMMETRIC KEY.
Ejemplo:
USE AdventureWorks
GO
CREATE ASYMMETRIC KEY ClaveAsym
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD ='$$PEPE$$'
GO
Claves Simtricas
Una clave simtrica es una clave que se utiliza para el cifrado y el descifrado. El cifrado y el
descifrado con una clave simtrica son ms rpidos y adecuados para usarlos de forma
rutinaria con datos confidenciales de una base de datos.
Al crear una clave simtrica, sta debe ser cifrada utilizando una de 4 opciones: certificado,
contrasea, clave simtrica o clave asimtrica. Esta clave puede tener ms de un cifrado de
cada tipo.
Si se utiliza contrasea (password) para cifrar la clave simtrica, entonces en lugar de utilizar la
clave publica de la base de datos (Master Key) se debe utilizar el algoritmo Triple DES. Para
la creacin de las claves simtricas se utiliza CREATE SIMMETRIC KEY.
Ejemplo:
USE AdventureWorks
GO
CREATE SYMMETRIC KEY SYM_KEY
WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY PASSWORD ='##JUAN##'
Nota: Es muy importante realizar un backup de los certificados, como as tambin de las
Master Key; para ello, SQL 2005 dispone de las sentencias BACKUP CERTIFICATE, BACKUP
MASTER KEY.
- 82 -
3- Implementacin de Seguridad en SQL Server 2005
- 83 -
Si selecciona la autenticacin de Windows durante la instalacin, el programa de instalacin
crea la cuenta sa para la autenticacin de SQL Server pero se deshabilita. Si despus cambia
a la autenticacin de modo mixto y desea utilizar la cuenta sa, debe habilitar la cuenta.
Cualquier cuenta de SQL Server o de Windows se puede configurar como del administrador del
sistema. Dado que la cuenta sa es muy conocida y a menudo es el objetivo de usuarios
malintencionados, no la habilite a menos que la aplicacin lo requiera. Nunca establezca una
contrasea en blanco o con poca seguridad para la cuenta sa.
Hay tres directivas de contraseas opcionales para los inicios de sesin de SQL Server.
El usuario debe cambiar la contrasea en el siguiente inicio de sesin
Exige que el usuario cambie la contrasea la prxima vez que se conecte. SQL Server
Management Studio proporciona la capacidad de cambiar la contrasea. Otros
programadores de software deberan proporcionar esta caracterstica si se utiliza esta
opcin.
Exigir expiracin de contrasea. La directiva de vigencia mxima de la contrasea del
equipo se exige para los inicios de sesin de SQL Server.
Exigir directivas de contraseas. Las directivas de contraseas de Windows del equipo
se exigen para los inicios de sesin de SQL Server. Esto incluye la longitud y
complejidad de las contraseas. Esta funcionalidad depende de la API
NetValidatePasswordPolicy, que slo est disponible en Windows Server 2003 y
versiones posteriores.
- 84 -
Ventajas de la Autenticacin de SQL Server
Permite a SQL Server admitir las aplicaciones anteriores y las que proporcionan
terceros y requieren la autenticacin de SQL Server.
Permite que SQL Server admita entornos con sistemas operativos mixtos, en los que
un dominio de Windows no autentica a todos los usuarios.
Permite a los usuarios conectarse desde dominios desconocidos o que no son de
confianza. Por ejemplo, una aplicacin en la que los clientes establecidos se conectan
con los inicios de sesin de SQL Server asignados para recibir el estado de sus
pedidos.
Permite que SQL Server admita aplicaciones basadas en WEB en las que los usuarios
crean sus propias identidades.
Permite a los desarrolladores de software distribuir sus aplicaciones utilizando una
jerarqua de permisos compleja basada en los inicios de sesin conocidos y
preestablecidos de SQL Server.
SQL Server 2005 puede ser configurado para utilizar unos de estos modos de autenticacin:
Directiva de Contraseas
Cuando SQL Server 2005 se ejecuta en Windows Server 2003 o versiones posteriores, puede
utilizar mecanismos de directiva de contraseas de Windows.
SQL Server 2005 puede aplicar las mismas directivas de complejidad y caducidad que se usan
en Windows Server 2003 a las contraseas que se usan en SQL Server. Esta funcionalidad
- 85 -
depende de la API NetValidatePasswordPolicy, que slo est disponible en Windows
Server 2003 y versiones posteriores.
Las directivas de complejidad de contraseas estn diseadas para impedir ataques por fuerza
bruta mediante el aumento del nmero de contraseas posibles. Cuando se aplica la directiva
de complejidad de contraseas, se exige que las nuevas contraseas cumplan las siguientes
directrices:
La contrasea no debe contener parte o todo el nombre de la cuenta del usuario. Una
parte de un nombre de cuenta se define como tres o ms caracteres alfanumricos
consecutivos delimitados en ambos extremos por un espacio en blanco, como un
espacio, tabulacin, retorno, etc., o por alguno de los siguientes caracteres: coma (,),
punto (.), guin (-), carcter de subrayado (_) o signo de nmero (#).
La contrasea debe tener una longitud de ocho caracteres como mnimo.
La contrasea debe contener caracteres de tres de las siguientes categoras:
o Letras en maysculas del alfabeto Latn (de la A a la Z)
o Letras en minsculas del alfabeto Latn (de la "a" a la "z")
o Dgitos en base 10 (del 0 al 9)
o Caracteres que no sean alfanumricos, como signo de exclamacin (!), signo de
moneda ($), signo de nmero (#) o porcentaje (%).
Las contraseas pueden tener hasta 128 caracteres. Se recomienda utilizar contraseas lo
ms largas y complejas posible.
- 86 -
Un problema conocido de Windows Server 2003 puede impedir que el recuento de contraseas
errneas se restablezca una vez alcanzado LockoutThreshold. Esto puede provocar un
bloqueo inmediato en posteriores intentos de inicio de sesin errneos. Puede restablecer el
recuento de contraseas errneas de forma manual; para ello, tiene que establecer
simplemente CHECK_POLICY = OFF, seguido de CHECK_POLICY = ON.
Contraseas Seguras
Las contraseas pueden constituir el vnculo ms dbil de una implementacin de seguridad de
servidor. Debe tener siempre mucho cuidado a la hora de elegir una contrasea. Una
contrasea segura presenta las siguientes caractersticas:
Tiene una longitud de 8 caracteres como mnimo.
Contiene una combinacin de letras, nmeros y smbolos.
No es una palabra que pueda encontrarse en el diccionario.
No es el nombre de un comando.
No es el nombre de una persona.
No es el nombre de un usuario.
No es el nombre de un equipo.
Se cambia con frecuencia.
Presenta diferencias notables con respecto a contraseas anteriores.
Las contraseas de SQL Server pueden contener hasta 128 caracteres, entre los que se
pueden incluir letras, smbolos y dgitos. Dado que los inicios de sesin, nombres de usuario,
funciones y contraseas se utilizan con frecuencia en instrucciones Transact-SQL,
determinados smbolos debern estar incluidos entre comillas dobles (") o corchetes ([ ]). Utilice
estos delimitadores en las instrucciones Transact-SQL cuando el inicio de sesin, usuario,
funcin o contrasea de SQL Server presente las siguientes caractersticas:
Contiene o comienza por un carcter de espacio.
Comienza por el carcter $ o @.
Para crear un inicio de sesin de SQL Server que use la autenticacin de Windows (SQL
Server Management Studio)
En SQL Server Management Studio, abra el Explorador de objetos y expanda la
carpeta de la instancia de servidor en la que se crear el nuevo inicio de sesin.
Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a
continuacin, Inicio de sesin.
- 87 -
En la pgina General, escriba el nombre de un usuario de Windows en el cuadro
Nombre de inicio de sesin.
Seleccione Autenticacin de Windows.
Haga clic en Aceptar.
Para crear un inicio de sesin de SQL Server que use la autenticacin de SQL Server (SQL
Server Management Studio)
En SQL Server Management Studio, abra el Explorador de objetos y expanda la
carpeta de la instancia de servidor en la que se crear el nuevo inicio de sesin.
Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a
continuacin, Inicio de sesin.
En la pgina General, escriba un nombre para el nuevo inicio de sesin en el cuadro
Nombre de inicio de sesin.
Seleccione Autenticacin de SQL Server. La autenticacin de Windows es la opcin
ms segura.
Escriba una contrasea de inicio de sesin.
Seleccione las opciones de la directiva de contraseas que deben aplicarse al nuevo
inicio de sesin. En general, exigir la directiva de contraseas es la opcin ms segura.
Haga clic en Aceptar.
- 88 -
Para crear un inicio de sesin de SQL Server que use la autenticacin de Windows con
Transact-SQL
Para crear un inicio de sesin de SQL Server que use la autenticacin de SQL Server con
Transact-SQL
El ejemplo siguiente crea un inicio de sesin para un usuario determinado y asigna una
contrasea. La opcin MUST_CHANGE requiere que los usuarios cambien la contrasea la
primera vez que se conectan al servidor.
Ejemplos:
a. Para crear un inicio de sesin asociado a una credencial
USE MASTER;
CREATE CERTIFICATE <Nombre_certificado>
WITH SUBJECT = '<nombre_login> CERTIFICATE IN master database',
EXPIRY_DATE = '02/02/2009';
GO
CREATE LOGIN < nombre_login > FROM CERTIFICATE < Nombre_certificado >;
GO
- 89 -
DROP LOGIN Alice
Para crear un usuario de base de datos mediante SQL Server Management Studio
En SQL Server Management Studio, abra el Explorador de objetos y expanda la
carpeta Bases de datos.
Expanda la base de datos en la que se va a crear el usuario de la misma.
Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a
continuacin, haga clic en Usuario.
En la pgina General, escriba un nombre para el usuario en el cuadro Nombre de
usuario.
En el cuadro Nombre de inicio de sesin, escriba el nombre de un inicio de sesin de
SQL Server para asignarlo al usuario de la base de datos.
Haga clic en Aceptar.
- 90 -
Para crear un usuarios de bases de datos mediante Transact-SQL
USE <nombre_base_datos>
GO
Ejemplos:
a. Crear un usuario de base de datos
- 91 -
USE AdventureWorks;
CREATE USER Mary FOR LOGIN Mary
WITH DEFAULT_SCHEMA = Marketing;
Nota: Se debe evitar el uso de la cuenta guest, ya que todos los inicios de sesin que no
dispongan de permisos de base de datos propios obtendrn los permisos de base de datos
concedidos a esta cuenta. Si debe usar la cuenta guest, concdale los permisos mnimos.
Delegacin
SQL Server y Windows pueden estar configurados para permitir que una instancia de SQL
Server se conecte a otra instancia de SQL Server en el mismo contexto de un usuario
autenticado por Windows. Esta tcnica se denomina delegacin.
Por ejemplo, un procedimiento almacenado en una base de datos en el Servidor1 podra
consultar una tabla en una base de datos en el Servidor2. Cuando se utiliza delegacin, el
procedimiento almacenado utiliza la identidad del usuario que lo llam cuando requiera datos
del Servidor2.
- 92 -
Windows Server 2003 permite delegaciones ms especficas que versiones anteriores de
Windows. Windows Server 2003 permite establecer derechos de delegacin a una combinacin
particular de servicios.
Credenciales
Una credencial es un registro que contiene la informacin de autenticacin (credenciales)
necesaria para conectarse a un recurso situado fuera de SQL Server. Esta informacin la utiliza
SQL Server internamente. La mayora de las credenciales incluyen un nombre de usuario y una
contrasea de Windows.
La informacin almacenada en una credencial permite al usuario que se ha conectado a SQL
Server mediante la autenticacin de SQL Server obtener acceso a recursos situados fuera de
la instancia del servidor. Cuando el recurso externo es Windows, el usuario se autentica como
el usuario de Windows especificado en la credencial. Se puede asignar una nica credencial a
varios inicios de sesin de SQL Server. Sin embargo, un inicio de sesin de SQL Server slo
se puede asignar a una credencial.
Las credenciales del sistema se crean de forma automtica y se asocian a extremos
especficos. Los nombres de las credenciales del sistema comienzan por dos signos de nmero
(##).
Usted puede crear una credencial desde SQL Management Studio o bien utilizando CREATE
CREDENTIAL.
Argumentos:
Nombre credencial: especifica el nombre de la credencial a ser creada. No puede
comenzar con el smbolo #.
Nombre_identity: Especifica el nombre de la cuenta que se utilizar para la conexin
fuera del servidor.
secreto: Especifica una palabra secreta para la autenticacin. Esta clusula es
opcional.
- 93 -
Mdulo 4
Monitoreo de SQL
Server
- 94 -
1- Monitorear la Actividad en Curso
Determinar la actividad de los usuarios
Se puede monitorear la actividad de cada usuario para identificar el tipo y la ubicacin de las
transacciones de bloqueo o el rendimiento lento de Microsoft SQL Server.
La supervisin de la actividad de los usuarios ayuda a identificar tendencias como los tipos de
transacciones ejecutadas por los usuarios, el nmero de consultas ineficaces y ad hoc, y los
tipos de transacciones que requieren la mayor parte de los recursos. Para recopilar informacin
estadstica sobre los usuarios, utilice el Analizador de SQL Server o el Monitor de sistema.
Utilice el Monitor de actividad de SQL Server Management Studio para la supervisin ad hoc de
SQL Server, lo que permite determinar la actividad de los usuarios en el sistema.
Para abrir el Monitor de actividad en SQL Server Management Studio, conctese al servidor
mediante el Explorador de objetos, expanda Administracin y, a continuacin, haga doble clic
en Monitor de actividad.
- 95 -
Monitor de actividad de trabajo
El Monitor de actividad de trabajo permite ver la tabla sysjobactivity mediante SQL Server
Management Studio. Puede ver todos los trabajos del servidor, o bien puede definir filtros para
limitar el nmero de trabajos mostrados. Tambin puede ordenar la informacin sobre los
trabajos haciendo clic en un encabezado de columna de la cuadrcula Actividad de Trabajo
del Agente. Por ejemplo, al seleccionar el encabezado de columna ltima ejecucin, puede
ver los trabajos en el orden en que se ejecutaron por ltima vez. Al volver a hacer clic en el
encabezado de columna, el orden de los trabajos cambia entre ascendente y descendente
basndose en la fecha en que se ejecutaron por ltima vez.
- 96 -
Utilice el Monitor de actividad de trabajo cuando desee localizar los trabajos que estn
programados para su ejecucin, el ltimo resultado de los trabajos que se han ejecutado
durante la sesin actual y localizar los trabajos que se estn ejecutando actualmente o que
estn inactivos. Si el servicio del Agente SQL Server tiene un error inesperado, puede
determinar los trabajos que se estaban ejecutando buscando en la sesin anterior del Monitor
de Actividad de Trabajo.
- 97 -
Sesiones del Agente SQL Server
El Agente SQL Server crea una sesin cada vez que se inicia el servicio. Al crear una sesin, la
tabla sysjobactivity de la base de datos msdb se rellena con todos los trabajos definidos
existentes. Esta tabla mantiene la ltima actividad para los trabajos cuando se reinicia el
Agente SQL Server. Cada sesin registra la actividad de trabajo normal del Agente SQL Server
desde el inicio del trabajo hasta que se termina. La informacin acerca de estas sesiones se
almacena en la tabla syssessions de la base de datos msdb.
Para ejecutar una consulta en una funcin o vista de administracin dinmica, es necesario el
permiso SELECT sobre el objeto y el permiso VIEW SERVER STATE o VIEW DATABASE
STATE. As podr restringir de forma selectiva el acceso de un usuario o inicio de sesin a las
- 98 -
funciones y vistas de administracin dinmica. Para ello, cree primero el usuario en la base de
datos master y, a continuacin, deniguele el permiso SELECT sobre las funciones o vistas de
administracin dinmica a las que no desea que tenga acceso. Despus de esto, el usuario no
podr seleccionar ninguna de estas funciones o vistas de administracin dinmica, sin tener en
cuenta el contexto de la base de datos del usuario.
Nota: Dado que el permiso DENY tiene prioridad, si un usuario tiene concedido el permiso
VIEW SERVER STATE, pero tiene denegado el permiso VIEW DATABASE STATE, el usuario
podr ver la informacin en el servidor, pero no en la base de datos.
Vista de Administracin
Descripcin
Dinmica
sys.dm_exec_sessions Devuelve una fila por cada sesin autenticada en SQL Server.
sys.dm_exec_sessions es una vista de mbito de servidor que muestra
informacin acerca de todas las conexiones de usuario activas y las tareas
internas.
sys.dm_io_pending_io_requests Devuelve una fila para cada peticin de E/S pendiente de SQL Server.
sys.dm_os_memory_pools Devuelve una fila para cada almacn de objetos en la instancia de SQL
Server.
sys.dm_os_threads Devuelve una lista de todos los subprocesos del sistema operativo SQL
Server que se estn ejecutando en el proceso de SQL Server.
sys.dm_broker_queue_monitors Devuelve una fila por cada monitor de cola en la instancia. Un monitor de cola
administra la activacin de una cola.
Las vistas de catlogo no contienen informacin sobre los datos de catlogo de rplica, copia
de seguridad, plan de mantenimiento de bases de datos o Agente SQL Server.
Algunas vistas de catlogo heredan filas de otras vistas de catlogo. Por ejemplo, la vista de
catlogo sys.tables hereda de la vista de catlogo sys.objetcs. La vista de catlogo
sys.objects se denomina vista base y la vista sys.tables se denomina vista derivada. La vista
de catlogo sys.tables devuelve las columnas especficas de tablas y todas las columnas que
devuelve la vista de catlogo sys.objects. La vista de catlogo sys.objects devuelve filas de
objetos distintos de tablas, como procedimientos almacenados y vistas. Despus de crear una
tabla, sus metadatos se devuelven en ambas vistas. Si bien las dos vistas de catlogo
devuelven diferentes niveles de informacin sobre la tabla, slo existe una entrada en los
metadatos para esta tabla con un nombre y un object_id. Esto se puede resumir de la manera
siguiente:
La vista base contiene un subconjunto de columnas y un superconjunto de filas.
- 99 -
La vista derivada contiene un superconjunto de columnas y un subconjunto de filas.
- 100 -
2- Monitor de Sistemas (Windows)
Utilice el Monitor de sistema para supervisar el uso de los recursos del sistema. Recopile y vea
datos de rendimiento en tiempo real en forma de contadores para recursos de servidor, como el
uso del procesador y la memoria, y para muchos recursos de Microsoft SQL Server, como los
bloqueos y las transacciones.
Para iniciar el Monitor de sistema en Windows en el men Inicio, haga clic en Ejecutar, escriba
perfmon en el cuadro de texto y haga clic en Aceptar. O seleccione la opcin Rendimiento de
las Herramientas Administrativas del Panel de Control.
Algunos objetos tienen varias instancias si existen varios recursos de un determinado tipo en el
equipo. Por ejemplo, el tipo de objeto Procesador tendr varias instancias si un sistema
contiene varios procesadores. El tipo de objeto Bases de datos tiene una instancia para cada
base de datos de SQL Server. Algunos tipos de objetos (por ejemplo, el objeto Administrador
de memoria) tienen slo una instancia. Si un tipo de objeto tiene varias instancias, puede
agregar contadores para realizar un seguimiento de las estadsticas relativas a cada instancia
o, en muchos casos, de todas las instancias a la vez. Los contadores de la instancia
predeterminada aparecen con el formato SQLServer:<object name>. Los contadores de las
- 101 -
instancias con nombre aparecen con el formato MSSQL$<instance name>:<counter name> o
SQLAgent$<instance name>:<counter name>.
Nota: Las estadsticas de SQL Server se muestran slo si se instala una instancia de SQL
Server. Si detiene y reinicia una instancia de SQL Server, se interrumpir la presentacin de
estadsticas y, despus, se reanudar automticamente. Tenga en cuenta tambin que ver
los contadores de SQL Server en el complemento del Monitor de sistema incluso si SQL Server
no se est ejecutando. En una instancia agrupada, los contadores de rendimiento slo
funcionan en el nodo en el que se ejecuta SQL Server.
SQLServer:Mtodos de Mide y realiza bsquedas mediante objetos de base de datos de SQL Server y su
acceso asignacin (por ejemplo, el nmero de bsquedas de ndices o de pginas
asignadas a ndices y datos).
SQLServer:Backup Device Proporciona informacin acerca de dispositivos de copia de seguridad utilizados para
operaciones de copia de seguridad y restauracin, como el rendimiento del
dispositivo.
SQLServer:Buffer Manager Proporciona informacin acerca de los bferes de memoria que utiliza SQL Server,
como la memoria disponible y la proporcin de aciertos de cach del bfer.
SQLServer:Buffer Manager Proporciona informacin acerca de la frecuencia con que SQL Server solicita
pginas libres y obtiene acceso a las mismas.
SQLServer:Databases Proporciona informacin acerca de una base de datos de SQL Server, como la
cantidad de espacio de registro disponible o el nmero de transacciones activas en
la base de datos. Pueden existir mltiples instancias de este objeto.
SQLServer General Proporciona informacin acerca de la actividad general de todo el servidor, como el
Statistics nmero de usuarios conectados a una instancia de SQL Server.
SQLServer Latches Proporciona informacin acerca de los pestillos de los recursos internos, como las
pginas de las bases de datos que utiliza SQL Server.
SQLServer:Locks Proporciona informacin acerca de las peticiones de bloqueo individuales que realiza
SQL Server, como los tiempos de espera de bloqueos y los interbloqueos. Pueden
existir mltiples instancias de este objeto.
- 102 -
SQLServer:Memory Proporciona informacin acerca de la utilizacin de memoria de SQL Server como,
Manager por ejemplo, el nmero total de estructuras de bloqueo asignadas actualmente.
SQLServer:Cach del plan Proporciona informacin acerca de la cach de SQL Server que se utiliza para
almacenar objetos como procedimientos almacenados, desencadenadores y planes
de consultas.
SQLServer Transactions Proporciona informacin acerca de las transacciones activas de SQL Server, como
el nmero global de transacciones y el nmero de transacciones de instantneas.
SQLServer:User Settable Realiza una supervisin personalizada. Cada contador puede ser un procedimiento
almacenado personalizado o cualquier instruccin Transact-SQL que devuelva un
valor para Monitorear.
La posibilidad de utilizar los objetos de SQL Server depende de los permisos de Windows,
salvo SQLAgent:Alertas. Los usuarios deben ser miembros de la funcin fija de servidor
sysadmin para poder utilizar SQLAgent:Alertas.
Al monitorear SQL Server y el sistema operativo Microsoft Windows para investigar problemas
relacionados con el rendimiento, hay tres reas principales en las que debe concentrarse
inicialmente:
Actividad del disco
Uso del procesador
Uso de la memoria
Puede resultar til monitorear el sistema operativo Windows y los contadores de SQL Server al
mismo tiempo para determinar las posibles correlaciones entre el rendimiento de SQL Server y
el de Windows. Por ejemplo, la supervisin simultnea de los contadores de E/S de disco de
Windows y los contadores del Administrador de bfer de SQL Server puede mostrar el
comportamiento del sistema en su totalidad.
La supervisin de un equipo en el que se ejecuta el Monitor de sistema puede afectar un poco
al rendimiento del equipo. Por tanto, registre los datos del Monitor de Sistema en otro disco o
en otro equipo para reducir as el efecto en el equipo que est supervisando, o bien ejecute el
Monitor de Sistema desde un equipo remoto. Supervise slo los contadores en los que est
interesado. Si supervisa demasiados contadores, la sobrecarga de uso de los recursos se
agrega al proceso de supervisin y afecta al rendimiento del equipo que se est supervisando.
- 103 -
Ver y cambiar grficos para reflejar la actividad actual y mostrar valores de contadores
que se actualizan con la frecuencia definida por el usuario.
Exportar datos desde grficos, registros, registros de alertas e informes a aplicaciones
de hoja de clculo o de base de datos para manipularlos e imprimirlos.
Agregar alertas del sistema que muestran un evento en el registro de alertas y que
pueden notificarse mediante una alerta de red.
Ejecutar un programa predefinido la primera vez, o todas las veces, que el valor de un
contador sea superior o inferior a un valor definido por el usuario.
Crear archivos de registro que contengan datos relativos a diversos objetos de equipos
diferentes.
Anexar a un archivo secciones seleccionadas de otros archivos de registro existentes
para crear un archivo de almacenamiento a largo plazo.
Ver informes de la actividad actual o crear informes a partir de archivos de registro
existentes.
Guardar la configuracin de grficos, alertas, registros o informes individuales, o bien
de toda el rea de trabajo, para volverla a utilizar.
Utilice los valores de los contadores Longitud actual de la cola de disco y % Tiempo de
disco para detectar puntos de congestin en el subsistema de disco. Si los valores de los
contadores Longitud actual de la cola de disco y % Tiempo de disco son altos, considere la
posibilidad de:
Utilizar una unidad de disco ms rpida.
- 104 -
Mover algunos archivos a otro disco o servidor.
Agregar discos a una matriz RAID, si se est utilizando una.
Si utiliza un dispositivo RAID, el contador % Tiempo de disco puede indicar un valor superior
al 100%. En tal caso, utilice el contador DiscoFsico: Long. media de la cola de disco para
determinar el promedio de peticiones del sistema que estn en espera de acceso al disco.
Las aplicaciones y sistemas enlazados a E/S pueden mantener el disco constantemente activo.
Supervise el contador Memoria: Errores de pgina/s. para asegurarse de que la actividad del
disco no est causada por la paginacin. En Windows, la paginacin est causada por lo
siguiente:
Procesos configurados para utilizar demasiada memoria
Actividad del sistema de archivos
Si tiene ms de una particin lgica en el mismo disco duro, utilice los contadores Disco lgico
en lugar de los contadores Disco fsico. Si observa los contadores de disco lgico, podr
determinar los archivos con un acceso frecuente. Una vez que haya encontrado los discos con
mucha actividad de lectura y escritura, observe los contadores especficos de lectura y
escritura para ver el tipo de actividad del disco que causa la carga en cada volumen lgico. Por
ejemplo, Disco lgico: Bytes escritos en disco por segundo.
En el Monitor del Sistema, estos contadores supervisan el volumen de actividad de E/S que
generan los componentes de SQL Server examinando las reas de rendimiento siguientes:
Escritura de pginas en disco
Lectura de pginas del disco
- 105 -
del tiempo de procesador en un procesador especfico. Para determinar el promedio de todos
los procesadores, utilice el contador Sistema: % Tiempo total de procesador.
Para monitorear el uso del procesador tambin puede utilizar los siguientes contadores:
Procesador: % Tiempo privilegiado: Porcentaje de tiempo de procesador dedicado
a la ejecucin de comandos del ncleo de Microsoft Windows, como el procesamiento
de solicitudes de E/S de SQL Server. Si este contador es constantemente alto cuando
los contadores Disco fsico son altos, considere la posibilidad de instalar un
subsistema de disco ms rpido o eficaz.
Procesador: % Tiempo de usuario: Porcentaje de tiempo que el procesador dedica a
la ejecucin de procesos de usuario, como por ejemplo SQL Server.
Sistema: Longitud de la cola del procesador: Nmero de subprocesos en espera del
tiempo del procesador. Se produce un punto de congestin en el procesador cuando
los subprocesos de un proceso requieren ms ciclos de procesador que los
disponibles. Si bastantes procesos intentan utilizar el tiempo de procesador, puede que
sea necesario instalar un procesador ms rpido. Si dispone de una sistema con
mltiples procesadores, puede agregar un procesador.
Nota: Los diversos controladores de disco emplean distintos intervalos de tiempo de proceso
del ncleo. Los controladores eficaces utilizan menos tiempo privilegiado y dejan ms tiempo
de proceso disponible para aplicaciones del usuario, y aumentan as el rendimiento global.
Cuando examine el uso de los procesadores, tenga en cuenta el tipo de trabajo que realiza la
instancia de SQL Server. Si SQL Server realiza muchos clculos, como consultas relativas a
agregados o consultas enlazadas a memoria que no requieren E/S del disco, puede utilizarse el
100% del tiempo del procesador. Si esto afecta negativamente al rendimiento de otras
aplicaciones, pruebe a variar la carga de trabajo. Por ejemplo, dedique el equipo a ejecutar la
instancia de SQL Server.
Los valores de uso en torno al 100%, que indican que se estn procesando muchas peticiones
de clientes, pueden mostrar que los procesos estn en cola, en espera del tiempo del
procesador y estn causando un punto de congestin. Para solucionar este problema, agregue
procesadores de mayor velocidad.
Monitorear el Uso de la Memoria
Monitoree una instancia de SQL Server peridicamente para confirmar que la utilizacin de la
memoria se encuentra dentro de los intervalos normales.
Para Monitorear las condiciones de memoria insuficiente, utilice los contadores de objetos
siguientes:
Memoria: Bytes disponibles
Memoria: Pginas/seg
- 106 -
determinar si SQL Server u otro proceso, est causando una paginacin excesiva, supervise el
contador Proceso: Errores de pgina/s. de la instancia del proceso de SQL Server.
El contador Espacio de trabajo muestra la cantidad de memoria que utiliza un proceso. Si este
nmero es constantemente inferior a la cantidad de memoria establecida en las opciones del
servidor min server memory y max server memory, SQL Server est configurado para utilizar
ms memoria de la que necesita.
El contador Frecuencia de aciertos de cach del bfer es especfico de la aplicacin. Sin
embargo, es preferible un porcentaje del 90% o superior. Agregue ms memoria hasta que el
valor sea superior al 90%, lo que indica que se ha atendido ms del 90% de todas las
peticiones de informacin de la cach de datos.
Si el valor del contador Memoria total del servidor (KB) es constantemente alto en
comparacin con la cantidad de memoria fsica del equipo, puede que indique que se necesita
ms memoria.
- 107 -
3- Analizador de SQL Server (SQL Server Profiler)
Introduccin
El Analizador de SQL Server de Microsoft es una interfaz grfica de usuario de la Traza de
SQL que se utiliza para supervisar una instancia del Motor de base de datos de SQL Server o
de Analysis Services. Puede capturar y guardar datos acerca de cada evento en un archivo o
en una tabla para analizarlos posteriormente. Por ejemplo, puede supervisar un entorno de
produccin para ver qu procedimientos almacenados afectan negativamente al rendimiento al
ejecutarse demasiado lentamente.
Para ejecutar Analizador de SQL Server, en el men Inicio, elija Todos los programas,
Microsoft SQL Server 2005, Herramientas de rendimiento y, a continuacin, haga clic en
Analizador de SQL Server.
- 108 -
Todos los datos generados por un evento se muestran en la traza en una sola fila. Esta
fila est intersectada por columnas de datos que describen el evento de forma
detallada.
Clase de evento: Una clase de evento es un tipo de evento del cual se puede realizar
un seguimiento. La clase de evento contiene todos los datos que puede comunicar un
evento. Por ejemplo:
o SQL:BatchCompleted
o Audit Login
o Audit Logout
o Lock:Acquired
o Lock:Released
Categora de eventos: Una categora de eventos define cmo se agrupan los eventos
en el Analizador de SQL Server. Por ejemplo, todas las clases de eventos de bloqueo
se agrupan dentro de la categora de eventos Bloqueos. Sin embargo, las categoras
de eventos slo existen en el Analizador de SQL Server. Este trmino no refleja cmo
se agrupan los eventos del motor.
Columna de datos: Una columna de datos es un atributo de una clase de evento
capturada en la traza. Como la clase de evento determina el tipo de datos que se
pueden recopilar, no se aplicarn todas las columnas de datos a todas las clases de
evento. Por ejemplo, en una traza que capture la clase de evento Lock:Acquired, la
columna de datos BinaryData contiene el valor del Id. o la fila de la pgina bloqueada,
pero la columna de datos Integer Data no contiene ningn valor porque no es aplicable
a la clase de evento que se captura.
Plantilla: Una plantilla define la configuracin predeterminada de una traza. En
concreto, incluye las clases de evento que desea supervisar con el Analizador de SQL
Server. Por ejemplo, puede crear una plantilla que especifique los eventos, las
columnas de datos y los filtros que desea utilizar. Las plantillas no se ejecutan, sino
que se guardan como archivos con la extensin .tdf. Una vez guardada, una plantilla
controla los datos de la traza que se capturan cuando se inicia una traza basada en la
plantilla en cuestin.
Traza: Una traza captura datos basndose en clases de evento, columnas de datos y
filtros seleccionados. Por ejemplo, puede crear una traza para supervisar errores de
excepcin. Para ello, seleccione la clase de evento Exception y las columnas de datos
Error, State y Severity. Deben recopilarse los datos de estas tres columnas para que
los resultados de la traza proporcionen datos con significado. Una vez hecho esto,
puede ejecutar una traza configurada de esta forma y recopilar datos de cualquier
evento Exception que se produzca en el servidor. Los datos de traza se pueden
guardar o utilizar inmediatamente para el anlisis. Las trazas se pueden volver a
reproducir posteriormente, aunque ciertos eventos, como los eventos Exception,
nunca se vuelven a reproducir. Tambin puede guardar la traza como plantilla para
crear trazas parecidas en el futuro.
SQL Server ofrece dos formas de incluir en una traza una instancia de SQL Server:
puede hacerlo con el Analizador de SQL Server o con procedimientos almacenados del
sistema.
Filtro: Al crear una traza o una plantilla, puede definir criterios para filtrar los datos
recopilados por el evento. Para que las trazas no sean demasiado grandes, puede
filtrarlas de forma que slo se recopile un subconjunto de los datos del evento. Por
ejemplo, puede limitar los nombres de usuario de Microsoft Windows de la traza a
usuarios especficos, con lo que reducir los datos de salida.
Si no se establece un filtro, se devolvern todos los eventos de las clases de eventos
seleccionadas en el resultado de la traza.
- 109 -
El Analizador de SQL Server muestra el modo en que SQL Server resuelve las consultas
internamente. Esto permite a los administradores ver exactamente las instrucciones Transact-
SQL o las Expresiones multidimensionales que se envan al servidor y como el servidor tiene
acceso a la base de datos o al cubo para devolver los conjuntos de resultados.
Utilice el Analizador de SQL Server para supervisar nicamente los eventos en los que est
interesado. Si las trazas son demasiado grandes, puede filtrarlas a partir de la informacin que
desea, de forma que slo se recopile un subconjunto de los datos del evento. Si se supervisan
demasiados eventos, aumentar la sobrecarga del servidor y el proceso de supervisin, y
podra hacer que el archivo o la tabla de traza crezcan demasiado, especialmente cuando el
proceso de supervisin se realiza durante un perodo prolongado de tiempo.
Nota: Adems de las trazas de las plantillas predefinidas, el Analizador de SQL Server tambin
permite crearlas a partir de una plantilla en blanco que no contenga ninguna clase de evento
de manera predeterminada. Puede resultar til utilizar la plantilla de traza en blanco cuando
una traza planeada no se parece a la configuracin de ninguna de las plantillas predefinidas.
El Analizador de SQL Server permite realizar un seguimiento de diversos tipos de servidor. Sin
embargo, las clases de evento que pueden incluirse no son las mismas para cada tipo de
servidor. Por lo tanto, el Analizador de SQL Server mantiene plantillas distintas para los
diferentes tipos de servidor y pone a disposicin del usuario la plantilla especfica
correspondiente al tipo de servidor seleccionado.
Plantillas Predefinidas
Adems de la plantilla Standard (predeterminada), el Analizador de SQL Server incluye varias
plantillas predefinidas para supervisar determinados tipos de evento. En la siguiente tabla
figura una lista de las plantillas predefinidas, su finalidad y las clases de eventos sobre las que
capturan informacin.
Nombre de
Finalidad de la plantilla Clases de evento
plantilla
- 110 -
almacenados a lo largo del tiempo.
Standard Punto de inicio genrico para crear una traza. Captura todos los Audit Login
procedimientos almacenados y lotes de Transact-SQL que se Audit Logout
ejecutan. Utilice esta plantilla para supervisar la actividad general del ExistingConnection
servidor de base de datos. RPC:Completed
SQL:BatchCompleted
SQL:BatchStarting
TSQL Captura todas las instrucciones Transact-SQL que los clientes envan Audit Login
a SQL Server y el momento en que se han emitido. Utilice esta Audit Logout
plantilla para depurar las aplicaciones cliente. ExistingConnection
RPC:Starting
SQL:BatchStarting
TSQL_Duration Captura todas las instrucciones Transact-SQL que los clientes envan RPC:Completed
a SQL Server, el tiempo de ejecucin (en milisegundos), y las agrupa SQL:BatchCompleted
por duracin. Utilice esta plantilla para identificar consultas de
ejecucin lenta.
TSQL_Grouped Captura todas las instrucciones Transact-SQL enviadas a SQL Server Audit Login
y el momento en que se han emitido. Agrupa la informacin por el Audit Logout
usuario o cliente que ha enviado la instruccin. Utilice esta plantilla ExistingConnection
para investigar consultas de un cliente o usuario determinado. RPC:Starting
SQL:BatchStarting
TSQL_SPs Captura informacin detallada acerca de todos los procedimientos Audit Login
almacenados en ejecucin. Utilice esta plantilla para analizar los Audit Logout
pasos de componente de los procedimientos almacenados. Agregue ExistingConnection
el evento SP:Recompile si sospecha que se estn volviendo a RPC:Starting
compilar los procedimientos. SP:Completed
SP:Starting
SP:StmtStarting
SQL:BatchStarting
Plantilla Predeterminada
El Analizador de SQL Server designa de forma automtica la plantilla Standard como plantilla
predeterminada para aplicar a cualquier traza nueva. No obstante, puede cambiar la plantilla
predeterminada por cualquier otra predefinida o definida por el usuario. Para cambiar la plantilla
predeterminada, active la casilla de verificacin Usar como plantilla predeterminada para
- 111 -
tipo de servidor seleccionado cuando cree o edite una plantilla desde la pestaa General del
cuadro de dilogo Propiedades de la plantilla de traza.
Para obtener acceso al cuadro de dilogo Propiedades de la plantilla de traza, en el men
Archivo del Analizador de SQL Server, seleccione Plantillas y haga clic en Nueva plantilla o
Editar plantilla.
Guardar Trazas
Guarde los datos de los eventos capturados en un archivo o una tabla de SQL Server cuando
necesite analizar o reproducir los datos capturados ms adelante. Utilice un archivo de traza
para lo siguiente:
Utilice un archivo de traza o una tabla de traza para crear una carga de trabajo a fin de
utilizarla como entrada para el Asistente, para la Optimizacin del Motor de Base de
Datos.
Utilice un archivo de traza para capturar eventos y enviar el archivo de traza a un
proveedor de asistencia tcnica para su anlisis.
Utilice las herramientas de procesamiento de consultas de SQL Server para tener
acceso a los datos o verlos en el Analizador de SQL Server. Slo pueden tener acceso
directo a la tabla de traza los miembros de la funcin fija de servidor sysadmin o el
creador de la tabla.
Nota: La captura de datos de traza en una tabla resulta una operacin ms lenta que la
captura de datos de traza en un archivo. Una alternativa es capturar los datos de traza en un
archivo, abrir el archivo de traza y, despus, guardar la traza como una tabla de traza.
Cuando utilice un archivo de traza, el Analizador de SQL Server guardar los datos de eventos
capturados (no las definiciones de traza) en un archivo de traza (*.trc) del Analizador de SQL
Server. La extensin se agrega automticamente al final del archivo al guardarlo,
independientemente de, si se ha especificado otra extensin. Por ejemplo, si especifica un
archivo de traza llamado Traza.dat, el nombre del archivo creado ser Traza.dat.trc.
- 112 -
plantilla para capturar los datos de eventos necesarios, que posteriormente enviar al
proveedor de asistencia tcnica para que los analice.
- 113 -
4- Desencadenadores DLL (DLL Triggers)
Definicin
Los desencadenadores DDL, al igual que los desencadenadores habituales, activan
procedimientos almacenados como respuesta a un evento. Sin embargo, a diferencia de los
desencadenadores DML, no se activan como respuesta a las instrucciones UPDATE, INSERT
o DELETE de una tabla o vista. En cambio, s se activan en respuesta a diversos eventos del
lenguaje de definicin de datos (DDL). Estos eventos corresponden principalmente a
instrucciones Transact-SQL que comienzan por las palabras clave CREATE, ALTER y DROP.
Determinados procedimientos almacenados del sistema que realizan operaciones de estilo
DDL tambin pueden activar desencadenadores DDL.
Los desencadenadores DDL pueden utilizarse para tareas administrativas como auditar y
regular las operaciones de base de datos.
Los desencadenadores DDL slo se activan cuando se ejecutan las instrucciones DDL que los
desencadenan. Los desencadenadores DDL no se pueden utilizar como desencadenadores
INSTEAD OF.
Para ver un ejemplo de desencadenadores DDL que est disponible en la base de datos de
ejemplo AdventureWorks , en el Explorador de objetos de SQL Server Management Studio,
abra la carpeta Database Triggers, que se encuentra en la carpeta Programmability de la base
de datos AdventureWorks. Haga clic con el botn secundario en ddlDatabaseTriggerLog y
seleccione Incluir desencadenador de base de datos como. De forma predeterminada, el
desencadenador DDL ddlDatabaseTriggerLog est deshabilitado.
- 114 -
determinar su respuesta a los procedimientos almacenados del sistema que se ejecutan. Por
ejemplo, la instruccin CREATE TYPE y el procedimiento almacenado sp_addtype activarn
un desencadenador DDL creado en un evento CREATE_TYPE. Sin embargo, el procedimiento
almacenado sp_rename no activa ningn desencadenador DDL.
ALTER_AUTHORIZATION_DATA
BASE (se aplica a la instruccin
ALTER AUTHORIZATION cuando
se especifica ON DATABASE, y
sp_changedbowner).
CREATE_CONTRACT DROP_CONTRACT
CREATE_EVENT_NOTIFICATION DROP_EVENT_NOTIFICATION
CREATE_SYNONYM DROP_SYNONYM
- 115 -
CREATE_TRIGGER ALTER_TRIGGER DROP_TRIGGER
ALTER_AUTHORIZATION_SERVER
CREATE_LOGIN (se aplica a la instruccin ALTER_LOGIN (se aplica a la DROP_LOGIN (se aplica
CREATE LOGIN, sp_addlogin, sp_grantlogin, instruccin ALTER LOGIN, a la instruccin DROP
xp_grantlogin y sp_denylogin cuando se utiliza sp_defaultdb, LOGIN, sp_droplogin,
en un inicio de sesin inexistente que debe sp_defaultlanguage, sp_revokelogin y
crearse de forma implcita). sp_password y xp_revokelogin).
sp_change_users_login cuando
se especifica Auto_Fix).
En funcin del tipo de evento, el esquema incluir informacin adicional, como la base de datos
en la que se ha producido el evento, el objeto en el que se ha producido el evento y la
instruccin Transact-SQL del evento.
- 116 -
RAISERROR ('No pueden crearse nuevas tablas en esta base de datos', 16, 1)
ROLLBACK;
CREATE SCHEMA s
CREATE TABLE t1 (col1 int)
Ejemplo:
Puede utilizar la funcin EVENTDATA para crear un registro de eventos. En el siguiente
ejemplo, una tabla se crea para almacenar la informacin del evento. A continuacin, se crea
un desencadenador DDL en la base de datos actual que llena la tabla con la siguiente
informacin siempre que tiene lugar un evento DDL en la base de datos:
La hora del evento (mediante la funcin GETDATE).
El usuario de la base de datos contra cuya sesin se ha producido el evento (mediante
la funcin CURRENT_USER).
El tipo de evento.
La instruccin Transact-SQL que contena el evento.
Una vez ms, los dos ltimos elementos se capturan mediante XQuery con los datos xml
generados por EVENTDATA.
USE AdventureWorks;
GO
CREATE TABLE ddl_log (PostTime datetime, DB_User nvarchar(100),
Event nvarchar(100), TSQL nvarchar(2000));
GO
- 117 -
DECLARE @data XML
SET @data = EVENTDATA()
INSERT ddl_log (PostTime, DB_User, Event, TSQL)
VALUES (GETDATE(), CONVERT(nvarchar(100), CURRENT_USER),
@data.value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(100)'),
@data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(2000)') ) ;
GO
-- Probar el desencadenador
CREATE TABLE TestTable (a int)
DROP TABLE TestTable ;
GO
SELECT * FROM ddl_log ;
GO
- 118 -
5- Notificaciones de Eventos
Introduccin
Las notificaciones de eventos envan informacin acerca de los eventos a un servicio Service
Broker. Se pueden programar notificaciones de eventos para muchos de los eventos
capturados por Traza de SQL, pero dichas notificaciones pueden utilizarse para realizar una
accin en una instancia de SQL Server 2005 como respuesta a eventos, en lugar de utilizarse
para crear trazas. Como las notificaciones de eventos se ejecutan asincrnicamente, no
consumen los recursos definidos por la transaccin inmediata.
USE AdventureWorks
GO
CREATE EVENT NOTIFICATION NotifyALTER_T1
ON DATABASE
FOR ALTER_TABLE
TO SERVICE '//Adventure-Works.com/ArchiveService' ,
'8140a771-3c4b-4479-8ac0-81008ab17984';
- 119 -
Descripcin de Notificaciones de Eventos frente a Desencadenadores
En la siguiente tabla, se comparan y se establecen diferencias entre los desencadenadores y
las notificaciones de eventos.
Los desencadenadores DML responden a eventos Las notificaciones de eventos responden a eventos DDL y a
DML (de lenguaje de manipulacin de datos). Los un subconjunto de eventos de traza de SQL.
desencadenadores DDL responden a eventos
DDL (de lenguaje de definicin de datos).
Los desencadenadores pueden ejecutar un cdigo Las notificaciones de eventos no ejecutan cdigos. En
administrado de Transact-SQL o de Common cambio, envan mensajes xml a un servicio de Service
Language Runtime (CLR). Broker.
Los desencadenadores se procesan de manera Las notificaciones de eventos se pueden procesar de manera
sincrnica, dentro del mbito de las transacciones asincrnica y no se ejecutan en el mbito de las
que los accionan. transacciones que las accionan.
Los nombres de los desencadenadores DML Los nombres de las notificaciones de eventos pertenecen al
pertenecen al mbito del esquema. Los nombres mbito del servidor o de la base de datos. Las notificaciones
de los desencadenadores DLL pertenecen al de eventos de un evento QUEUE_ACTIVATION pertenecen
mbito de la base de datos o del servidor. al mbito de una cola especfica.
Los desencadenadores DML pertenecen al mismo El propietario de una notificacin de eventos de una cola
propietario que el de las tablas a las que fueron puede ser diferente del propietario del objeto al que fue
aplicados. aplicada.
La informacin del evento del desencadenador Las notificaciones de eventos envan informacin de evento
DDL se puede capturar con la funcin xml a un servicio de Service Broker. La informacin utiliza el
EVENTDATA, que devuelve un tipo de dato xml. formato del mismo esquema que el de la funcin
EVENTDATA.
Los metadatos acerca de los desencadenadores Los metadatos sobre las notificaciones de eventos se
se encuentran en las vistas de catlogo encuentran en las vistas de catlogo sys.event_notifications
sys.triggers y sys.server_triggers. y sys.server_event_notifications.
Traza SQL Trace no genera carga de rendimiento asociada Existe una carga de rendimiento asociada con la
con transacciones. El empaquetado de los datos es eficaz. creacin de datos de eventos con formato XML y
con el envo de notificaciones de eventos.
Traza SQL puede supervisar y realizar un seguimiento de Los notificaciones de eventos pueden supervisar un
cualquier clase de evento. subconjunto de clases de eventos de seguimiento y
- 120 -
tambin todos los eventos del lenguaje de
definicin de datos (DDL).
Puede personalizar qu columnas de datos se crean en un El esquema de datos de eventos con formato XML
evento de seguimiento. devuelto por las notificaciones de eventos es fijo.
Los eventos de traza generador por DDL siempre se genera, Las notificaciones de eventos no se activan si el
independientemente de si la instruccin DDL se revierte. evento de la instruccin DDL correspondiente se
revierte.
La administracin del flujo intermedio de los datos de La administracin intermedia de los datos de
eventos de traza implica llenar y administrar archivos de notificacin de eventos se consigue
traza o tablas de traza. automticamente mediante las colas de Service
Broker.
Las trazas deben reiniciarse cada vez que se reinicia el Despus de registrarse, las notificaciones de
servidor. eventos persisten en ciclos de servidor y participan
en transacciones.
Tras reiniciarse, la activacin de las trazas no se puede Las notificaciones de eventos se pueden controlar
controlar. Las horas de detencin y filtrado se pueden usar utilizando la instruccin WAITFOR sobre la cola que
para especificar cundo se inician. Se obtiene acceso a las recibe el mensaje generado por la notificacin de
trazas sondeando el archivo de trazas correspondiente. eventos. Se puede obtener acceso a ellas
sondeando la cola.
ALTER TRACE es el permiso mnimo necesario para crear El permiso mnimo depende del tipo de notificacin
una traza. Tambin se requiere el permiso para crear un de eventos que se est creando. El permiso
archivo de traza en el equipo correspondiente. RECEIVE tambin es necesario en la cola
correspondiente.
Las trazas se pueden recibir remotamente. Las notificaciones de eventos se pueden recibir
remotamente.
Se puede obtener acceso a los datos de eventos de traza Se obtiene acceso a los datos de eventos mediante
mediante programacin consultando la tabla de traza programacin emitiendo XQuery sobre los datos de
correspondiente, analizando el archivo de traza o utilizando eventos con formato XML, o utilizando las clases
la clase TraceReader de los objetos de administracin de SMO Event.
SQL Server (SMO).
Ejemplos:
a. Crear una notificacin de eventos en el mbito de un servidor
En el ejemplo siguiente se crean los objetos necesarios para configurar un servicio de destino
utilizando Service Broker. El servicio de destino hace referencia al contrato y tipo de mensaje
del servicio de inicio especficamente para notificaciones de eventos. Despus, se crea una
notificacin de eventos en el servicio de destino que enva una notificacin cada vez que tiene
lugar un evento de traza Object_Created en la instancia de SQL Server.
- 121 -
--Crea la ruta en el servicio para definir la direccin a donde el Service Broker va a
-- enviar el mensaje para el servicio
CREATE ROUTE NotifyRoute
WITH SERVICE_NAME = 'NotifyService',
ADDRESS = 'LOCAL';
GO
d. Obtener informacin sobre una notificacin de eventos en el mbito de una base de datos
El ejemplo siguiente realiza una consulta en la vista de catlogo sys.event_notifications
respecto de metadatos sobre la notificacin de eventos Notify_ALTER_T1 creada en el mbito
de una base de datos.
- 122 -
Mdulo 5
Automatizando Tareas
Administrativas
- 123 -
1- Automatizar las tareas administrativas (Agente SQL Server)
Microsoft SQL Server le permite automatizar las tareas administrativas. Para automatizar la
administracin, se definen las tareas administrativas previsibles y, despus, se especifican las
condiciones en las que se produce cada tarea. El uso de la administracin automatizada para
controlar las tareas y eventos habituales le permite disponer de tiempo para realizar otras
funciones administrativas.
Planes de Mantenimiento
Para crear o administrar planes de mantenimiento, debe ser miembro de la funcin fija de
servidor sysadmin. Tenga en cuenta que el Explorador de objetos slo muestra planes de
mantenimiento si el usuario es miembro de dicha funcin fija.
Si desea crear o administrar planes de mantenimiento en un entorno de varios servidores,
necesitar una configuracin adicional.
Los planes de mantenimiento se pueden crear para realizar las tareas siguientes:
Reorganizar los datos de las pginas de datos y de ndices mediante una nueva
generacin de los ndices con un nuevo factor de relleno. Al volver a crear ndices con
un nuevo factor de relleno se asegura que las pginas de la base de datos contienen
una cantidad de datos y espacio libre distribuidos por igual. Tambin permite un
crecimiento ms rpido en el futuro.
Comprimir archivos de datos mediante la eliminacin de las pginas de base de datos
que estn vacas.
Actualizar las estadsticas de los ndices para asegurarse de que el optimizador de
consultas dispone de informacin actualizada acerca de la distribucin de los valores
de los datos en las tablas. Esto permite al optimizador de consultas elegir el mtodo
ms adecuado para obtener acceso a los datos, ya que dispone de ms informacin
acerca de los datos almacenados en la base de datos. Aunque SQL Server actualiza
- 124 -
peridicamente las estadsticas de los ndices de forma automtica, esta opcin puede
obligar a que se actualicen inmediatamente.
Realizar comprobaciones de coherencia interna de los datos y de las pginas de datos
de la base de datos para asegurarse de que no se han daado debido a un problema
de software o del sistema.
Realizar copias de seguridad de la base de datos y de los archivos de registro de
transacciones. Las copias de seguridad de la base de datos y del registro pueden
mantenerse durante un perodo especificado. Esto le permite crear un historial de
copias de seguridad para utilizarlo si tiene que restaurar la base de datos a una fecha
anterior a la de la ltima copia de seguridad de la base de datos. Tambin puede
realizar copias de seguridad diferenciales.
Ejecutar trabajos del Agente SQL Server. Esta tarea se puede utilizar para crear
trabajos que realicen una serie de acciones y, tambin, para crear los planes de
mantenimiento para ejecutar los trabajos.
Los resultados generados por las tareas de mantenimiento pueden escribirse en forma de
informe en un archivo de texto, o bien escribirse en las tablas del plan de mantenimiento,
sysmaintplan_log y sysmaintplan_logdetail, en msdb. Para ver los resultados en el visor del
archivo de registros, haga clic con el botn secundario en Planes de mantenimiento y, a
continuacin, haga clic en Ver historial.
- 125 -
Los planes de mantenimiento slo se pueden ejecutar en bases de datos con un nivel de
compatibilidad de 80 o superior. El Asistente para planes de mantenimiento no muestra las
bases de datos cuyo nivel de compatibilidad est establecido en 70 o inferior.
- 126 -
Editar y crear Planes de Mantenimiento Manualmente
Usted puede editar un plan existente con la herramienta Diseador de Plan de Mantenimiento
disponible dentro de SQL Server Management Studio.
Esta herramienta provee una interfaz grfica permitindole reordenar tareas, agregar nuevas
tareas y definir un flujo de trabajo, indicando cmo manejar el xito o la falla de tareas.
Nota: De forma predeterminada, el servicio Agente SQL Server est deshabilitado al instalar
SQL Server 2005, a menos que el usuario elija de forma explcita iniciarlo automticamente.
- 127 -
Defina un conjunto de trabajos, programaciones, alertas y operadores usando SQL
Server Management Studio, secuencias de comandos Transact-SQL u objetos de
administracin de SQL Server (SMO).
Ejecute los trabajos del Agente SQL Server que haya definido.
Nota: Para la instancia predeterminada de SQL Server, el servicio SQL Server se denomina
SQLSERVERAGENT. Para las instancias con nombre, el servicio Agente SQL Server se
denomina SQLAgent$nombreDeInstancia.
Componentes
El Agente SQL Server utiliza los siguientes componentes para definir las tareas que se
realizarn, cundo se llevarn a cabo y como se informar de si se han realizado
correctamente o no. El Agente SQL Server tambin proporciona seguridad para la
administracin automtica.
Trabajos: Un trabajo es una serie especificada de acciones que realiza el Agente SQL
Server. Utilice los trabajos para definir tareas administrativas de manera que se
ejecuten una o ms veces, y se pueda supervisar si se realizan o no correctamente. Un
trabajo se puede ejecutar en un servidor local o en varios servidores remotos. Existen
varias maneras de ejecutar trabajos:
o Conforme a una o ms programaciones.
o Como respuesta a una o varias alertas.
o Ejecutando el procedimiento almacenado sp_start_job.
Cada accin de un trabajo es un paso de trabajo. Por ejemplo, un paso de trabajo
puede consistir en la ejecucin de una instruccin Transact-SQL, la ejecucin de un
paquete SSIS o la emisin de un comando en un servidor de Analysis Services. Los
pasos de trabajo se administran como parte de un trabajo.
Cada paso se ejecuta en un contexto de seguridad especfico. En el caso de los pasos
de trabajo que utilizan Transact-SQL, use la instruccin EXECUTE AS para establecer
el contexto de seguridad para stos. Para los dems tipos de pasos de trabajo, utilice
una cuenta de proxy para establecer el contexto de seguridad.
Programaciones: Una programacin especifica cundo se ejecuta un trabajo. Se
puede ejecutar ms de un trabajo en la misma programacin y se pueden aplicar ms
de una programacin al mismo trabajo. Una programacin puede definir las
condiciones siguientes del momento en el que se ejecuta un trabajo:
o Cuando se inicia el Agente SQL Server.
o Cuando el uso de la CPU del equipo se encuentre en un nivel que se haya definido
como inactivo.
o Una vez, a una hora y una fecha especficas.
o Peridicamente.
Alertas : Una alerta es una respuesta automtica a un evento especfico. Por ejemplo,
un evento puede ser el inicio de un trabajo o que los recursos del sistema alcancen un
umbral especfico. Debe definir las condiciones en las que se genera una alerta. Una
alerta puede responder a una de las condiciones siguientes:
o Eventos de SQL Server
o Condiciones de rendimiento de SQL Server
o Eventos de Instrumental de administracin de Microsoft Windows (WMI) en el
equipo en el que se ejecuta el Agente SQL Server
Una alerta puede realizar las acciones siguientes:
o Notificar a uno o varios operadores
o Ejecutar un trabajo
- 128 -
Operadores: Los operadores definen informacin de contacto para las personas
responsables del mantenimiento de una o varias instancias de SQL Server. En algunas
compaas, las responsabilidades de operador estn asignadas a una sola persona. En
compaas con varios servidores, muchas personas comparten las responsabilidades
de operador. Un operador no contiene informacin de seguridad y no define una
entidad de seguridad.
SQL Server puede notificar a los operadores de alertas mediante una o varias de las opciones
siguientes:
Correo electrnico
Localizador (por correo electrnico)
NET SEND
Nota: Para enviar notificaciones mediante NET SEND, se debe iniciar el servicio Windows
Messenger en el equipo en el que reside el Agente SQL Server.
Para enviar a los operadores notificaciones por correo electrnico o localizador, deber
configurar el Agente SQL Server para utilizar Correo electrnico de base de datos o SQL Mail.
Puede definir un operador como alias de un grupo de personas. De esta manera, todos los
miembros de este alias pueden recibir notificaciones al mismo tiempo.
- 129 -
2- Configurar el Agente SQL Server
Puede especificar algunas opciones de configuracin para el Agente SQL Server durante la
instalacin de SQL Server. El conjunto completo de opciones de configuracin del Agente SQL
Server slo est disponible en SQL Server Management Studio, SMO (objetos de
administracin de SQL Server) o los procedimientos almacenados del Agente SQL Server.
Nota: Haga clic en el Agente SQL Server en el Explorador de objetos de SQL Server
Management Studio para administrar trabajos, operadores, alertas y el servicio del Agente SQL
Server. No obstante, el Explorador de objetos slo muestra el nodo del Agente SQL Server si
tiene permiso para utilizarlo.
Para comprobar que todos estos permisos necesarios de Windows estn establecidos
Haga clic en Inicio, Panel de control, Herramientas administrativas y Directiva de
seguridad local.
Expanda la carpeta Directivas locales y, a continuacin, haga clic en la carpeta
Asignacin de derechos de usuario.
Repita los pasos siguientes para cada permiso:
o Haga clic con el botn secundario en un permiso (como Iniciar sesin como
servicio) y, a continuacin, haga clic en Propiedades.
o En el cuadro de dilogo de propiedades (por ejemplo Propiedades de Iniciar
sesin como servicio), compruebe que se muestre la cuenta bajo la que se
ejecuta el Agente SQL Server.
o Si no aparece, haga clic en Agregar usuario o grupo, escriba la cuenta bajo la
que se ejecuta el Agente SQL Server y, a continuacin, haga clic en Aceptar.
Normalmente, la cuenta seleccionada para el Agente SQL Server es una cuenta de dominio
creada para ese propsito cuyos permisos de acceso estn muy controlados. No es necesario
utilizar una cuenta de dominio, pero si utiliza una cuenta en el equipo local, el Agente SQL
Server no tendr permiso para obtener acceso a los recursos de otros equipos. Es muy
habitual que SQL Server necesite permisos en otros equipos, por ejemplo, cuando crea una
copia de seguridad de una base de datos y almacena el archivo en otro equipo.
- 130 -
Correo del Agente SQL Server
El Agente SQL Server incluye la posibilidad de enviar correo electrnico. Puede configurar el
correo del Agente SQL Server para enviar mensajes de correo electrnico a operadores
predefinidos cuando:
Se desencadene una alerta. Las alertas se pueden configurar para enviar una
notificacin por correo electrnico acerca de eventos especficos que se produzcan.
Por ejemplo, es posible configurar alertas para que avisen a un operador acerca de un
determinado evento de la base de datos o una situacin del sistema operativo que
precise una accin inmediata.
Se lleve a cabo o no se complete una tarea programada, como una copia de seguridad
de la base de datos o un evento de rplica. Por ejemplo, puede usar el correo del
Agente SQL Server para notificar a los operadores si se produce un error durante el
procesamiento a fin de mes.
Es posible enviar mensajes de correo electrnico a una lista de destinatarios para informarles
del estado de los trabajos programados, lo que les permitira emprender una accin. Por
ejemplo, puede configurar el correo del Agente SQL Server para enviar mensajes de correo
electrnico cuando termine de hacerse una copia de seguridad.
De forma predeterminada, el correo del Agente SQL Server est desactivado. Para
configurarlo, utilice el panel Sistema de alerta del cuadro de dilogo Propiedades de Agente
SQL Server. Tenga en cuenta que el correo del Agente SQL Server slo es necesario para la
notificacin de alertas y la notificacin automtica cuando se completa un trabajo. Cada paso
de un trabajo puede enviar un mensaje de correo electrnico, independientemente de si el
correo del Agente SQL Server est activado. Por ejemplo, un paso de trabajo de Transact-SQL
puede usar el Correo electrnico de base de datos para enviar el resultado de una consulta a la
lista de destinatarios.
- 131 -
El correo del Agente SQL Server permite usar dos sistemas de correo electrnico. Al configurar
el correo del Agente SQL Server, elija el sistema de correo que se usar:
Si elige el Correo electrnico de base de datos, el Agente SQL Server utilizar el
Correo electrnico de base de datos para enviar el correo electrnico.
Si elige SQL Mail, el Agente SQL Server utilizar la interfaz de MAPI extendida para
enviar el correo electrnico.
Nota: SQL Mail se quitar en una versin futura de SQL Server. Por tanto, evite usar esta
caracterstica en nuevos trabajos de desarrollos y tenga previsto modificar las aplicaciones que
actualmente la utilizan. Para enviar correo electrnico desde Microsoft SQL Server 2005, use el
Correo electrnico de base de datos.
Despus de cambiar el sistema de correo electrnico, debe reiniciar el servicio del Agente SQL
Server para que el cambio entre en vigor.
El Agente SQL Server captura la informacin del perfil especificado. Esto permite al Agente
SQL Server enviar correo electrnico en los casos en los que la instancia de SQL Server no
est disponible. Si la instancia de SQL Server no est disponible, el Agente SQL Server inicia
el programa externo de Correo electrnico de base de datos directamente para notificar al
operador de conmutacin por error que la instancia no est disponible. El Agente SQL Server
captura la informacin del perfil, por lo que el Agente SQL Server no utiliza inmediatamente la
nueva informacin cuando cambia el perfil. Despus de cambiar el sistema de correo
electrnico, debe reiniciar el servicio del Agente SQL Server para que el cambio surta efecto.
- 132 -
Cuentas de conmutacin por error. Los perfiles del Correo electrnico de base de
datos permiten especificar ms de un servidor SMTP. Si un servidor SMTP no est
disponible, se puede enviar el correo mediante otro.
Compatibilidad con clsteres. El Correo electrnico de base de datos es una
aplicacin para clsteres y es totalmente compatible con stos.
Entrega en segundo plano. El Correo electrnico de base de datos permite realizar
entregas en segundo plano o asincrnicas. Cuando se llama a sp_send_dbmail para
enviar un mensaje, el Correo electrnico de base de datos agrega una solicitud a una
cola de Service Broker. El procedimiento almacenado se devuelve inmediatamente. El
componente de correo electrnico externo recibe la solicitud y entrega el mensaje.
Varios perfiles. El Correo electrnico de base de datos permite crear varios perfiles en
una instancia de SQL Server. Tambin se puede seleccionar el perfil del Correo
electrnico de base de datos para enviar el mensaje.
Varias cuentas. Cada perfil puede incluir varias cuentas de conmutacin por error. Se
pueden configurar varios perfiles con distintas cuentas para distribuir el correo
electrnico entre varios servidores de correo.
Compatibilidad con 64 bits. El Correo electrnico de base de datos es totalmente
compatible con las versiones de 64 bits de SQL Server.
Regulador del tamao de los datos adjuntos. El Correo electrnico de base de datos
fuerza un lmite configurable para el tamao de los datos adjuntos. Puede cambiar este
lmite utilizando el procedimiento almacenado sysmail_configure_sp.
Extensiones de archivo prohibidas. El Correo electrnico de base de datos mantiene
una lista de extensiones de archivo prohibidas. Los usuarios no pueden adjuntar
archivos con las extensiones de la lista.
Configuracin integrada. El Correo electrnico de base de datos mantiene la
informacin para las cuentas de correo electrnico del SQL Server Motor de base de
datos de SQL Server. No es necesario administrar un perfil de correo en una aplicacin
cliente externa. El Asistente para configuracin del Correo electrnico de base de datos
proporciona una interfaz adecuada para configurar el Correo electrnico de base de
datos. Tambin se pueden crear y mantener configuraciones del Correo electrnico de
base de datos mediante Transact-SQL.
Registro. El Correo electrnico de base de datos registra la actividad de correo
electrnico en SQL Server, en el registro de eventos de aplicacin de Microsoft
Windows y en la base de datos msdb.
Auditora. El Correo electrnico de base de datos conserva copias de los mensajes y
datos adjuntos enviados en la base de datos msdb. Puede auditar fcilmente la
utilizacin del Correo electrnico de base de datos y revisar los mensajes conservados.
Compatibilidad con HTML. El Correo electrnico de base de datos permite enviar
mensajes de correo electrnico con el formato HTML.
Nota: Para que el inicio se realice de manera satisfactoria, el Agente SQL Server debe poder
conectarse a SQL Server. Por tanto, el Agente SQL Server puede enviar notificaciones cuando
no hay disponible una instancia de SQL Server en ejecucin, pero no puede enviar
notificaciones si no se inicia una instancia de SQL Server al iniciarse el equipo.
- 133 -
- 134 -
3- Trabajos y Operadores
Trabajos
Un trabajo es una serie especfica de operaciones que el Agente SQL Server realiza
secuencialmente. Un trabajo puede realizar una amplia variedad de actividades, incluidas
secuencias de comandos Transact-SQL, aplicaciones de smbolo del sistema, secuencias de
comandos de Microsoft ActiveX, paquetes de Integration Services, comandos y consultas de
Analysis Services o tareas de rplica. Los trabajos pueden ejecutar tareas repetitivas o que se
pueden programar, y pueden notificar automticamente a los usuarios el estado del trabajo
mediante alertas, lo cual simplifica en gran medida la administracin de SQL Server.
Para crear un trabajo, el usuario debe ser miembro de una de las funciones fijas de base de
datos del Agente SQL Server o de la funcin fija de servidor sysadmin. Slo pueden editar el
trabajo el propietario de ste o los miembros de la funcin sysadmin.
Se puede escribir un trabajo para que se ejecute en la instancia local de SQL Server o en
varias instancias de una empresa. Para ejecutar trabajos en varios servidores, debe configurar
al menos un servidor principal, y uno o ms servidores de destino.
Organizar trabajos
Las categoras de trabajo le ayudan a organizar los trabajos para poder filtrarlos y agruparlos
fcilmente. Por ejemplo, puede organizar todos los trabajos de copia de seguridad de las bases
de datos en la categora Mantenimiento de bases de datos. Tambin puede crear sus propias
categoras.
Las categoras multiservidor existen slo en los servidores principales. Slo hay una categora
de trabajo predeterminada disponible en un servidor principal: [Sin categora (Multiservidor)].
Cuando se descarga un trabajo multiservidor, su categora se cambia a Trabajos del servidor
principal en el servidor de destino.
Propiedad de trabajos
Por razones de seguridad, slo puede cambiar la definicin del trabajo el propietario de ste o
un miembro de la funcin sysadmin. Los miembros de la funcin sysadmin pueden asignar el
valor de propiedad de trabajo a otros usuarios, y pueden ejecutar cualquier trabajo,
independientemente del propietario del trabajo.
Crear un trabajo
En el Explorador de objetos, conctese a una sesin del Motor de base de datos de
SQL Server y expndala.
Expanda Agente SQL Server.
Haga clic con el botn secundario en Trabajos y, a continuacin, haga clic en Nuevo
trabajo.
En la pgina General, en el cuadro Nombre, escriba un nombre para el trabajo.
Desactive la casilla de verificacin Habilitado si no desea que el trabajo se ejecute
inmediatamente despus de su creacin. Por ejemplo, deshabilite un trabajo si desea
probarlo antes de programar su ejecucin.
En el cuadro Descripcin, escriba la descripcin de la accin que realiza el trabajo. El
nmero mximo de caracteres es 512.
- 135 -
Para agregar pasos de trabajo, programas, alertas y notificaciones que puedan enviarse a los
operadores, seleccione las diferentes solapas de esta opcin.
- 136 -
de servicio del Agente SQL Server. Slo los miembros de la funcin de servidor fija sysadmin
pueden crear trabajos en los que no se especifique un proxy de forma explcita.
Slo los pasos de trabajo que ejecutan los usuarios que son miembros de la funcin de
servidor fija sysadmin pueden escribir la salida en archivos del sistema operativo. Si los pasos
de trabajo son ejecutados por usuarios que son miembros de las funciones fijas de base de
datos SQLAgentUserRole, SQLAgentReaderRole o SQLAgentOperatorRole de la base de
datos msdb, la salida de dichos pasos slo se puede escribir en la tabla sysjobstepslogs.
Los registros de pasos de trabajo se eliminan automticamente al eliminar los trabajos o pasos
de trabajo.
Nota: Debe proporcionar la ruta de acceso completa del archivo ejecutable si ste no se
encuentra en un directorio especificado en la ruta de acceso del sistema o la ruta de acceso del
usuario con el que se ejecuta el paso de trabajo.
- 137 -
Pasos de Trabajo Transact-SQL
Al crear un paso de trabajo Transact-SQL, debe:
Identificar la base de datos en la que se ejecutar el trabajo.
Escribir la instruccin Transact-SQL que se debe ejecutar. La instruccin puede llamar
a un procedimiento almacenado o un procedimiento almacenado extendido.
Opcionalmente, puede abrir un archivo Transact-SQL existente que acte como
comando para el paso de trabajo.
Los pasos de trabajo Transact-SQL no utilizan cuentas de proxy del Agente SQL Server. En
lugar de ello, el paso de trabajo se ejecuta como el propietario del paso de trabajo, o con la
cuenta de servicio del Agente SQL Server si el propietario del paso de trabajo es miembro de la
funcin de servidor fija sysadmin. Los miembros de la funcin fija de servidor sysadmin
tambin pueden especificar que los pasos de trabajo Transact-SQL se ejecuten en el contexto
de otro usuario mediante el parmetro database_user_name del procedimiento almacenado
sp_add_jobstep.
Nota: Un nico paso de trabajo Transact-SQL puede contener varios procesos por lotes. Los
pasos de trabajo Transact-SQL pueden contener comandos GO incrustados.
Tambin puede abrir un archivo de secuencias de comandos ActiveX existente y utilizarlo como
comando para el paso de trabajo. Opcionalmente, los comandos de las secuencias de
comandos ActiveX se pueden compilar externamente (por ejemplo, mediante Microsoft Visual
Basic) y, despus, ejecutarse como programas ejecutables.
Si el comando del paso de trabajo es una secuencia de comandos ActiveX, puede utilizar el
objeto SQLActiveScriptHost para imprimir la salida en el registro de historial del paso de
trabajo o para crear objetos COM. SQLActiveScriptHost es un objeto global que el sistema
host del Agente SQL Server introduce en el espacio de nombres de secuencias de comandos.
El objeto tiene dos mtodos (Print y CreateObject).
- 138 -
El primer paso es Copia de seguridad de la base de datos. Si este paso genera un error, el
Agente SQL Server informa del error al operador que se ha definido que reciba la notificacin.
Si el paso Copia de seguridad de la base de datos es correcto, el trabajo pasa al siguiente
paso: "Normalizar" los datos del cliente. Si este paso genera un error, el Agente SQL Server
avanza a Restaurar base de datos. Si "Normalizar" los datos del cliente es correcto, el trabajo
avanza al siguiente paso: Actualizar estadsticas y, as sucesivamente, hasta que el paso final
da como resultado un informe correcto o con errores.
Se define una accin de control de flujo para la ejecucin satisfactoria o con errores de cada
paso del trabajo. Debe especificar una accin que se deber realizar cuando un paso del
trabajo se ejecute correctamente y la accin que se llevar a cabo cuando se ejecute con
errores. Tambin puede definir el nmero de reintentos y el intervalo entre ellos para los pasos
del trabajo que no se han ejecutado correctamente.
Los pasos del trabajo deben ser independientes. Es decir, un trabajo no puede pasar datos,
valores booleanos o numricos entre pasos del trabajo. Sin embargo, puede pasar valores de
un paso del trabajo de Transact-SQL a otro si utiliza tablas permanentes o tablas temporales
globales. Tambin puede pasar valores de pasos del trabajo que ejecuten programas
ejecutables de un paso del trabajo a otro mediante archivos. Por ejemplo, el programa
ejecutado mediante un paso del trabajo escribe un archivo y el programa ejecutado por un paso
del trabajo posterior lee el archivo.
Una vez creada una programacin, puede adjuntarla a varios trabajos, aun cuando la
programacin se haya creado para un trabajo concreto. Tambin puede separar las
programaciones de los trabajos.
- 139 -
Una programacin puede basarse en tiempo o en un evento. Por ejemplo, puede programar un
trabajo para que se ejecute en los momentos siguientes:
Cuando se inicia el Agente SQL Server.
Cuando el uso de la CPU del equipo se encuentre en un nivel que se haya definido
como inactivo.
Una vez, a una hora y una fecha especficas.
Peridicamente.
Como alternativa a las programaciones de trabajo, tambin puede crear una alerta que
responda a un evento ejecutando un trabajo.
Nota: Slo se puede ejecutar una instancia del trabajo cada vez. Si intenta ejecutar un trabajo
manualmente mientras se est ejecutando en el momento programado, el Agente SQL Server
rechazar la peticin.
Para impedir que un trabajo programado se ejecute, debe realizar una de las siguientes
acciones:
Deshabilitar la programacin.
Deshabilitar el trabajo.
Separar la programacin del trabajo.
Detener el servicio del Agente SQL Server.
Eliminar la programacin.
- 140 -
Operadores
El servicio Agente SQL Server admite la notificacin de administradores a travs de
operadores. Los operadores son alias para personas o grupos que pueden recibir una
notificacin electrnica cuando los trabajos finalizan o se activa una alerta. Los atributos
principales de un operador son:
Nombre del operador
Informacin de contacto
- 141 -
direccin de correo electrnico en la que el operador recibir los mensajes del
localizador. Para establecer la notificacin mediante localizador, debe instalar en el
servidor de correo un software que procese el correo entrante y lo convierta en
mensajes de localizador. El software realizar diversas acciones, entre las que se
incluyen:
o Reenviar el correo a un servidor de correo remoto en el sitio del proveedor del
localizador. El proveedor del localizador debe ofrecer este servicio, aunque el
software necesario generalmente est disponible como parte del sistema de correo
local.
o Enrutar el correo electrnico mediante Internet a un servidor de correo electrnico
en el sitio del proveedor del localizador. Es una variacin del primer planteamiento.
o Procesar el mensaje de correo electrnico de entrada y llamar al nmero del
localizador mediante un mdem conectado.
Este software es propiedad de los proveedores de servicios de localizacin. El software
funciona como un cliente de correo electrnico que procesa peridicamente su bandeja
de entrada mediante la interpretacin de toda o parte de la informacin de la direccin
de correo electrnico como un nmero de localizador o mediante la
correspondencia del nombre de correo electrnico con un nmero de localizador en
una tabla de traduccin.
Si todos los operadores comparten el mismo proveedor de localizador, puede utilizar
SQL Server Management Studio para especificar el formato especial de correo
electrnico necesario para el sistema de conversin del localizador a correo
electrnico. El formato especial puede ser un prefijo o un sufijo y puede incluirse en las
siguientes lneas del mensaje de correo electrnico: Asunto, Cc, Para.
Nota: Si utiliza un sistema de localizacin alfanumrica de baja capacidad, puede
reducir el texto enviado si excluye el texto del error de la notificacin del localizador. Un
sistema de localizacin alfanumrica de baja capacidad es, por ejemplo, uno que est
limitado a 64 caracteres por pgina.
Notificacin mediante NET SEND: Enva un mensaje al operador mediante el
comando NET SEND. Si utiliza este comando, especifique el destinatario (el equipo o
el usuario) de un mensaje de red.
Nota: El comando net send utiliza Microsoft Windows Messenger. Para enviar alertas
correctamente, este servicio debe ejecutarse tanto en el equipo en el que SQL Server
se est ejecutando como en el equipo que utiliza el operador.
- 142 -
El operador a prueba de errores recibe la notificacin de una alerta despus de que no se haya
recibido respuesta a ninguna de las notificaciones enviadas mediante localizador a los
operadores designados. Por ejemplo, si ha definido tres operadores para las notificaciones
mediante localizador y no se pueden enviar mensajes al localizador de ninguno de ellos,
entonces se notificar al operador a prueba de errores.
Se notifica al operador a prueba de errores cuando:
- 143 -
Supervisar la Actividad de Trabajo
Para supervisar la actividad de los trabajos puede usar las siguientes herramientas
Sesiones del Agente SQL Server
Monitor de Actividades de Trabajo
Utilice el Monitor de actividad de trabajo cuando desee localizar los trabajos que estn
programados para su ejecucin, el ltimo resultado de los trabajos que se han ejecutado
durante la sesin actual y localizar los trabajos que se estn ejecutando actualmente o que
estn inactivos. Si el servicio del Agente SQL Server tiene un error inesperado, puede
determinar los trabajos que se estaban ejecutando buscando en la sesin anterior del Monitor
de actividad de trabajo.
Para abrir el Monitor de actividad de trabajo, expanda Agente SQL Server en el Explorador de
objetos de Management Studio, haga clic con el botn secundario en Monitor de actividad de
trabajo y haga clic en Ver actividad de trabajo.
Tambin puede ver la actividad de trabajo de la sesin actual mediante el procedimiento
almacenado sp_help_jobactivity.
- 144 -
- 145 -
4- Alertas
Alertas
Microsoft SQL Server genera eventos que se incluyen en el registro de aplicacin de Microsoft
Windows. El Agente SQL Server lee el registro de aplicacin 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. Adems de supervisar los eventos de SQL
Server, el Agente SQL Server tambin puede supervisar las condiciones de rendimiento y los
eventos de Instrumental de Administracin de Windows (WMI).
Cada alerta debe tener un nombre. Los nombres de las alertas deben ser exclusivos en la
instancia de SQL Server y no pueden tener ms de 128 caracteres.
Eventos
Una alerta responde a un tipo de evento especfico. Las alertas responden a los siguientes
tipos de evento:
Eventos de SQL Server
Condiciones de rendimiento de SQL Server
Eventos de WMI
El tipo de evento determina los parmetros que se utilizan para especificar el evento preciso.
Puede especificar una alerta para que se produzca en respuesta a uno o ms eventos. Utilice
los siguientes parmetros para especificar los eventos que desencadenan una alerta:
Nmero de error: El Agente SQL Server activa una alerta cuando se produce un error
especfico. Por ejemplo, puede especificar el nmero 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 especfica. 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 slo activa una alerta cuando el evento tiene
lugar en una base de datos determinada. Esta opcin se aplica adems del nmero de
error o el nivel de gravedad. Por ejemplo, si una instancia contiene una base de datos
que se utiliza para la produccin y una base de datos que se utiliza para la elaboracin
de informes, puede definir una alerta que responda a los errores de sintaxis slo en la
base de datos de produccin.
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 restriccin determinada.
- 146 -
Seleccionar una Condicin de Rendimiento
Puede especificar una alerta para que se active en respuesta a una condicin de rendimiento
determinada. En este caso, debe especificar el contador de rendimiento que se supervisa, un
umbral para la alerta y el comportamiento que el contador debe mostrar si la alerta tiene lugar.
Para establecer una condicin de rendimiento, debe definir los siguientes elementos en la
pgina General del cuadro de dilogo Nueva alerta o Propiedades de alerta del Agente SQL
Server:
Objeto: El objeto es el rea de rendimiento que se supervisa.
Contador: Un contador es un atributo del rea que se supervisa.
Instancia: La instancia de SQL Server define la instancia especfica (si la hay) del
atributo que se va a supervisar.
Alertar si el contador y Valor: El umbral de la alerta y el comportamiento que genera
la alerta. El umbral es un nmero. El comportamiento puede ser: est por debajo de, es
igual a o est por encima de un nmero especificado en Valor. El Valor es un nmero
que describe el contador de condicin de rendimiento. Por ejemplo, para establecer
una alerta que tendr lugar para el objeto de rendimiento SQLServer:Locks cuando
pasen 30 minutos del Tiempo de espera de bloqueos, deber elegir est por encima de
y especificar 30 para el valor. En otro ejemplo, puede especificar que una alerta tenga
lugar para el objeto de rendimiento SQLServer:Transactions cuando el espacio libre
- 147 -
en tempdb est por debajo de 1000 KB. Para ello, escoger el contador Espacio libre
en tempdb (KB), est por debajo de y un Valor de 1000.
Nota: Se muestrean peridicamente los datos de rendimiento, lo que puede causar una
pequea demora (unos segundos) entre el momento en que se alcanza el umbral y la
activacin de la alerta relativa al rendimiento.
Alertar a Operadores
Puede elegir a qu operadores notificar en respuesta a una alerta. Por ejemplo, puede asignar
responsabilidades rotativas para notificar a los operadores mediante la programacin de
alertas. Por ejemplo, se notifica a A de las alertas que se producen los lunes, mircoles o
viernes, y a B de las que se producen los martes, jueves y sbados. Si no se puede notificar a
ninguno de los dos operadores, o si la alerta se produce en domingo, se notificar al operador
a prueba de errores.
Los operadores pueden recibir notificaciones mediante uno o varios de los siguientes mtodos:
Notificacin mediante correo electrnico
Notificacin mediante localizador
Notificacin mediante NET SEND
Para enviar correo electrnico, el Agente SQL Server puede usar el Correo electrnico de base
de datos, que utiliza el Protocolo simple de transferencia de correo (SMTP), o bien SQL Mail,
que utiliza MAPI extendida. Los requisitos de configuracin varan en funcin del sistema
utilizado para enviar correo electrnico.
Si utiliza SQL Mail, el servicio del Agente SQL Server utiliza una sesin de correo exclusiva
para las actividades del Agente SQL Server. Si tambin utiliza una sesin de SQL Mail para el
servicio SQL Server, se recomienda que el Agente SQL Server y Microsoft SQL Server utilicen
la misma cuenta de usuario de dominio de Microsoft Windows. Esto permite que ambas
sesiones de correo utilicen el mismo perfil de correo. Si los servicios del Agente SQL Server y
de SQL Server utilizan distintas cuentas de usuario de dominio, deber configurar un perfil de
correo para cada servicio
Si utiliza el Correo electrnico de base de datos para enviar correo electrnico, deber
configurar el Agente SQL Server para utilizar un perfil especfico del Correo electrnico de base
de datos.
- 148 -
5- Manejo de Servidores Mltiples
Administracin multiservidor
La administracin multiservidor requiere que se configure un servidor principal y uno o ms
servidores de destino. Los trabajos que se van a procesar en todos los servidores de destino se
definen primero en el servidor principal y luego se descargan en los servidores de destino.
Para crear un entorno multiservidor, utilice el Asistente para servidor principal.
El cifrado SSL (Capa de sockets seguros) y la validacin de certificados completos se habilitan
para las conexiones entre los servidores principales y los servidores de destino de forma
predeterminada.
Nota: Para utilizar el procesamiento de trabajos multiservidor, la cuenta de servicio del Agente
SQL Server debe ser miembro de la funcin TargetServersRole de la base de datos msdb del
servidor principal. El Asistente para servidor principal agrega automticamente la cuenta de
servicio a sta funcin como parte del proceso de alta.
- 149 -
Nota: Si no es posible el acceso al servidor principal cuando el servidor de destino intenta
cargar el estado del trabajo, dicho estado de trabajo se coloca en la cola hasta que vuelva a ser
posible el acceso al servidor principal.
- 150 -
6 Manejando la Seguridad del Agente SQL Server
El Agente SQL Server permite al administrador de la base de datos ejecutar cada paso de
trabajo en un contexto seguro que slo tiene los permisos necesarios para realizar ese paso de
trabajo, que est determinado por un servidor proxy del Agente SQL Server. Para establecer
los permisos para un paso de trabajo concreto, cree un proxy que disponga de los permisos
necesarios y, a continuacin, asigne ese proxy al paso de trabajo. Se puede especificar un
servidor proxy en ms de un paso de trabajo. Para los pasos de trabajo que necesitan los
mismos permisos se utiliza el mismo proxy.
Cuando los usuarios que no son miembros de una de estas funciones se conectan con SQL
Server en SQL Server Management Studio, el nodo del Agente SQL Server no est visible en
el Explorador de objetos. Es preciso que los usuarios sean miembros de las funciones fijas de
bases de datos o de la funcin de servidor fija sysadmin para poder utilizar el Agente SQL
Server.
Permisos de las Funciones Fijas de Base de Datos del Agente SQL Server
Los permisos de las funciones de base de datos del Agente SQL Server son concntricos: las
funciones con ms privilegios heredan los permisos de las funciones con menos privilegios en
los objetos del Agente SQL Server (incluidos alertas, operadores, trabajos, programaciones y
servidores proxy). Por ejemplo, si a los miembros de la funcin SQLAgentUserRole con
menos privilegios se les ha concedido el acceso a?l proxy_A, los miembros de las funciones
SQLAgentReaderRole y SQLAgentOperatorRole tendrn automticamente acceso a este
- 151 -
proxy incluso si no se les ha concedido explcitamente el acceso al proxy_A. Esto puede tener
implicaciones de seguridad, que se describen en las siguientes secciones sobre cada funcin.
Permisos de SQLAgentUserRole
Es la funcin con menos privilegios de todas las funciones fijas de base de datos del Agente
SQL Server. Slo dispone de permisos para operadores, trabajos locales y programaciones de
trabajos. Los miembros de SQLAgentUserRole slo tienen permisos en los trabajos locales y
en las programaciones de trabajos que les pertenecen. No pueden utilizar trabajos
multiservidor (trabajos de servidor de destino y de servidor principal), ni pueden cambiar la
propiedad de un trabajo para obtener acceso a trabajos que todava no les pertenecen. Los
miembros de SQLAgentUserRole pueden ver una lista de los servidores proxy disponibles
nicamente en el cuadro de dilogo Propiedades de paso de trabajo de SQL Server
Management Studio. Para los miembros de SQLAgentUserRole slo est visible el nodo
Trabajos del Explorador de objetos de SQL Server Management Studio.
Crear, modificar
No S 1 S No
o eliminar
Ver lista
S 2 S S S 3
(enumerar)
Habilitar o
No S S No aplicable
deshabilitar
Ver propiedades No S S No
Ejecutar, detener No
S No aplicable No aplicable
o iniciar aplicable
Ver historial de No
S No aplicable No aplicable
trabajos aplicable
Eliminar historial No
No 4 No aplicable No aplicable
de trabajos aplicable
Adjuntar o No
No aplicable S No aplicable
separar aplicable
- 152 -
Referencias de la tabla:
1 No se puede cambiar la propiedad de un trabajo.
2 Se puede obtener la lista de operadores disponibles para utilizar en sp_notify_operator y en
el cuadro de dilogo Propiedades del trabajo de Management Studio.
3 Lista de los servidores proxy disponibles solamente en el cuadro de dilogo Propiedades de
paso de trabajo de Management Studio.
4 Es necesario que a los miembros de SQLAgentUserRole se les haya concedido
explcitamente el permiso EXECUTE en sp_purge_jobhistory para eliminar el historial de los
trabajos que les pertenecen. No pueden eliminar el historial de ningn otro trabajo.
Permisos de SQLAgentReaderRole
La funcin SQLAgentReaderRole incluye todos los permisos de SQLAgentUserRole as
como permisos para ver la lista de trabajos multiservidor disponibles, sus propiedades y su
historial. Los miembros de esta funcin tambin pueden ver la lista de trabajos y
programaciones de trabajos disponibles y sus propiedades, y no slo los trabajos y
programaciones de trabajos que les pertenecen. Los miembros de SQLAgentReaderRole no
pueden cambiar la propiedad de un trabajo para obtener acceso a trabajos que no les
pertenezcan ya. Para los miembros de SQLAgentReaderRole slo est visible el nodo
Trabajos del Explorador de objetos de SQL Server Management Studio.
Ver lista
S 2 S S S S 3
(enumerar)
Ver propiedades No S S S No
- 153 -
Ejecutar, S (slo trabajos
No
detener o iniciar que les No No aplicable No aplicable
aplicable
pertenecen)
Ver historial de No
S S No aplicable No aplicable
trabajos aplicable
Eliminar historial No
No 4 No No aplicable No aplicable
de trabajos aplicable
Adjuntar o S (slo
No
separar No aplicable No aplicable programaciones que les No aplicable
aplicable
pertenecen)
Referencias de la tabla:
1
No se puede cambiar la propiedad de un trabajo.
2
Se puede obtener la lista de operadores disponibles para utilizar en sp_notify_operator y en
el cuadro de dilogo Propiedades del trabajo de Management Studio.
3
Lista de los servidores proxy disponibles solamente en el cuadro de dilogo Propiedades de
paso de trabajo de Management Studio.
4
Es necesario que a los miembros de SQLAgentReaderRole se les haya concedido
explcitamente el permiso EXECUTE en sp_purge_jobhistory para eliminar el historial de los
trabajos que les pertenecen. No pueden eliminar el historial de ningn otro trabajo.
Permisos de SQLAgentOperatorRole
Es la funcin con ms privilegios de todas las funciones fijas de base de datos del Agente SQL
Server. Incluye todos los permisos de SQLAgentUserRole y SQLAgentReaderRole. Los
miembros de esta funcin tambin pueden ver las propiedades de operadores y servidores
proxy, as como enumerar los servidores proxy y alertas disponibles en el servidor.
Los miembros de SQLAgentOperatorRole tienen permisos adicionales en los trabajos locales
y en las programaciones. Pueden ejecutar, detener o iniciar todos los trabajos locales, y
pueden eliminar el historial de trabajos de cualquier trabajo local del servidor. Tambin pueden
habilitar o deshabilitar todos los trabajos locales y programaciones del servidor. Para habilitar o
deshabilitar trabajos locales o programaciones, los miembros de esta funcin deben utilizar los
procedimientos almacenados sp_update_job y sp_update_schedule. Los miembros de
SQLAgentOperatorRole nicamente pueden especificar los parmetros que especifican el
nombre o el identificador del trabajo o la programacin y el parmetro @enabled. Si
especifican cualquier otro parmetro, se producir un error en la ejecucin de estos
procedimientos almacenados. Los miembros de SQLAgentOperatorRole no pueden cambiar
la propiedad de un trabajo para obtener acceso a trabajos que no les pertenezcan ya.
Para los miembros de SQLAgentOperatorRole estn visibles los nodos Trabajos, Alertas,
Operadores y Servidores proxy del Explorador de objetos de SQL Server Management Studio.
El nico nodo que no est visible para los miembros de esta funcin es el nodo Registros de
errores.
- 154 -
En la siguiente tabla encontrar un resumen de los permisos de SQLAgentOperatorRole para
los objetos del Agente SQL Server.
Ver lista
S S 1 S S S S
(enumerar)
Habilitar o No
No No S 3 No S 4
deshabilitar aplicable
Ver
S S S S S S
propiedades
Ejecutar,
No No No
detener o S No No aplicable
aplicable aplicable aplicable
iniciar
Ver historial No No No
S S No aplicable
de trabajos aplicable aplicable aplicable
Eliminar
No No No
historial de S No No aplicable
aplicable aplicable aplicable
trabajos
Adjuntar o S (slo
No No No
separar No aplicable No aplicable programaciones
aplicable aplicable aplicable
que les pertenecen)
Referencias de la tabla:
1
Se puede obtener la lista de operadores disponibles para utilizar en sp_notify_operator y en
el cuadro de dilogo Propiedades del trabajo de Management Studio.
2
No se puede cambiar la propiedad de un trabajo.
3
Los miembros de SQLAgentOperatorRole pueden habilitar o deshabilitar trabajos locales
que no les pertenecen utilizando el procedimiento almacenado sp_update_job y especificando
valores para los parmetros @enabled y @job_id (o @job_name). Si un miembro de sta
funcin especifica cualquier otro parmetro para este procedimiento almacenado, la ejecucin
del procedimiento producir un error.
4
Los miembros de SQLAgentOperatorRole pueden habilitar o deshabilitar programaciones
que no les pertenecen utilizando el procedimiento almacenado sp_update_schedule y
especificando valores para los parmetros @enabled y @schedule_id (o @name). Si un
miembro de esta funcin especifica cualquier otro parmetro para este procedimiento
almacenado, la ejecucin del procedimiento producir un error.
- 155 -
Asignar a los Usuarios varias Funciones
Los miembros de la funcin fija de seguridad sysadmin tienen acceso a toda la funcionalidad
del Agente SQL Server. Si un usuario no es miembro de la funcin sysadmin, pero es miembro
de ms de una funcin fija de base de datos del Agente SQL Server, es importante recordar el
modelo de permisos concntricos de estas funciones. Debido a que las funciones con ms
privilegios siempre contienen todos los permisos de las funciones con menos privilegios, un
usuario que sea miembro de ms de una funcin automticamente tendr los permisos
asociados con la funcin con ms privilegios de la que sea miembro.
Nota: Los pasos de trabajo que ejecutan Transact-SQL no utilizan cuentas de proxy del Agente
SQL Server. Los pasos de trabajo Transact-SQL se ejecutan en el contexto de seguridad del
propietario del trabajo. Para establecer el contexto de seguridad de un paso de trabajo
Transact-SQL, utilice el parmetro database_user_name en el procedimiento almacenado
sp_add_jobstep.
Las cuentas de proxy del Agente SQL Server utilizan credenciales para almacenar informacin
acerca de las cuentas de usuario de Windows. El usuario especificado en las credenciales
debe tener el permiso "Iniciar sesin como proceso por lotes" en el equipo en que se ejecuta
SQL Server.
El Agente SQL Server comprueba el acceso al subsistema de un proxy y da acceso al proxy
cada vez que se ejecuta el paso de trabajo. Si el proxy ya no tiene acceso al subsistema, el
paso de trabajo da error. De lo contrario, el Agente SQL Server suplanta al usuario
especificado en el proxy y ejecuta el paso de trabajo.
La creacin de un proxy no cambia los permisos del usuario especificado en las credenciales
del proxy. Por ejemplo, puede crear un proxy para un usuario que no tiene permisos para
conectarse a una instancia de SQL Server. En este caso, los pasos de trabajo que usan el
proxy no pueden conectarse a SQL Server.
Un usuario debe tener acceso a un proxy para utilizarlo en un paso de trabajo. Se puede
conceder acceso a tres tipos de principios de seguridad:
Inicios de sesin de SQL Server
Funciones del servidor
Funciones en la base de datos msdb
Si el inicio de sesin del usuario tiene acceso al proxy o si el usuario pertenece a una funcin
con acceso al proxy, puede usarlo en un paso de trabajo.
Nota: Los miembros de la funcin fija del servidor sysadmin tienen acceso a todas las cuentas
de proxy de la instancia.
- 156 -
Mdulo 6
Implementando
Replicacin
- 157 -
1- Introduccin a Rplica de SQL Server
La rplica es un conjunto de tecnologas destinadas a la copia y distribucin de datos y objetos
de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de
datos y mantener su coherencia. La rplica permite distribuir datos entre diferentes ubicaciones
y entre usuarios remotos o mviles mediante redes locales y de rea extensa, conexiones de
acceso telefnico, conexiones inalmbricas e Internet.
El tipo de rplica que se elige para una aplicacin depende de muchos factores, como el
entorno fsico de la rplica, el tipo y la cantidad de datos que se desean replicar y si los datos
se actualizan en el suscriptor. El entorno fsico incluye el nmero y la ubicacin de los equipos
que participan en la rplica, y si stos equipos son clientes (estaciones de trabajo, equipos
porttiles o dispositivos de mano) o servidores.
Por lo general, cada tipo de rplica comienza con una sincronizacin inicial de los objetos
publicados entre el publicador y los suscriptores. Esta sincronizacin inicial puede llevarse a
cabo mediante la rplica con una instantnea, que es una copia de todos los objetos y datos
especificados por una publicacin. Una vez creada la instantnea, se enva a los suscriptores.
Para algunas aplicaciones, la rplica de instantneas es lo nico que se necesita. Para otros
tipos de aplicaciones, es importante que los cambios de datos posteriores fluyan al suscriptor
de forma incremental a lo largo del tiempo. Algunas aplicaciones tambin requieren que los
cambios vuelvan del suscriptor al publicador. La rplica transaccional y la rplica de mezcla
proporcionan opciones para estos tipos de aplicaciones.
Rplica Transaccional
Normalmente, la rplica transaccional se inicia con una instantnea de los datos y los objetos
de la base de datos de publicaciones. En cuanto se obtiene la instantnea inicial, los
posteriores cambios de datos y modificaciones del esquema realizados en el publicador
habitualmente se entregan en el suscriptor cuando se producen (casi en tiempo real). Los
cambios de datos se aplican al suscriptor en el mismo orden y dentro de los mismos lmites de
la transaccin que cuando se produjeron en el publicador. Por tanto, en una publicacin, se
garantiza la coherencia transaccional.
- 158 -
La rplica transaccional se utiliza normalmente en entornos entre servidores y es la adecuada
en los siguientes casos:
Se desea que se propaguen cambios incrementales a los suscriptores en el momento
en que ocurren.
La aplicacin requiere latencia baja entre el momento en que se realizan los cambios
en el publicador y el momento en que los cambios llegan al suscriptor.
La aplicacin requiere acceso a estados de datos intermedios. Por ejemplo, si una fila
cambia cinco veces, la rplica transaccional permite a una aplicacin responder a cada
cambio (por ejemplo, activando un desencadenador), no simplemente al cambio de
datos neto de la fila.
El publicador tiene un volumen elevado de actividad de insercin, actualizacin y
eliminacin.
El publicador o el suscriptor es una base de datos que no es de SQL Server, como
Oracle.
Rplica de Mezcla
La rplica de mezcla, como la rplica transaccional, normalmente se inicia con una instantnea
de los objetos y datos de una base de datos de publicaciones. Los cambios de datos y las
modificaciones de esquema posteriores que se lleven a cabo en el publicador y en los
suscriptores se controlan mediante desencadenadores. El suscriptor se sincroniza con el
publicador cuando estn conectados a la red e intercambian todas las filas que han cambiado
entre el publicador y el suscriptor desde la ltima vez que se produjo la sincronizacin.
La rplica de mezcla se suele utilizar en entornos de servidor a cliente. La rplica de mezcla es
adecuada en las siguientes situaciones:
Varios suscriptores actualizan los mismos datos en diferentes ocasiones y propagan
los cambios al publicador y a otros suscriptores.
Los suscriptores necesitan recibir datos, realizar cambios sin conexin y sincronizar
mas adelante los cambios con el publicador y otros suscriptores.
Cada suscriptor requiere una particin de datos diferente.
Se pueden producir conflictos y, cuando ocurren, debe poder detectarlos y resolverlos.
La aplicacin requiere el cambio de datos neto en lugar de acceso a los estados
intermedios de los datos. Por ejemplo, si una fila cambia cinco veces en el suscriptor
antes de que ste se sincronice con el publicador, la fila cambiar slo una vez en el
publicador para reflejar el cambio de datos neto (es decir, el quinto valor).
La rplica de mezcla permite que diferentes sitios funcionen de forma autnoma y, despus,
mezclen las actualizaciones en un solo resultado uniforme. Puesto que las actualizaciones
tienen lugar en ms de un nodo, los mismos datos pueden haber sido actualizados por el
publicador y por ms de un suscriptor. Por tanto, se pueden producir conflictos cuando las
actualizaciones se mezclan y la rplica de mezcla proporciona varias formas de controlar los
conflictos.
Rplica de Instantneas
La rplica de instantneas distribuye los datos exactamente como aparecen en un momento
especfico en el tiempo y no supervisa las actualizaciones de los datos. Cuando se produce la
sincronizacin, se genera la instantnea completa y se enva a los suscriptores.
- 159 -
Utilizar la rplica de instantneas por s sola es lo mas adecuado si se cumplen una o varias de
las siguientes circunstancias:
Los datos cambian con poca frecuencia
Es aceptable disponer de copias de datos que estn anticuadas con respecto al
publicador durante un perodo de tiempo.
Se replican pequeas cantidades de datos.
Se produce un gran nmero de cambios a lo largo de un corto perodo de tiempo.
Aunque la metfora de la revista es til para comprender la rplica, es importante sealar que
la rplica de SQL Server incluye funciones que no estn representadas en esta metfora, en
particular, la posibilidad de que un suscriptor realice actualizaciones y de que un publicador
enve cambios incrementales a los artculos de una publicacin.
Una topologa de rplica define la relacin entre los servidores y las copias de los datos, y
aclara la lgica que determina cmo fluyen los datos entre los servidores. Hay varios procesos
de rplica (denominados agentes) que son responsables de copiar y mover los datos entre el
publicador y los suscriptores. En la siguiente ilustracin se muestra informacin general acerca
de los componentes y procesos que participan en la rplica.
- 160 -
Publicador
El publicador es una instancia de base de datos que permite que los datos estn disponibles
para otras ubicaciones a travs de la rplica. El publicador puede tener una o ms
publicaciones, cada una de las cuales representa un conjunto de objetos y datos relacionados
lgicamente para replicar.
Distribuidor
El distribuidor es una instancia de base de datos que funciona como almacn para datos
especficos de rplica asociados con uno o ms publicadores. Cada publicador est asociado
con una sola base de datos (conocida como la base de datos de distribucin) en el distribuidor.
La base de datos de distribucin almacena los datos de estado de la rplica, metadatos acerca
de la publicacin 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 funcin del tipo de rplica
elegida, el suscriptor tambin puede devolver los datos modificados al publicador o volver a
publicar los datos en otros suscriptores.
Artculo
Un artculo identifica un objeto de base de datos incluido en una publicacin. Una publicacin
puede contener diferentes tipos de artculos, como tablas, vistas, procedimientos almacenados
y otros objetos. Cuando las tablas se publican como artculos, se pueden usar filtros para
restringir las columnas y filas de datos que se envan a los suscriptores.
Publicacin
- 161 -
Una publicacin es un conjunto de uno o ms artculos de una base de datos. La agrupacin de
varios artculos en una publicacin permite especificar mas fcilmente un conjunto de objetos y
datos de bases de datos relacionados lgicamente, que se replican como una unidad.
Suscripcin
Una suscripcin es una solicitud de una copia de una publicacin que se entrega a un
suscriptor. La suscripcin define qu publicacin se recibir, dnde y cundo. Hay dos tipos de
suscripciones: de insercin y de extraccin.
- 162 -
2- Implementar replicacin
Implementacin
El proceso de implementacin de la rplica vara segn el tipo de rplica y las opciones
elegidas pero, en general, la rplica se compone de las fases siguientes:
Configurar la rplica y publicar datos
Crear e inicializar suscripciones
Sincronizar datos
Segn el tipo de rplica y las opciones elegidas al configurar la publicacin, el suscriptor puede
modificar los datos despus de haber entregado el conjunto de datos inicial y propagar los
cambios al publicador, que puede a su vez propagar los cambios a otros suscriptores. Las
siguientes opciones y tipos de rplica permiten a los suscriptores modificar los datos replicados
y hacer que las modificaciones se propaguen de vuelta al publicador:
Rplica de mezcla.
Rplica transaccional con suscripciones actualizables.
Rplica transaccional de punto a punto.
Rplica transaccional bidireccional.
- 163 -
Reducir la cantidad de espacio de almacenamiento necesario en el suscriptor.
Personalizar las publicaciones y las aplicaciones en funcin de los requisitos de cada
suscriptor.
Evitar o reducir los conflictos si los suscriptores actualizan datos, ya que pueden
enviarse particiones de datos diferentes a varios suscriptores (dos suscriptores
distintos no actualizarn los mismos valores de datos).
Evitar la transmisin de datos reservados. Se pueden utilizar filtros de fila y filtros de
columna para restringir el acceso de un suscriptor a los datos. Para la rplica de
mezcla, existen consideraciones de seguridad si utiliza un filtro con parmetros que
incluya HOST_NAME().
Filtros de columna: que estn disponibles con todos los tipos de rplica. Al utilizar los
filtros de columna, puede seleccionar un subconjunto de columnas para publicarlo.
En la siguiente ilustracin se muestra una publicacin que filtra la columna C.
- 164 -
Tambin puede utilizar conjuntamente el filtrado de filas y columnas, como se ilustra a
continuacin.
Filtros de fila con parmetros: que estn disponibles solamente con la rplica de
mezcla. Al utilizar los filtros de fila con parmetros, puede seleccionar un subconjunto
de filas para publicarlo. A diferencia de los filtros estticos que envan el mismo
subconjunto de filas a cada suscriptor, los filtros de fila con parmetros utilizan un valor
de datos suministrado por el suscriptor para enviar a los suscriptores diferentes
subconjuntos de filas.
- 165 -
Filtros de combinacin: que estn disponibles solamente con la rplica de mezcla. Al
utilizar los filtros de combinacin, puede ampliar un filtro de fila de una tabla publicada
a otra.
sp_replicationdboption Establece una opcin de base de datos de rplica para la base de datos
especificada. Este procedimiento almacenado se ejecuta en el publicador o el
suscriptor de cualquier base de datos.
sp_addlogreader_agent Agrega un Agente de registro del LOG a una base de datos dada. Este
procedimiento almacenado se ejecuta en el publicador de la base de datos de
publicaciones.
sp_articlefilter Filtra los datos que se publican en funcin de un artculo de tabla. Este
procedimiento almacenado se ejecuta en el publicador de la base de datos de
publicaciones.
sp_articleview Crea la vista que define el artculo publicado cuando una tabla se filtra horizontal
o verticalmente. Esta vista se utiliza como el origen filtrado del esquema y los
datos de las tablas de destino. Con este procedimiento almacenado slo pueden
modificarse artculos sin suscripciones. Este procedimiento almacenado se
ejecuta en el publicador de la base de datos de publicaciones.
- 166 -
Crear e Inicializar Suscripciones
Una suscripcin es una peticin de copia de datos y objetos de base de datos en una
publicacin. Una suscripcin define qu publicacin se recibir, dnde y cundo. Al planear
suscripciones, tenga en cuenta dnde se realizar el proceso del agente. El tipo de suscripcin
que elige controla dnde se ejecuta el agente. Con una suscripcin de insercin, el Agente de
Mezcla o el Agente de Distribucin se ejecutan en el distribuidor, mientras que en una
suscripcin de extraccin los agentes se ejecutan en los suscriptores. Despus de crear una
suscripcin, no se puede cambiar de un tipo a otro.
Despus de crear una publicacin, puede crear suscripciones y configurar opciones
adicionales.
Se utiliza frecuentemente en la
rplica de instantneas y
transaccional.
- 167 -
estn desconectados o se
desplazan. Los suscriptores
determinan cundo se conectarn y
sincronizarn los cambios.
Se utiliza frecuentemente en la
rplica de mezcla.
Crear Suscripciones
Para crear una suscripcin, proporcione la siguiente informacin:
El nombre de la publicacin.
El nombre del suscriptor y la base de datos de suscripciones.
Si el Agente de distribucin o el Agente de mezcla se ejecutan en el distribuidor o en el
suscriptor.
Si el Agente de distribucin o el Agente de mezcla se ejecutan de forma continua,
programada o solamente a peticin.
Si el Agente de instantneas debe crear una instantnea inicial para la suscripcin y si
el Agente de distribucin o el Agente de mezcla debe aplicar esa instantnea en el
suscriptor.
Las cuentas con la que se ejecutar el Agente de distribucin o el Agente de mezcla.
En la rplica de mezcla, el tipo de suscripcin: servidor o cliente.
Sincronizar Datos
La sincronizacin es el proceso de propagacin de los datos entre el publicador y los
suscriptores despus de haber aplicado el conjunto de datos inicial en el suscriptor. En la
rplica de instantneas, la sincronizacin significa volver a aplicar la instantnea en el
suscriptor, de modo que los datos y esquemas de la base de datos de suscripciones sean
coherentes con la base de datos de publicaciones. En la rplica transaccional, la sincronizacin
de datos significa que las modificaciones de datos, como las inserciones, actualizaciones y
eliminaciones, se distribuyen entre el publicador y los suscriptores (y desde los suscriptores de
vuelta al publicador en caso de suscripciones de actualizacin). En la rplica de mezcla, la
sincronizacin significa que las modificaciones de datos realizadas en varios sitios se mezclan,
los conflictos se detectan y resuelven, y los datos finalmente adoptan los mismos valores en
todos los sitios.
- 168 -
Que la instancia del publicador tambin actuar como el distribuidor (si va a utilizar un
distribuidor remoto, ste ya debe estar configurado con el Asistente para configurar la
distribucin).
La ubicacin predeterminada de los archivos de instantneas.
La base de datos de publicaciones.
El tipo de publicacin que se va a crear (de instantnea, transaccional, transaccional
con suscripciones actualizables o de mezcla).
Los datos y los objetos de la base de datos (artculos) que se incluirn en la
publicacin.
Los filtros de fila estticos y los filtros de columna para todos los tipos de publicaciones,
y los filtros de fila con parmetros y los filtros de combinacin para publicaciones de
mezcla.
La programacin del Agente de instantneas.
Las cuentas con las que se ejecutarn los siguientes agentes: el Agente de
instantneas para todas las publicaciones, el Agente de registro del LOG para todas las
publicaciones transaccionales, el Agente de lectura de cola para publicaciones
transaccionales que permiten suscripciones de actualizacin.
Un nombre y una descripcin para la publicacin.
- 169 -
En las siguientes imgenes se pueden observar algunas solapas del Asistente de Nuevas
Publicaciones:
- 170 -
Asistente para Nuevas Suscripciones
Use el Asistente para nuevas suscripciones para especificar lo siguiente:
- 171 -
La publicacin a la que desea suscribirse.
Dnde deben ejecutarse el Agente de distribucin o el Agente de mezcla.
Las cuentas con las que se ejecutarn y realizarn las conexiones el Agente de
distribucin o el Agente de mezcla.
Uno o varios suscriptores que van a recibir datos publicados y la base de datos de
suscripciones que recibir los datos publicados en cada suscriptor.
Si la suscripcin debe inicializarse y, si es as, cundo.
Las programaciones de los agentes para definir la frecuencia con la que se propagarn
las actualizaciones al suscriptor.
Informacin adicional basada en los valores de publicacin.
En las siguientes imgenes se pueden observar algunas solapas del Asistente de Nuevas
Suscripciones:
- 172 -
- 173 -
Asistente para Configurar la Distribucin
Use el Asistente para configurar la distribucin para lo siguiente:
Configurar un distribuidor remoto.
- 174 -
Especificar la ubicacin predeterminada de los archivos de instantneas.
Nota:
Tambin puede utilizar este asistente para configurar un distribuidor local, pero normalmente
esto se realiza mediante el Asistente para nueva publicacin la primera vez que se crea una
publicacin en un publicador.
- 175 -
Asistente para la sincronizacin Web
Use el Asistente para la sincronizacin Web para configurar un servidor con Microsoft Internet
Information Services (IIS) para la sincronizacin Web, que permite sincronizar suscripciones a
publicaciones de mezcla a travs de una conexin de Internet o intranet.
- 176 -
3- Monitor de Rplica
Supervisin de la Rplica con el Monitor de Rplica
El Monitor de rplica de Microsoft SQL Server es una herramienta grfica que le permite
supervisar el estado general de una topologa de rplica. El Monitor de rplica proporciona
informacin detallada sobre el estado y rendimiento de las publicaciones y suscripciones, y le
permite responder a preguntas comunes, tales como:
Es correcto el sistema de rplica?
Qu suscripciones son lentas?
Cul es el retraso de la suscripcin transaccional?
Cunto tardar una transaccin confirmada ahora en llegar al suscriptor en la rplica
transaccional?
Por qu es lenta la suscripcin de mezcla?
Por qu no se ejecuta un agente?
Para supervisar la rplica, un usuario debe ser miembro de la funcin fija de servidor sysadmin
en el distribuidor o miembro de la funcin fija de base de datos replmonitor en la base de
datos de distribucin. Un administrador del sistema puede agregar cualquier usuario a la
funcin replmonitor que permite a un usuario ver la actividad de rplica en el Monitor de
rplica; sin embargo, el usuario no puede administrar la rplica.
- 177 -
Ver informacin de toda la topologa
En el panel izquierdo del Monitor de rplica se muestran los grupos de publicadores, los
publicadores y las publicaciones.
El panel izquierdo ayuda a responder a las siguientes preguntas:
Es correcto el estado de mi sistema de rplica?
El estado del sistema de rplica es relativamente correcto si no existen iconos de error
en los nodos del panel izquierdo. Para obtener una vista ms completa del estado del
sistema, tambin debe comprobar la ficha Lista de supervisin de suscripciones, en la
que se muestra informacin sobre las suscripciones que pueden requerir atencin.
Por qu no funciona un agente?
Un agente no funciona en un momento determinado porque no est programado para
ejecutarse o porque se ha producido un error. Si se ha producido un error, se muestra
un icono de error en los nodos correspondientes del panel izquierdo. Por ejemplo, si el
Agente de instantneas de una publicacin se detiene debido a un error, se muestra un
icono de error en el grupo de publicador, el publicador y los nodos de publicacin. En la
ficha Advertencias y agentes de la publicacin se muestra informacin resumida del
Agente de instantneas; haga doble clic en el Agente de instantneas de esta ficha
para obtener informacin detallada del error.
- 178 -
seleccionado. Puede filtrar la lista de suscripciones para ver errores, advertencias y las
suscripciones que tienen un rendimiento bajo. Esta ficha permite tambin: tener acceso
a las propiedades de la suscripcin, tener acceso a informacin detallada sobre el
agente o los agentes asociados con una suscripcin, y reinicializar y validar
suscripciones.
La ficha Lista de supervisin de suscripciones ayuda a responder a las siguientes
preguntas:
o Cules son las suscripciones lentas?
Establezca opciones en esta ficha para que la cuadrcula muestre las suscripciones
ordenadas por su rendimiento relativo.
o Es correcto el estado de mi sistema de rplica?
La cuadrcula de esta ficha muestra iconos de advertencia y error en las
suscripciones que requieren su atencin.
Esta ficha no se muestra en los distribuidores que ejecutan versiones anteriores a
Microsoft SQL Server 2005.
Ficha Trabajos Comunes: En esta ficha se muestra informacin sobre los trabajos
utilizados por todos los tipos de rplica. Esta ficha permite tambin: tener acceso a
informacin detallada sobre los trabajos e iniciar y detener cada trabajo.
- 179 -
se han entregado al suscriptor seleccionado y el tiempo estimado para entregar esos
comandos. La ficha ayuda a responder a la pregunta, "Qu retraso tiene mi
suscripcin?" Esta ficha no se muestra en los distribuidores que ejecutan versiones
anteriores a SQL Server 2005.
Ficha Historial de sincronizaciones (slo rplica de mezcla): En esta ficha se
muestra informacin sobre el Agente de mezcla para una suscripcin. Esta ficha ayuda
a responder a la siguiente pregunta: Por qu mi suscripcin de mezcla es lenta?
En esta ficha se proporcionan estadsticas detalladas de cada artculo procesado
durante la sincronizacin, incluido el tiempo invertido en cada fase del proceso (carga
de cambios, descarga de cambios, etc.). Puede ayudar a identificar con precisin tablas
especficas que provocan lentitud y el mejor lugar para solucionar problemas de
rendimiento con suscripciones de mezcla.
En las tablas de las siguientes secciones se enumeran los posibles valores de estado de
publicaciones y suscripciones. Tres de los valores de estado slo se muestran si se cumple o
supera un umbral:
Suscripcin caducada: Este valor de estado se aplica a todos los tipos de rplica.
Rendimiento crtico: Este valor de estado se aplica a la rplica transaccional y a la
rplica de mezcla.
Mezcla de ejecucin prolongada: Este valor de estado se aplica a la rplica de
mezcla.
- 180 -
estadsticas se muestran en la ventana del Agente de mezcla en el Monitor de rplica. La
rplica de instantneas y transaccional proporciona informacin detallada sobre el proceso del
Agente de distribucin.
Obtenga acceso a la informacin y a las tareas asociadas con estos agentes a travs de las
siguientes fichas de la publicacin: la ficha Advertencias y agentes (para los distribuidores que
se ejecutan en Microsoft SQL Server 2005) o la ficha Agentes (para los distribuidores que se
ejecuten en versiones anteriores de Microsoft SQL Server).
Obtenga acceso a la informacin y a las tareas asociadas con estos agentes a travs de las
siguientes fichas: la ficha Lista de supervisin de suscripciones (disponible para todos los
publicadores) o la ficha Todas las suscripciones (disponible para todas las publicaciones).
- 181 -
o Vea el estado del agente
o Inicie o detenga el agente si fuese necesario.
o Para las suscripciones de insercin, haga clic en Supervisar para iniciar el Monitor
de rplica.
o Para las suscripciones de extraccin, haga clic en Ver historial de trabajos para
iniciar el Visor del archivo de registros, que muestra informacin sobre el registro
del agente.
Haga clic en Cerrar.
- 182 -
4- Configurar Replicacin en algunos Escenarios Comunes
- 183 -
lectura mejora porque la actividad se puede repartir entre todos los nodos. El rendimiento
acumulado de actualizacin, insercin y eliminacin para la topologa es similar al de un solo
nodo, porque al final todos los cambios se propagan a todos los nodos.
Todos los nodos de una topologa de punto a punto son pares: cada nodo publica y suscribe al
mismo esquema y los mismos datos. Los cambios (inserciones, actualizaciones y
eliminaciones) pueden realizarse en todos los nodos. La rplica reconoce cundo un cambio se
ha aplicado a un nodo determinado, lo que evita cambios cclicos en los nodos ms de una vez.
Nota:
Las aplicaciones personalizadas que tienen acceso a los datos y los modifican deben
asegurarse de que las inserciones, actualizaciones y eliminaciones tienen particiones, de forma
que las modificaciones en una fila determinada con origen en un nodo se sincronicen con el
resto de bases de datos de la topologa antes de que la fila se modifique en otro nodo diferente.
Si una aplicacin ejecuta modificaciones simultneas que producen conflictos en una fila
determinada en varios nodos, utilice la rplica de mezcla que se adapta perfectamente para
controlar conflictos.
La rplica transaccional estndar supone suscriptores de slo lectura y tiene una estructura
jerrquica: normalmente un solo publicador publica datos para uno o varios suscriptores. La
rplica transaccional estndar tambin admite una jerarqua de republicacin: las
actualizaciones se entregan desde un publicador a un conjunto de suscriptores de
republicacin, que a su vez entregan las actualizaciones a un conjunto final de suscriptores de
nodo hoja. Las suscripciones de actualizacin ofrecen la posibilidad de que los suscriptores
inserten cambios de nuevo en el publicador, pero la organizacin an es jerrquica porque los
cambios siguen la estructura jerrquica cuando se mueven entre los suscriptores y los
publicadores. Al contrario que la rplica transaccional de slo lectura y la rplica transaccional
con suscripciones de actualizacin, las relaciones entre nodos en una topologa de rplica de
punto a punto son relaciones entre pares en vez de jerrquicas, donde cada nodo contiene un
esquema y datos idnticos.
Aunque las actualizaciones pueden realizarse donde participan varias bases de datos, es
importante comprender que las topologas de punto a punto no necesitan ni permiten las
opciones de publicacin de actualizacin en cola o inmediata.
- 184 -
En las ilustraciones anteriores se muestran dos bases de datos participantes, con trfico de
usuario dirigido a las bases de datos a travs de un servidor de aplicaciones. Esta
configuracin se puede utilizar en varias aplicaciones, desde sitios Web hasta aplicaciones de
grupos de trabajo, y proporciona las siguientes ventajas:
Rendimiento de lectura mejorado, porque las lecturas se reparten en dos servidores.
Alta disponibilidad si se requiere mantenimiento o en caso de error en un nodo.
En ambas ilustraciones, la actividad de lectura tiene equilibrio de carga entre las bases de
datos participantes, pero las actualizaciones se controlan de forma diferente:
A la izquierda, las actualizaciones se particionan entre los dos servidores; si la base de
datos contiene un catlogo de productos, puede, por ejemplo, hacer que una aplicacin
personalizada dirija las actualizaciones al nodo "A" para los nombres de productos que
empiecen con la letra A hasta la M y dirija las actualizaciones al nodo "B" para los
nombres de productos que empiecen con la letra N hasta la Z. Ms tarde, las
actualizaciones se replican en el otro nodo.
A la derecha, todas las actualizaciones se dirigen al nodo "B". Desde ah, las
actualizaciones se replican en el nodo "A". Si "B" est desconectado (por ejemplo, por
motivos de mantenimiento), el servidor de aplicaciones puede dirigir toda la actividad a
"A". Cuando "B" vuelve a conectarse, las actualizaciones pueden pasar a l, y el
servidor de aplicaciones puede mover todas las actualizaciones de vuelta al nodo "B" o
seguir dirigindolas al nodo "A".
La rplica de punto a punto puede admitir este mtodo, pero el ejemplo de actualizacin
centralizada de la derecha tambin se utiliza frecuentemente con la rplica transaccional
estndar.
- 185 -
En la ilustracin anterior se muestran tres bases de datos participantes que proporcionan el
sistema de una organizacin de soporte de software internacional, con oficinas en Los ngeles,
Londres y Taipei. Los ingenieros de soporte de cada oficina reciben llamadas de clientes e
incluyen y actualizan la informacin de las llamadas de los clientes. Las zonas horarias de las
tres oficinas tienen una diferencia de ocho horas, por lo que no se superponen en la jornada
laboral: cuando la oficina de Taipei cierra, se abre la oficina de Londres. Si hay una llamada en
curso cuando se cierra una oficina, la llamada se transfiere a un representante de la siguiente
oficina abierta.
Cada ubicacin tiene una base de datos y un servidor de aplicaciones, que los ingenieros de
soporte utilizan para incluir y actualizar la informacin de las llamadas de los clientes. La
topologa se particiona por tiempo, por lo que las actualizaciones slo se producen en el nodo
que est abierto; a continuacin, las actualizaciones pasan al resto de bases de datos
participantes. Esta topologa proporciona las siguientes ventajas:
Independencia sin aislamiento: cada oficina puede insertar, actualizar o eliminar datos
de forma independiente, pero tambin puede compartir los datos porque se replican en
el resto de bases de datos participantes.
Alta disponibilidad en caso de error o para permitir el mantenimiento en cualquiera de
las bases de datos participantes.
- 186 -
En la ilustracin anterior se muestra la adicin de un nodo a la topologa de tres nodos. En este
escenario se podra agregar un nodo:
Porque se abre otra oficina.
Para proporcionar alta disponibilidad al mantenimiento de soporte o aumentar la
tolerancia a errores en caso de un error grave.
Observe que en las dos topologas de tres y cuatro nodos, todas las bases de datos
publican y se suscriben en las otras bases de datos, lo que proporciona la mxima
disponibilidad en caso de necesidades de mantenimiento o error en uno o varios
nodos. Al agregar nodos, se deben equilibrar las necesidades de disponibilidad y
escalabilidad respecto al rendimiento y la complejidad de implementacin y
administracin.
- 187 -
El usuario no puede ver la infraestructura intermedia de enrutamiento de Internet y
parece como si los datos se enviaran a travs de un vnculo privado dedicado. Desde el
punto de vista del usuario, una VPN es una conexin de punto a punto entre el equipo
del usuario y un servidor corporativo.
Despus de configurar el cliente remoto para la conexin mediante VPN, y que el
cliente disponga de acceso a Internet y se conecte a la LAN corporativa, podr
configurar la rplica como si el cliente remoto estuviera conectado directamente a la
LAN. Por razones de seguridad, es posible disponer de recursos de red diferentes para
los usuarios conectados a travs de VPN y los conectados directamente a la LAN.
Sincronizacin Web de la rplica de mezcla: La sincronizacin Web para la rplica
de mezcla permite replicar datos utilizando el protocolo HTTPS y es til en los
siguientes escenarios:
o Sincronizar datos de usuarios mviles a travs de Internet
o Sincronizar datos entre bases de datos de Microsoft SQL Server a travs de un
firewall corporativo
Por ejemplo, un representante de ventas puede utilizar la sincronizacin Web durante
sus viajes. El Agente de mezcla de cada equipo porttil tiene una direccin URL de
Internet que apunta a los componentes de rplica instalados en un equipo en el que se
ejecutan los Servicios de Microsoft Internet Information Server (IIS). Estos
componentes sincronizan el suscriptor con el publicador. Ahora cada representante se
puede conectar a travs de cualquier conexin de Internet disponible sin utilizar una
conexin remota de acceso telefnico y puede cargar y descargar los datos que desee.
La conexin de Internet utiliza SSL (Capa de sockets seguros), por lo que no es
necesaria una red privada virtual (VPN).
Todos los tipos de rplica de Microsoft SQL Server pueden replicar datos mediante una VPN,
pero debe considerar la sincronizacin Web si utilizan la rplica de mezcla.
- 188 -
Mdulo 7
Mantenimiento de
Alta Disponibilidad
- 189 -
1- Introduccin a Alta Disponibilidad
Factores que afectan la Disponibilidad:
La disponibilidad se ocupa de asegurar que las aplicaciones y servicios de una organizacin
sigan funcionando ante una falla. Para implementar soluciones de alta disponibilidad usted
debe analizar y comprender los diferentes tipos de fallas a los que est expuesto su sistema y
planificar una estrategia de disponibilidad adecuada.
Fallas de Software: Una aplicacin consistir de muchos componentes de software, la
mayora de los cuales sern requeridos para el funcionamiento de la aplicacin.
Adems de las aplicaciones de cliente y servidor, puede haber aplicaciones
intermedias y de servidor Web. Los sistemas operativos en todos los nodos son
cruciales para que una aplicacin funcione debidamente, inclusive servicios y
aplicaciones no relacionadas pueden causar fallas si utilizan demasiados recursos.
Fallas de Componentes de Hardware: Considere los efectos de la falla de cada
componente de hardware en su sistema. Discos duros, procesadores, memoria y
tarjetas de red pueden causar problemas particulares, pero otros componentes como
ventiladores y fuentes de energa pueden ser igualmente esenciales para el correcto
funcionamiento de su sistema.
Falla de Red: Una falla de red puede deberse a un cable defectuoso. Una red basada
en TCP/IP utiliza Servidores Domain Naming System (DNS) y Dynamic Host
Configuration Protocol (DHCP), as como routers y otros elementos. Todos ellos
pueden fallar o tener problemas de configuracin.
Falla de energa o desastre natural: Resulta relativamente sencillo proteger por
perodos cortos contra estas fallas, pero hay eventos naturales que pueden afectar un
sitio entero por largos perodos.
- 190 -
instancia de clster de conmutacin por error si hace referencia al nombre de la misma. La
aplicacin no necesita saber qu nodo aloja a la instancia de clster de conmutacin por error.
Una instancia de clster de conmutacin por error de SQL Server aparece en la red como un
equipo individual, pero ofrece funciones para la conmutacin por error entre nodos si el nodo
actual deja de estar disponible. Por ejemplo, durante un error de hardware no relacionado con
el disco, un error del sistema operativo o una actualizacin planeada del mismo, puede
configurar una instancia de SQL Server en un nodo de un clster de conmutacin por error
para que conmute a cualquier otro nodo del grupo de discos.
Un clster de conmutacin por error no implica proteccin ante errores de disco. Puede utilizar
el clster de conmutacin por error para reducir el tiempo de inactividad del sistema y
garantizar una mayor disponibilidad de la aplicacin. El clster de conmutacin por error es
compatible con SQL Server 2005 Enterprise Edition, Developer Edition y, con algunas
restricciones, en la versin Standard Edition.
Trasvase de registros
Al igual que la creacin de reflejo de la base de datos, el trasvase de registros se aplica en la
base de datos. El trasvase de registros puede utilizarse para mantener una o ms bases de
datos en espera semiactiva, denominadas bases de datos secundarias, para una base de
- 191 -
datos de produccin correspondiente conocida como base de datos primaria. Cada una de las
bases de datos secundarias se crea al restaurar una copia de seguridad (sin recuperacin) de
la base de datos primaria, o en espera. La restauracin con base de datos en espera permite
que la base de datos secundaria resultante se utilice para la generacin limitada de informes.
La configuracin del trasvase de registros incluye un nico servidor primario que contiene la
base de datos primaria, uno o varios servidores secundarios, cada uno con una base de datos
secundaria, y un servidor de supervisin. Cada servidor secundario actualiza su base de datos
secundaria a intervalos regulares a partir de las copias de seguridad del registro de la base de
datos primaria. El trasvase de registros implica un retraso modificable por el usuario entre el
momento en que el servidor primario crea una copia de seguridad del registro de la base de
datos primaria y el momento en que el servidor secundario restaura la copia de seguridad del
registro. Antes de que se pueda producir una conmutacin por error, debe actualizarse
totalmente una base de datos secundaria al aplicar manualmente las copias de seguridad del
registro no restauradas.
El trasvase de registros ofrece la flexibilidad de admitir varias bases de datos en espera. Si
necesita varias bases de datos en espera, utilice el trasvase de registros por s solo o como
complemento a la creacin de reflejo de la base de datos. Al combinar estas soluciones, la
base de datos primaria actual de la configuracin de la creacin de reflejo de la base de datos
es tambin la base de datos primaria actual de la configuracin del trasvase de registros.
El trasvase de registros es compatible con SQL Server 2005 Enterprise Edition, Standard
Edition y Workgroup Edition.
Replicacin
La rplica utiliza un modelo de publicacin y suscripcin, lo que permite que un servidor
primario, conocido como publicador, distribuya datos a uno o varios servidores secundarios o
suscriptores. Gracias a la rplica se puede obtener una disponibilidad y escalabilidad en tiempo
real entre tales servidores. Esta solucin admite el filtrado para obtener un subconjunto de
datos de los Suscriptores, as como las actualizaciones con particiones. Los suscriptores estn
conectados y disponibles para la generacin de informes y otras funciones, sin recuperacin de
consultas. SQL Server ofrece tres tipos de rplica: rplica de instantneas, rplica
transaccional y rplica de mezcla. La rplica transaccional proporciona la latencia ms baja y
es la que ms se suele utilizar por su alta disponibilidad.
La rplica es compatible con todas las ediciones de SQL Server 2005. La publicacin de
rplicas no est disponible en SQL Server 2005 Express Edition ni en SQL Server Compact
Edition.
- 192 -
La creacin de reflejo de la base de datos ofrece las siguientes ventajas:
Se aplica en la base de datos
Utiliza una sola copia duplicada de la base de datos. En caso de necesitarse ms
copias, puede utilizar la solucin de trasvase de registros en la base de datos adems
de la creacin de reflejo de la base de datos.
Utiliza servidores estndar
Proporciona una capacidad de generacin de informes limitada en el servidor reflejado
mediante instantneas de base de datos
Cuando funciona de forma sincrnica, garantiza una prdida de datos cero gracias a la
confirmacin retardada de la base de datos principal
Admite varias bases de datos secundarias en varias instancias de servidor para una
base de datos principal nica.
Permite un retraso especificado por el usuario entre el momento en que el servidor
primario realiza una copia de seguridad del registro de la base de datos primaria y el
momento en que los servidores secundarios deben restaurar la copia de seguridad del
registro. Un retraso ms largo puede ser til, por ejemplo, si los datos se cambian en la
base de datos principal de manera accidental. Si se detecta el cambio accidental
rpidamente, un retraso puede permitirle recuperar datos an sin modificar de una
base de datos secundaria antes de que el cambio se refleje en ella.
Si se compara con el tiempo ms breve necesario para que el trasvase de registros
refleje un cambio en una base de datos secundaria, la creacin de reflejo de la base de
datos asincrnica tiene la ventaja potencial de un tiempo menor entre el momento en
que se realiza un cambio determinado en la base de datos primaria y el momento en
que dicho cambio surte efecto en la base de datos reflejada. Una ventaja de la creacin
de reflejo de la base de datos respecto al trasvase de registros es que el modo de alta
seguridad es una configuracin "sin prdida de datos" compatible como estrategia de
conmutacin por error simple.
- 193 -
2- Implementacin de Server Clustering
Que es un Cluster?
Un clster de conmutacin proporciona alta disponibilidad a una instancia completa de SQL
Server. Un clster de conmutacin por error es una combinacin de uno o varios nodos, o
servidores, con dos o ms discos compartidos. Aplicaciones como SQL Server y Notification
Services se instalan cada una en un grupo de clsteres de Servicios de Cluster Server de
Microsoft (MSCS), conocido como grupo de recursos. En todo momento cada grupo de
recursos es propiedad de un nico nodo del clster. El servicio de aplicacin tiene un nombre
virtual que es independiente de los nombres del nodo y al que nos referimos como nombre de
instancia de clster de conmutacin por error. Una aplicacin puede conectarse con la
instancia de clster de conmutacin por error si hace referencia al nombre de la misma. La
aplicacin no necesita saber qu nodo aloja a la instancia de clster de conmutacin por error.
Una instancia de clster de conmutacin por error de SQL Server aparece en la red como un
equipo individual, pero ofrece funciones para la conmutacin por error entre nodos, si el nodo
actual deja de estar disponible. Por ejemplo, durante un error de hardware no relacionado con
el disco, un error del sistema operativo o una actualizacin planeada del mismo, puede
configurar una instancia de SQL Server en un nodo de un clster de conmutacin por error
para que conmute a cualquier otro nodo del grupo de discos.
Un clster de conmutacin por error no implica proteccin ante errores de disco. Puede utilizar
el clster de conmutacin por error para reducir el tiempo de inactividad del sistema y
garantizar una mayor disponibilidad de la aplicacin. El clster de conmutacin por error es
compatible con SQL Server 2005 Enterprise Edition, Developer Edition y, con algunas
restricciones, en la versin Standard Edition.
- 194 -
Lista de comprobacin previa a la instalacin
Antes de comenzar el proceso de instalacin del clster de conmutacin por error, revise los
siguientes elementos:
- 195 -
Comprobar la Configuracin del Sistema Operativo
Asegrese de que el sistema operativo est correctamente instalado y diseado para
admitir los clsteres de conmutacin por error.
Habilite el Proveedor de servicios de cifrado de Windows (CSP) en Windows Server
2003. Si el servicio CSP se detiene o deshabilita en cualquier nodo del clster, se
produce un error en la instalacin de SQL Server con un mensaje de error de requisito
del logotipo de Windows.
Habilite el servicio Programador de tareas en todos los sistemas operativos para la
instalacin remota y de clster. Si el Programador de tareas est deshabilitado, la
instalacin de SQL Server producir el error 1058.
SQL Server 2005 admite puntos de montaje; las instalaciones en clster de SQL Server
estn limitadas al nmero de letras de unidad disponibles. Si utiliza slo una letra de
unidad para el sistema operativo, se limita a un mximo de 25 instancias de SQL
Server por cluster de conmutacin por error.
Un volumen montado, o punto de montaje, le permite utilizar una sola letra de unidad
para hacer referencia a muchos discos o volmenes. Si tiene una letra de unidad D:
para un disco o volumen normal, puede conectar o "montar" discos o volmenes
adicionales como directorios en la letra de unidad D: sin que dichos discos o
volmenes adicionales exijan letras de unidad propias.
La DLL de recursos para el servicio SQL Server exporta dos funciones utilizadas por
administrador de clsteres de MSC para comprobar disponibilidad del recurso SQL
Server. Una comprobacin simple, LooksAlive, consulta el estado del Administrador
de control de servicios de Windows NT. Una comprobacin ms rigurosa, IsAlive,
conecta a SQL Server como un sondeo del usuario para realizar una consulta simple.
De forma predeterminada, LooksAlive se activa cada 5 segundos e IsAlive se activa
cada 60 segundos. Los intervalos de sondeo de IsAlive y LooksAlive se pueden
cambiar en el Administrador de clsteres de MSC en la ficha Avanzadas para el
recurso SQL Server o utilizando el comando del smbolo del sistema cluster.exe.
MSCS debe poder comprobar que la instancia agrupada de conmutacin por error est
en ejecucin mediante la comprobacin IsAlive. Esto requiere conectar al servidor
mediante una conexin de confianza. De forma predeterminada, la cuenta que ejecuta
el servicio de clster est configurada como administrador en todos los nodos del
clster y el grupo BUILTIN\Administradores tiene permiso para iniciar sesin en SQL
Server. Esta configuracin slo cambia si se cambian los permisos en los nodos del
clster. Si quita la cuenta BUILTIN\Administradores, asegrese de que la cuenta con
la que se ejecutan los Servicios de Cluster Server puede iniciar una sesin en SQL
Server para la comprobacin de IsAlive. En caso contrario, se producir un error en la
comprobacin de IsAlive. Como mnimo, la cuenta de los Servicios de Cluster Server
(MSCS) debe tener privilegios public en SQL Server para poder ejecutar
@@servername de modo regular.
- 196 -
Al instalar MSCS, es muy importante utilizar cuentas de servicio independientes para
iniciar una sesin en MSCS y SQL Server. De lo contrario, la contrasea del servicio de
clster no se puede cambiar con el comando de clster.
Cuando se utiliza MSCS, un nodo debe tener el control del bus SCSI compartido antes
de conectar el otro nodo. Si no es as, la conmutacin por error de aplicaciones puede
entrar en un estado pendiente de conexin e impedir la conmutacin por error al otro
nodo o producir un error total. Si el sistema de clster tiene un proceso de instalacin
propio, debe utilizarse.
Tras instalar el sistema operativo y configurar el clster, debe configurar MSDTC para que
funcione en un clster mediante el Administrador de clsteres. Si no logra crear el clster de
MSDTC, no se bloquear el programa de instalacin de SQL Server, pero la funcionalidad de la
aplicacin SQL Server puede verse afectada si MSDTC no se configura correctamente.
Todos los procesos que se ejecuten en cualquier nodo del clster pueden utilizar MSDTC.
Estos procesos simplemente llaman al proxy de MSDTC y ste reenva automticamente las
llamadas de MSDTC al administrador de transacciones de MSDTC, que controla todo el clster.
Si se produce un error en el nodo que ejecuta el administrador de transacciones de MSDTC,
ste se reinicia automticamente en otro nodo del clster. El administrador de transacciones
recin reiniciado lee el archivo de registro de MSDTC en el disco del clster compartido para
determinar el resultado de las transacciones pendientes y recin completadas.
- 197 -
Para instalaciones de SQL Server 2005 en configuraciones simultneas con versiones
anteriores de SQL Server, los servicios de SQL Server 2005 deben usar cuentas que
slo se encuentran en el grupo de dominio global. Adems, las cuentas utilizadas por
los servicios de SQL Server 2005 no deben aparecer en el grupo local de
administradores. Si no se sigue sta directriz, se producirn comportamientos
inesperados con respecto a la seguridad.
Si instala SQL Server 2005 en un grupo de clster de Windows 2000 con varias
unidades de disco y decide colocar los datos en una de las unidades, el recurso de
SQL Server se configura para que slo dependa de dicha unidad. Para colocar datos o
registros en recursos de disco adicionales, primero debe agregar una dependencia al
recurso de SQL Server para el disco adicional.
Para utilizar el cifrado, instale el certificado del servidor con el nombre DNS completo
del clster MSCS en todos los nodos del clster de conmutacin por error de SQL
Server. Por ejemplo, si tiene un clster con dos nodos cuyos nombres son
"Test1.DomainName.com" y "Test2.DomainName.com" y una instancia de clster de
conmutacin por error de SQL Server denominada "Virtsql", debe obtener un certificado
para "Virtsql.DomainName.com" e instalarlo en los nodos test1 y test2. A continuacin,
puede activar la casilla de verificacin Forzar cifrado de protocolo en el Administrador
de configuracin de SQL Server para configurar el clster de conmutacin por error
para el cifrado.
Importante: No active la casilla de verificacin Forzar cifrado de protocolo hasta que
haya instalado certificados en todos los nodos participantes de la instancia de clster
de conmutacin por error.
Compruebe que no tiene instalado software antivirus en el clster MSCS.
SQL Server 2005 no se admite en Terminal Server de Windows Server 2003.
Compruebe que el disco en el que se instalar SQL Server no est comprimido. Si
intenta instalar SQL Server en una unidad comprimida, se producir un error en la
instalacin de SQL Server.
Compruebe tambin que los nombres del grupo de clsteres existentes no contienen
caracteres no compatibles. Cuando asigne nombre a un grupo de clsteres de la
instalacin de clster de conmutacin por error, no debe utilizar ninguno de los
caracteres siguientes:
o Operador menor que (<)
o Operador mayor que (>)
o Comillas dobles (")
o Comillas simples (')
o Smbolo de "y" comercial (&)
Aunque SQL Server 2005 admite canalizaciones con nombre y Sockets TCP/IP sobre TCP/IP
en un clster, Microsoft recomienda utilizar Sockets TCP/IP en una configuracin de clster.
Otras Consideraciones
- 198 -
Para crear un clster de conmutacin por error, debe ser un administrador local con
permisos para iniciar una sesin como servicio y para actuar como parte del sistema
operativo en todos los nodos de la instancia de clster de conmutacin por error.
Antes de instalar o actualizar un clster de conmutacin por error de SQL Server,
deshabilite todas las aplicaciones y servicios que podran utilizar componentes de SQL
Server durante la instalacin, pero mantenga los recursos de disco en lnea.
Cree grupos de dominios para los servicios en clster que se instalarn como parte de
su clster de conmutacin por error de SQL Server 2005. El servicio SQL Server, el
servicio del agente SQL Server, el servicio Analysis Services y el servicio Bsqueda de
texto deben ejecutarse como cuentas de dominio que son miembros del grupo de
dominios global o local. Si es necesario, pregunte al administrador del dominio los
nombres de los grupos de dominio existentes, o bien pdale que cree los grupos de
dominio para su clster de conmutacin por error.
Los clsteres de conmutacin por error de SQL Server no se admiten en el caso en
que los nodos del clster son controladores de dominio.
Configure el Servicio de nombres de dominio (DNS) o el Servicio de nombres Internet
de Windows (WINS). En el entorno donde se va a instalar el clster de conmutacin por
error de SQL Server debe estar ejecutndose un servidor DNS o WINS. El programa
de instalacin de SQL Server requiere el registro DDNS (servicio de nombres de
dominio dinmicos) de la referencia virtual de la interfaz IP de SQL Server. Si no se
puede llevar a cabo el registro dinmico, se produce un error en el programa de
instalacin y sta se revierte. Si no est disponible el registro dinmico, debe haber
registrado previamente el servidor en DNS.
Revise el contenido de Consideraciones de seguridad para una instalacin de SQL
Server.
Revise el contenido de Comprobar los parmetros del Comprobador de configuracin
del sistema.
Compruebe si las herramientas, caractersticas y componentes de SQL Server que
desea usar son compatibles con el clster de conmutacin por error.
Considere cmo supervisar y mantendr el clster de conmutacin por error para
lograr los objetivos de alta disponibilidad.
Para reducir el tiempo necesario para instalar un clster de conmutacin por error de
SQL Server 2005, puede preinstalar Microsoft .NET Framework versin 2.0 en todos
los nodos de clster de conmutacin por error antes de ejecutar el programa de
instalacin de SQL Server.
- 199 -
Una instancia de SQL Server 2005 que incluya SQL Server, el Agente SQL Server y el
servicio de bsqueda de texto (FTS).
El nombre de la instancia de clster de conmutacin por error debe ser nico en el dominio.
SQL Server no escucha en la direccin IP de los servidores locales. En realidad, SQL Server
slo escucha en la direccin IP virtual creada durante la instalacin de la instancia de clster de
conmutacin por error de SQL Server.
SQL Server depende de claves del Registro y nombres de servicio diferenciados dentro del
clster de conmutacin por error para garantizar que SQL Server siga funcionando tras una
conmutacin por error. Por tanto, el nombre que proporcione a la instancia de SQL Server,
incluida la instancia predeterminada, debe ser nico en todos los nodos del clster de
conmutacin por error. El uso de nombres de instancia nicos garantiza que las instancias de
SQL Server configuradas para realizar la conmutacin por error en un solo servidor tengan
claves del Registro y nombres de servicio diferenciados.
Tenga en cuenta que la limitacin de discos detectada en versiones anteriores de SQL Server
no afecta a SQL Server 2005. Gracias a la compatibilidad con las unidades montadas en SQL
Server 2005, cada instancia de SQL Server slo necesita un disco de clster para los archivos
de datos.
- 200 -
3- Implementando Reflejo de Base de Datos
Nota: No es posible reflejar las bases de datos master, msdb, tempdb o model.
La creacin de reflejo de la base de datos mantiene dos copias de una sola base de datos que
debe residir en diferentes instancias del Motor de base de datos de SQL Server (instancias de
servidor). Generalmente, estas instancias de servidor residen en equipos de diferentes
ubicaciones. Una instancia de servidor da servicio a la base de datos para los clientes (el
servidor principal), mientras la otra acta como un servidor en espera semiactiva o activa (el
servidor reflejado), en funcin de la configuracin y el estado de la sesin de creacin de
reflejo. Cuando una sesin de creacin de reflejo de la base de datos est sincronizada, la
creacin de reflejo de la base de datos proporciona un servidor en espera activa que admite la
conmutacin por error rpida sin que se produzca ninguna prdida de datos derivada de las
transacciones confirmadas. Cuando la sesin no est sincronizada, el servidor reflejado suele
estar disponible como servidor en espera semiactiva (con posible prdida de datos).
- 201 -
describe como poseedor de su funcin actual. El asociado que posee la funcin principal se
denomina servidor principal y su copia de la base de datos es la base de datos principal actual.
El asociado que posee la funcin de reflejo se denomina servidor reflejado y su copia de la
base de datos es la base de datos reflejada actual. Cuando se implementa la creacin de
reflejo de la base de datos en un entorno de produccin, la base de datos principal es la base
de datos de produccin.
Modos de funcionamiento
Una sesin de creacin de reflejo de la base de datos se ejecuta en modo sincrnico o
asincrnico. Con el funcionamiento asincrnico, las transacciones se confirman sin esperar a
que el servidor reflejado escriba el registro en el disco, lo que maximiza el rendimiento. Con el
funcionamiento sincrnico, una transaccin confirmada se confirma en ambos asociados, pero
a costa de aumentar la latencia de las transacciones.
En el modo de alto rendimiento, en cuanto el servidor principal enva una entrada de registro al
servidor reflejado, el servidor principal enva una confirmacin al cliente, sin esperar una
confirmacin del servidor reflejado. Esto significa que las transacciones se confirman sin
esperar a que el servidor reflejado escriba el registro en el disco. Este funcionamiento
asincrnico permite que el servidor principal se ejecute con la mnima latencia de
transacciones, pero a riesgo de una prdida potencial de datos.
Todas las sesiones de creacin de reflejo de la base de datos slo admiten un servidor
principal y un servidor reflejado.
- 202 -
El modo de alta seguridad con conmutacin automtica por error requiere una tercera instancia
de servidor denominada testigo. A diferencia de los dos asociados, el testigo no sirve a la base
de datos. El testigo admite la conmutacin automtica por error al comprobar que el servidor
principal se encuentre activo y en funcionamiento. El servidor reflejado inicia la conmutacin
automtica por error slo si ste y el testigo permanecen mutuamente conectados despus de
haberse desconectado del servidor principal.
- 203 -
las transacciones est a cargo de la propiedad SAFETY de la instruccin ALTER DATABASE.
En la base de datos que se va a reflejar, la opcin SAFETY se establece en FULL o en OFF.
Si la opcin SAFETY se establece en FULL, la operacin de creacin de reflejo de la base de
datos es sincrnica, tras la fase inicial de sincronizacin. Si un testigo se establece en el modo
de alta seguridad, la sesin admite la conmutacin automtica por error.
Si la opcin SAFETY se establece en OFF, la operacin de creacin de reflejo de la base de
datos es asincrnica. La sesin se ejecuta en modo de alto rendimiento y la opcin WITNESS
tambin debe establecerse en OFF.
Nota: Las conexiones de cliente al servidor principal no usan el extremo de creacin de reflejo
de la base de datos.
Roles de servidor
Los argumentos que aparecen a continuacin son especficos de la opcin
DATABASE_MIRRORING.
Argumentos:
WITNESS: Permite al extremo realizar la funcin de un testigo en el proceso de
creacin del reflejo.
- 204 -
Nota: Para SQL Server 2005 Express Edition, WITNESS es la nica opcin disponible.
PARTNER: Permite al extremo realizar la funcin de un asociado en el proceso de
creacin del reflejo.
ALL: Permite al extremo realizar la funcin de un testigo y un asociado en el proceso
de creacin del reflejo.
Importante: Si ya existe un extremo de reflejo para la instancia del servidor, utilice ese extremo
para todas las otras sesiones que establezca en la instancia del servidor.
Para usar Transact-SQL para crear un extremo que se utilice con la autenticacin de
Windows, utilice la instruccin CREATE ENDPOINT. La instruccin toma la siguiente
forma general:
Importante: Cada instancia del servidor requiere slo un puerto de escucha nico.
AUTHENTICATION: Para la autenticacin de Windows es opcional, a menos que
desee que el extremo utilice slo NTLM o Kerberos para autenticar conexiones.
- 205 -
<Metodo_Autorizacin>: Especifica el mtodo que se utiliza para autenticar
conexiones como uno de los siguientes: NTLM, KERBEROS o NEGOTIATE. El valor
predeterminado, NEGOTIATE, hace que el extremo utilice el protocolo de negociacin
de Windows para elegir NTLM o Kerberos. La negociacin habilita conexiones con o
sin autenticacin, dependiendo del nivel de autenticacin del extremo opuesto.
ENCRYPTION se establece en REQUIRED de forma predeterminada. Esto significa
que todas las conexiones con este punto final deben usar cifrado. No obstante, puede
deshabilitar el cifrado o hacer que sea opcional en un extremo. Las alternativas son las
siguientes:
Valor Definicin
DISABLED Especifica que los datos enviados en una conexin no estn cifrados.
SUPPORTED Especifica que los datos estn cifrados slo si el extremo opuesto especifica
SUPPORTED o REQUIRED.
REQUIRED Especifica que los datos enviados en una conexin deben estar cifrados.
- 206 -
Sesiones de Creacin de Reflejo de la Base de Datos
La creacin de reflejo de la base de datos se produce en el contexto de una sesin de creacin
de reflejo de la base de datos.
Cuando la base de datos reflejada est preparada y las instancias del servidor estn
configuradas, el propietario de la base de datos podr iniciar la creacin de reflejo de la base
de datos. En cuanto se inicia la creacin de reflejo, cada asociado comienza a mantener
informacin de estado en su base de datos sobre esa base de datos y sobre el otro asociado y
el testigo, si existen. Esta informacin de estado permite que las instancias de servidor
mantengan una relacin conocida como sesin de creacin de reflejo de la base de datos.
Durante una sesin de creacin de reflejo de una base de datos, las instancias de servidor se
supervisan entre s. La informacin de estado se mantiene hasta que el propietario de la base
de datos detiene la sesin.
Al inicio de una sesin de creacin de reflejo de la base de datos, el servidor reflejado identifica
el nmero de secuencia de registro (LSN) del ltimo registro de transacciones aplicado en la
base de datos reflejada y solicita al servidor principal el registro de transacciones de todas las
transacciones posteriores, si las hay. En respuesta, el servidor principal enva al servidor
reflejado las entradas del registro activo acumuladas desde el ltimo registro restaurado en la
base de datos reflejada o enviado al servidor reflejado. El registro sin enviar que se ha
acumulado en el disco lgico de la base de datos principal se conoce como cola de envo.
- 207 -
en la cola rehecha es un indicador del tiempo necesario para conmutar por error a la base de
datos reflejada.
El servidor principal contina poniendo la base de datos principal a disposicin de los clientes y
de las conexiones de cliente. Tras el inicio de la creacin de reflejo, cada vez que un cliente
actualiza la base de datos principal, al escribir la transaccin en el registro de la base de datos
principal, el servidor principal tambin enva esa entrada del registro al servidor reflejado. Ah,
el servidor reflejado escribe inmediatamente la entrada del registro en el disco como la ltima
entrada de la cola rehecha.
En segundo plano, el servidor reflejado rehace el registro en la base de datos reflejada, entrada
por entrada, empezando por la entrada del registro ms antigua, tan pronto como sea posible.
Al rehacer el registro, se aplican secuencialmente las entradas del registro en cola a la base de
datos reflejada, comenzando por la entrada ms antigua. Cada entrada del registro slo se
rehace una vez. A medida que el servidor reflejado rehace el registro, la base de datos
reflejada se pone al da de forma continua. Si el servidor principal trunca o reduce el registro de
la base de datos principal, el servidor reflejado tambin reduce el registro en el mismo punto de
la secuencia.
Durante una sesin, si el servidor principal no puede enviar todas las entradas del registro
inmediatamente, las entradas del registro sin enviar se acumulan en la cola de envo. En el
modo de alta seguridad sincrnico, despus de la sincronizacin, las nuevas entradas del
registro sin enviar se acumulan slo cuando la creacin del reflejo se pone en pausa o se
suspende. Por el contrario, en el modo de alto rendimiento asincrnico, el registro sin enviar se
acumula siempre que el servidor reflejado se retrasa durante la creacin del reflejo, adems de
cuando el reflejo se pone en pausa o se suspende. La cantidad del registro sin enviar es un
indicador de la posible prdida de datos en el caso de que el servidor principal no funcione.
Nota: Si se producen errores al rehacer, el servidor reflejado pausa la sesin poniendo la base
de datos en el estado SUSPENDED. Para poder reanudar la sesin, el propietario de la base
de datos debe resolver la causa del error.
Sesiones Simultneas
Una determinada instancia de servidor puede participar en varias sesiones simultneas de
creacin de reflejo de base de datos (una por cada base de datos reflejada) con la misma
instancia o con instancias de servidor distintas. Con frecuencia, una instancia de servidor sirve
exclusivamente como asociado o como testigo en todas las sesiones de creacin de reflejo de
la base de datos. Sin embargo, puesto que cada sesin depende de las dems, una instancia
de servidor puede actuar como asociado en algunas sesiones y como testigo en otras. Por
ejemplo, considere las siguientes cuatro sesiones entre tres instancias de servidor
(SSInstance_1, SSInstance_2 y SSInstance_3). Cada estancia de servidor sirve como
asociado en algunas sesiones y como testigo en otras:
Instancia de Sesin para la base Sesin para la base Sesin para la base Sesin para la base
servidor de datos A de datos B de datos C de datos D
- 208 -
SSInstance_1 Testigo Asociado Asociado Asociado
Cada una de las bases de datos es independiente de las dems. Por ejemplo, una instancia de
servidor puede ser inicialmente el servidor reflejado de dos bases de datos. Si en una de esas
bases de datos se produce una conmutacin por error, la instancia de servidor se convierte en
el servidor principal de la base de datos en la que se ha realizado la conmutacin por error y, a
la vez, sigue siendo el servidor reflejado de la otra base de datos.
- 209 -
Conmutacin de Funciones durante una Sesin de Creacin de Reflejo de la Base de
Datos
En el contexto de una sesin de creacin de reflejo de la base de datos, las funciones principal
y reflejo suelen ser intercambiables en un proceso conocido como conmutacin de funciones.
En la conmutacin de funciones, el servidor reflejado acta como el asociado de conmutacin
por error para el servidor principal al asumir la funcin principal, y al recuperar su copia de la
base de datos y ponerla en conexin como la nueva base de datos principal. El servidor
principal anterior, cuando est disponible, asumir la funcin reflejo y su base de datos se
convertir en la nueva base de datos reflejada. Potencialmente, las funciones pueden
conmutarse como respuesta a varios errores o con fines administrativos.
Hay tres tipos de conmutacin de funciones: conmutacin por error automtica, conmutacin
por error manual y servicio forzado (con posible prdida de datos). La compatibilidad con
cada forma depende del modo operativo de la sesin.
Para realizar manualmente una conmutacin por error de la creacin de reflejo de la base de
datos (SQL Management Studio):
Conctese a la instancia del servidor principal y, en el panel Explorador de objetos,
haga clic en el nombre del servidor para expandir el rbol de servidores.
Expanda Bases de datos y seleccione la base de datos de la que se va a realizar la
conmutacin por error.
Haga clic con el botn secundario en la base de datos, seleccione Tareas y, a
continuacin, haga clic en Reflejado.
Se abre la pgina Creacin de reflejo del cuadro de dilogo Propiedades de la base
de datos.
Haga clic en Conmutacin por error (Failover).
- 210 -
Para realizar una conmutacin por error manual en una sesin de creacin de reflejo de base
de datos (Transac-SQL):
Conctese al servidor principal.
Establezca el contexto de la base de datos en la base de datos master:
Emita la siguiente instruccin en el servidor principal:
Esto inicia una transicin inmediata del servidor reflejado hacia la funcin principal.
En el principal antiguo, los clientes se desconectan de la base de datos y las transacciones en
curso se revierten.
Aparece un cuadro de confirmacin. Si confirma que desea realizar una conmutacin por error
en la base de datos reflejada, la operacin contina y las funciones de servidor principal y
- 211 -
reflejado se intercambian. La base de datos reflejada se convierte en la base de datos principal,
y la base de datos principal se convierte en la reflejada.
En la siguiente tabla se resumen las formas de conmutacin por error admitidas en cada uno
de los modos operativos.
Servicio forzado S S No
Definicin
El trasvase de registros permite enviar automticamente copias de seguridad del registro de
transacciones desde una base de datos primaria de una instancia del servidor primario a una o
varias bases de datos secundarias en instancias independientes del servidor secundario. Las
copias de seguridad del registro de transacciones se aplican a cada una de las bases de datos
secundarias de forma individual. En una tercera instancia de servidor opcional, denominado
servidor de supervisin, se registra el historial y el estado de las operaciones de copia de
seguridad y restauracin y, opcionalmente, se activan alertas si estas operaciones no se
producen segn lo programado.
- 212 -
Operaciones del Trasvase de Registros
El trasvase de registros consta de tres operaciones:
Realizar una copia de seguridad del registro de transacciones en la instancia del
servidor primario.
Copiar el archivo de registro de transacciones en la instancia del servidor secundario.
Restaurar la copia de seguridad de registros en la instancia del servidor secundario.
El registro se puede trasvasar a varias instancias del servidor secundario En ese caso, las
operaciones 2 y 3 se repiten para cada instancia del servidor secundario.
En una configuracin de trasvase de registros no se realiza automticamente la conmutacin
por error del servidor primario al servidor secundario. Si la base de datos primaria deja de estar
disponible, cualquiera de las bases de datos secundarias se puede poner en conexin
manualmente.
Puede utilizar una base de datos secundaria para la generacin de informes.
Al configurar un servidor secundario para el trasvase de registros, puede elegir las siguientes
opciones en el cuadro de dilogo Configuracin de base de datos secundaria del trasvase de
registros de Management Studio para configurar la base de datos secundaria:
Crear automticamente una copia de seguridad en la base de datos primaria y
restaurarla en el servidor secundario y, si es necesario, crear una base de datos
secundaria.
Restaurar una copia de seguridad existente de la base de datos primaria en el servidor
secundario y, si es necesario, crear la base de datos secundaria.
Tambin puede inicializar la base de datos secundaria restaurando manualmente una copia de
seguridad de la base de datos.
- 213 -
datos secundaria se ha restaurado, utilice la herramienta de trasvase de registros de
Management Studio para finalizar la configuracin del trasvase de registros.
- 214 -
segn sus necesidades. Esta programacin debe aproximarse a la programacin de las
copias de seguridad.
En la ficha Restaurar, en Estado de la base de datos al restaurar copias de
seguridad, elija la opcin Modo sin recuperacin o Modo de espera.
Si elige la opcin Modo de espera, seleccione si desea desconectar a los usuarios de
la base de datos secundaria mientras se realiza la operacin de restauracin.
Si desea retrasar el proceso de restauracin en el servidor secundario, elija un tiempo
de retraso en Retrasar la restauracin de las copias de seguridad al menos.
Elija un umbral de alerta en Mostrar una alerta si no se produce una restauracin
tras.
Tenga presente la programacin de la restauracin que aparece en el cuadro
Programacin bajo Trabajo de restauracin. Si desea personalizar la programacin
de su instalacin, haga clic en Programar y, a continuacin, ajuste la programacin del
Agente SQL Server segn sus necesidades. Esta programacin debe aproximarse a la
programacin de las copias de seguridad.
Haga clic en Aceptar.
En Instancia del servidor de supervisin, active la casilla de verificacin Utilizar una
instancia del servidor de supervisin y, a continuacin, haga clic en Configuracin.
Importante: Para supervisar esta configuracin de trasvase de registros, debe agregar
ahora el servidor de supervisin. Para agregar un servidor de supervisin ms
adelante, deber quitar esta configuracin de trasvase de registros y reemplazarla por
una configuracin nueva que incluya un servidor de supervisin.
Haga clic en Conectar y conctese a la instancia de SQL Server que desea utilizar
como servidor de supervisin.
En Supervisar conexiones, elija el mtodo de conexin que utilizarn los trabajos de
copia de seguridad, copia y restauracin para conectarse al servidor de supervisin.
En Retencin de historial, elija el perodo de tiempo que desea retener un registro del
historial de trasvase de registros.
Haga clic en Aceptar.
En el cuadro de dilogo Propiedades de la base de datos, haga clic en Aceptar para
comenzar el proceso de configuracin.
- 215 -
Cmo habilitar el trasvase de registros (Transact-SQL):
Inicialice la base de datos secundaria restaurando una copia de seguridad completa de
la base de datos primaria en el servidor secundario.
En el servidor primario, ejecute sp_add_log_shipping_primary_database para
agregar una base de datos primaria. El procedimiento almacenado devuelve el Id. de
trabajo de la copia de seguridad y el Id. principal.
En el servidor primario, ejecute sp_add_jobschedule para agregar un esquema para
el trabajo de copia de seguridad.
En el servidor de supervisin, ejecute sp_add_log_shipping_alert_job para agregar
el trabajo de alerta.
En el servidor primario, habilite el trabajo de copia de seguridad.
En el servidor secundario, ejecute sp_add_log_shipping_secondary_primary
proporcionando los detalles del servidor y la base de datos primarios. Este
procedimiento almacenado devuelve el Id. secundario y los Id. de trabajo de copia y
restauracin.
En el servidor secundario, ejecute sp_add_jobschedule para establecer el esquema
para los trabajos de copia y restauracin.
En el servidor secundario, ejecute sp_add_log_shipping_secondary_database para
agregar una base de datos secundaria.
- 216 -
En el servidor primario, ejecute sp_add_log_shipping_primary_secondary para
agregar la informacin necesaria acerca de la nueva base de datos secundaria al
servidor primario.
En el servidor secundario, habilite los trabajos de copia y restauracin.
La primera vez que desee conmutar por error a una base de datos secundaria para convertirla
en su nueva base de datos primaria, debe realizar una serie de pasos. Una vez realizados,
podr intercambiar fcilmente las funciones entre la base de datos primaria y la base de datos
secundaria.
Realice manualmente la conmutacin por error de la base de datos primaria a la secundaria.
Asegrese de realizar una copia de seguridad del registro de transacciones activo en su
servidor primario mediante NORECOVERY.
Deshabilite el trabajo de copia de seguridad de trasvase de registros en el servidor primario, as
como los trabajos de copia y restauracin en el servidor secundario original.
En la base de datos secundaria (la que desea convertir en principal), configure el trasvase de
registros mediante SQL Server Management Studio.
Siga estos pasos:
Utilice el mismo recurso compartido para crear copias de seguridad que el utilizado
para el servidor primario original.
Cuando agregue la base de datos secundaria, en el cuadro de dilogo Configuracin
de base de datos secundaria, escriba el nombre de la base de datos primaria original
en el cuadro Base de datos secundaria.
En el cuadro de dilogo Configuracin de base de datos secundaria, seleccione
No, la base de datos secundaria est inicializada.
Una vez realizados los pasos anteriores para realizar el cambio inicial de funciones, ya puede
cambiar las funciones entre la base de datos primaria y la secundaria. A tal efecto, siga los
pasos descritos a continuacin. Para realizar el cambio de una funcin, realice estos pasos
generales:
Conecte la base de datos secundaria y realice una copia de seguridad del registro de
transacciones en el servidor primario mediante NORECOVERY.
Deshabilite el trabajo de copia de seguridad de trasvase de registros en el servidor
primario, as como los trabajos de copia y restauracin en el servidor secundario
original.
Habilite el trabajo de copia de seguridad de trasvase de registros en el servidor
secundario (el nuevo servidor primario), as como los trabajos de copia y restauracin
en el servidor primario (el nuevo servidor secundario).
- 217 -