Sunteți pe pagina 1din 217

Mantenimiento

MDULO 1: INSTALACIN Y CONFIGURACIN DE SQL SERVER 2005 1- Preparando la instalacin


Ediciones de SQLServer 2005 Requisitos de Hardware para SQL Server 2005 (32 bits) Requisitos de Hardware para SQL Server 2005 (64 bits) Requisitos de espacio en disco duro (32 y 64 bits) Requisitos del sistema operativo (32 bits) Requisitos del sistema operativo (64 bits) Requerimientos adicionales de software Requerimientos para la Edicin Mbile Instancias de SQL Server 2005: Instancia por defecto Instancias con nombre Opciones de Licenciamiento para SQL Server 2005 Consideraciones sobre seguridad para Servicios SQL Server Usar una cuenta de usuario de dominio Usar la cuenta de servicio local Usar la cuenta de servicio de red Intercalacin (Collation) Actualizar a SQL Server 2005 Utilizando el Asesor de actualizaciones (Upgrade Adviser) para preparar las actualizaciones Cmo funciona el Asesor de actualizaciones Anlisis del Asesor de actualizaciones Compatibilidad de la base de Datos

- 10 - 11 - 11 - 12 - 13 - 13 - 14 - 16 - 18 - 18 - 18 - 18 - 18 - 19 - 19 - 19 - 19 - 19 - 20 - 21 - 21 - 21 - 22 - 22 -

2- Instalacin
Comprobador de Configuracin del Sistema (System configuration checker) Opciones para la instalacin de Componentes: Instalacin Desatendida Creacin del archivo .ini Comenzando una instalacin desatendida

- 23 - 23 - 23 - 25 - 25 - 25 -

3- Manejo de la instalacin
Configuracin de Superficie (Surface Area Configuration) Manejador de Configuracin (Configuration Manager) Servicios SQL Server Configuracin del Servidor de Red Configuracin del Cliente de Red SQL Server Management Studio Nuevas funciones de las Secuencias de Comandos Caractersticas del Explorador de objetos

- 26 - 26 - 28 - 29 - 29 - 29 - 29 - 30 - 31 -

MDULO 2: RECUPERACIN DE DESASTRE 1- Planeamiento


Planear la estrategia de copias de seguridad y restauracin Elegir el tipo de medio para la copia de seguridad Administrar medios de copia de seguridad Ejecutar una secuencia de comandos con la funcionalidad bsica Garantizar la disposicin para afrontar desastres Revisar y reducir los posibles errores del usuario Modelos de recuperacin Recuperacin simple Recuperacin completa

- 32 - 33 - 33 - 33 - 33 - 34 - 34 - 34 - 35 - 37 - 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 -

3- Restauracin de Bases de Datos de Usuario


Descripcin de cmo funcionan la restauracin y la recuperacin de copias de seguridad en SQL Server Conjunto de puestas al da Secuencias de restauracin Fases de la restauracin Fase de copia de datos Fase de rehacer (puesta al da) Fase de deshacer (revertir) y recuperacin Opciones RECOVERY y NORECOVERY Restaurar una base de datos cuando SQL Server no est conectado Escenarios de restauracin Modelos de recuperacin y operaciones de restauracin admitidas Restaurar una copia de seguridad completa de la base de datos Restauracin de base de datos completa (modelo de recuperacin simple) Restauracin por etapas de la base de datos (modelo de recuperacin completa) Restauracin por etapas para algunos grupos de archivos (modelo de recuperacin simple) Restauracin por etapas para algunos grupos de archivos (modelo de recuperacin completa) Restauracin con conexin de un archivo de slo lectura (modelo de recuperacin simple) Aplicar copias de seguridad del registro de transacciones Registros de transacciones y recuperacin Cmo restaurar a un momento dado (SQL Server Management Studio) Restauracin online Copias de seguridad de registros para una restauracin en lnea Desconectar una base de datos o un archivo

- 49 - 49 - 49 - 49 - 49 - 50 - 50 - 51 - 51 - 52 - 52 - 53 - 54 - 54 - 55 - 56 - 57 - 58 - 58 - 58 - 59 - 61 - 62 - 62 -

MDULO 3: MANEJO DE SEGURIDAD 1- Seguridad de Base


Proteger SQL Server Protocolos de Red y Extremos TDS Habilitar Protocolos de Servidor despus de la Instalacin Definicin de los Extremos TDS Restringir el Acceso a la Red Seguridad del Sistema Operativo

- 64 - 65 - 65 - 65 - 65 - 66 - 66 - 67 -

2- Introduccin a la Seguridad de SQL Server

- 68 -

-3-

Entidades de Seguridad y Seguridad de objetos de base de datos Entidades de Seguridad (Principals) Inicio de Sesin sa de SQL Server INFORMATION_SCHEMA y sys Asegurables Objetos Funciones (Roles) de Nivel de Servidor (Server Fixed Roles) La Funcin public Funciones (Roles) en el Nivel de Base de Datos Jerarqua de Permisos Trabajar con Permisos Permisos a Nivel de Servidor Conceder Permisos Permisos a Nivel de Base de Datos Permisos a Nivel de Esquema Cifrado y Certificados Jerarqua de Cifrado Llave Maestra de Servicio (Service Master Key) Llave Maestra de Base de Datos (Database Master Key) Certificados Claves Asimtricas Claves Simtricas

- 68 - 68 - 68 - 68 - 68 - 69 - 69 - 70 - 70 - 71 - 72 - 72 - 73 - 74 - 77 - 78 - 78 - 79 - 79 - 80 - 81 - 82 -

3- Implementacin de Seguridad en SQL Server 2005


Seleccionar un Modo de Autenticacin Configurar el Modo de Autenticacin Conectar a travs de la Autenticacin de Windows Conectar a travs de la Autenticacin de SQL Server Ventajas de la Autenticacin de SQL Server Desventajas de la Autenticacin de SQL Server Cundo utilizar el Modo de Autenticacin de Windows Ventajas del la Autenticacin Windows Cundo utilizar el Modo Mixto Directiva de Contraseas Aplicacin de las Directivas de Contraseas Contraseas Seguras Inicios de Sesin en SQL Server (login) Manejo de Inicios de Sesin Modificacin de Inicios de Sesin Eliminacin de Inicios de Sesin Asignacin de una cuenta de inicio de sesin a una funcin fija de servidor Usuarios de SQL Server Cmo crear un usuario de base de datos Usuarios especiales de SQL Server Delegacin Requerimientos para Delegacin Configurando Active Directory para Delegacin Configurando SQL Server para Delegacin Credenciales

- 83 - 83 - 83 - 84 - 84 - 85 - 85 - 85 - 85 - 85 - 85 - 86 - 87 - 87 - 87 - 89 - 89 - 90 - 90 - 90 - 92 - 92 - 92 - 93 - 93 - 93 -

MDULO 4: MONITOREO DE SQL SERVER 1- Monitorear la Actividad en Curso


Determinar la actividad de los usuarios El Monitor de actividad (SQL Server Management Studio) Monitor de actividad de trabajo Para Ver la Actividad de Trabajo (SQL Server Management Studio) Sesiones del Agente SQL Server Funciones y Vistas de Administracin Dinmica

- 94 - 95 - 95 - 95 - 96 - 97 - 98 - 98 -

-4-

Vistas de Catlogo (Transact-SQL) Consulta de una Vista de Administracin Dinmica

- 99 - 100 -

2- Monitor de Sistemas (Windows)


Usar Objetos de SQL Server Consideraciones de Monitoreo de SQL Server Monitorear la Actividad del Disco Monitorear la E/S del Disco y Detectar la Paginacin Excesiva Aislar la Actividad del Disco creada por SQL Server Monitorear el Uso de la CPU Monitorear el Uso de la Memoria Aislar la Memoria que utiliza SQL Server

- 101 - 101 - 103 - 104 - 104 - 105 - 105 - 106 - 107 -

3- Analizador de SQL Server (SQL Server Profiler)


Introduccin Terminologa del Analizador de SQL Server Usar el Analizador de SQL Server Plantillas del Analizador de SQL Server Plantillas Predefinidas Plantilla Predeterminada Guardar Trazas y Plantillas de Traza Guardar Trazas Importar y Exportar Plantillas Analizar el Rendimiento con Plantillas

- 108 - 108 - 108 - 109 - 110 - 110 - 111 - 112 - 112 - 112 - 112 -

4- Desencadenadores DLL (DLL Triggers)


Definicin Usar Eventos de DDL con Desencadenadores DDL Usar la Funcin EVENTDATA

- 114 - 114 - 114 - 116 -

5- Notificaciones de Eventos
Introduccin Conceptos Bsicos de las Notificaciones de Eventos Descripcin de Notificaciones de Eventos frente a Desencadenadores Notificaciones de Eventos frente a Traza de SQL

- 119 - 119 - 119 - 120 - 120 -

MDULO 5: AUTOMATIZANDO TAREAS ADMINISTRATIVAS 1- Automatizar las tareas administrativas (Agente SQL Server)
Herramientas para Automatizar la Administracin Planes de Mantenimiento Iniciar el Asistente para Planes de Mantenimiento (SQL Server Management Studio) Editar y crear Planes de Mantenimiento Manualmente Agente SQL Server (SQL Server Agent) Componentes

- 123 - 124 - 124 - 124 - 126 - 127 - 127 - 128 -

2- Configurar el Agente SQL Server


Establecer los Permisos Necesarios Correo del Agente SQL Server Correo Electrnico de Base de Datos con el Agente SQL Server Cmo usar SQL Mail

- 130 - 130 - 131 - 132 - 133 -

3- Trabajos y Operadores
Trabajos Organizar trabajos Propiedad de trabajos Crear un trabajo

- 135 - 135 - 135 - 135 - 135 -

-5-

Crear pasos de trabajo Registros de Pasos de Trabajo Programas Ejecutables y Comandos del Sistema Operativo como Pasos de Trabajo Pasos de Trabajo Transact-SQL Pasos de Trabajo de Secuencias de Comandos ActiveX Controlar varios Pasos del Trabajo Programar la Ejecucin de un Trabajo Operadores Proporcionar Informacin de Contacto Requisitos para Notificar a un Operador Designar un Operador a Prueba de Errores Supervisar la Actividad de Trabajo Sesiones del Agente SQL Server Monitor de Actividad de Trabajo

- 136 - 137 - 137 - 138 - 138 - 138 - 139 - 141 - 141 - 142 - 142 - 144 - 144 - 144 -

4- Alertas
Alertas Eventos Seleccionar una Condicin de Rendimiento Seleccionar un Evento de WMI Alertar a Operadores

- 146 - 146 - 146 - 147 - 148 - 148 -

5- Manejo de Servidores Mltiples


Administracin multiservidor Consideraciones para Entornos Multiservidor Procesar Trabajos Multiservidor

- 149 - 149 - 149 - 149 -

6 Manejando la Seguridad del Agente SQL Server


Conceder Acceso al Agente SQL Server Funciones Fijas de Base de Datos del Agente SQL Server Permisos de las Funciones Fijas de Base de Datos del Agente SQL Server Permisos de SQLAgentUserRole Permisos de SQLAgentReaderRole Permisos de SQLAgentOperatorRole Asignar a los Usuarios varias Funciones Crear Cuentas de Proxy del Agente SQL Server

- 151 - 151 - 151 - 151 - 152 - 153 - 154 - 156 - 156 -

MDULO 6: IMPLEMENTANDO REPLICACIN 1- Introduccin a Rplica de SQL Server


Informacin General sobre los Tipos de Rplica Rplica Transaccional Rplica de Mezcla Rplica de Instantneas Informacin General del Modelo de Publicacin de Rplica Publicador Distribuidor Suscriptores Artculo Publicacin Suscripcin

- 157 - 158 - 158 - 158 - 159 - 159 - 160 - 161 - 161 - 161 - 161 - 161 - 162 -

2- Implementar replicacin
Implementacin Configurar la Rplica y Publicar Datos Filtrar Datos Publicados La Rplica ofrece cuatro Tipos de Filtros: Procedimientos Almacenados de Rplica

- 163 - 163 - 163 - 163 - 164 - 166 -

-6-

Crear e Inicializar Suscripciones Suscriptores que no son de SQL Server Crear Suscripciones Sincronizar Datos Asistentes para Rplica Asistente para Nueva Publicacin Para Crear Publicaciones y Definir Artculos Asistente para Nuevas Suscripciones Asistente para Configurar la Distribucin Asistente para deshabilitar la publicacin y distribucin Asistente de configuracin de la topologa punto a punto Asistente para la sincronizacin Web

- 167 - 168 - 168 - 168 - 168 - 168 - 169 - 171 - 174 - 175 - 175 - 176 -

3- Monitor de Rplica
Supervisin de la Rplica con el Monitor de Rplica La interfaz del Monitor de rplica Ver informacin de toda la topologa Ver informacin y realizar tareas relacionadas con publicadores Ver informacin y realizar tareas relacionadas con suscripciones Ver informacin y realizar tareas relacionadas con perfiles de agente Supervisar estado de la suscripcin y la publicacin en el Monitor de rplica Supervisar agentes de rplica Para supervisar el Agente de instantneas y el Agente de registro del LOG Para supervisar el Agente de distribucin y el Agente de mezcla (en el publicador) Para supervisar el Agente de distribucin y el Agente de mezcla (en el suscriptor)

- 177 - 177 - 177 - 178 - 178 - 179 - 180 - 180 - 181 - 181 - 181 - 182 -

4- Configurar Replicacin en algunos Escenarios Comunes


Replicar Datos en un Entorno de Servidor a Servidor Replicar Datos entre un Servidor y los Clientes Rplica Transaccional de Punto a Punto (Peer to Peer) Topologas de Punto a Punto Topologa en la que participan dos bases de datos: Topologa en la que participan tres o ms bases de datos Implementar la Rplica por Internet Configurar la Sincronizacin Web

- 183 - 183 - 183 - 183 - 184 - 184 - 185 - 187 - 188 -

MDULO 7: MANTENIMIENTO DE ALTA DISPONIBILIDAD 1- Introduccin a Alta Disponibilidad


Factores que afectan la Disponibilidad: Configurar una Alta Disponibilidad Clster de conmutacin por error Creacin de reflejo de la base de datos Trasvase de registros Replicacin Seleccionar una Solucin de Alta Disponibilidad

- 189 - 190 - 190 - 190 - 190 - 191 - 191 - 192 - 192 -

2- Implementacin de Server Clustering


Que es un Clster? Consideraciones antes de Instalar un Clster de Conmutacin por Error Lista de comprobacin previa a la instalacin Comprobar la Solucin de Hardware Comprobar la Configuracin del Sistema Operativo Configurar el Servicio de Cluster Server de Microsoft Instalar el Coordinador de Transacciones Distribuidas de Microsoft Otras Consideraciones de Software Consideraciones Relativas a la Red Otras Consideraciones

- 194 - 194 - 194 - 195 - 195 - 196 - 196 - 197 - 197 - 198 - 198 -

-7-

Instalar un Clster de Conmutacin por Error Elementos de una instancia de clster de conmutacin por error Asignar nombre a una Instancia de Clster de Conmutacin por Error

- 199 - 199 - 200 -

3- Implementando Reflejo de Base de Datos


Generalidades de la Creacin de Reflejo de la Base de Datos Ventajas de la creacin de reflejo de la base de datos Funcionamiento de la creacin de reflejo de la base de datos Modos de funcionamiento Seguridad de las Transacciones y Modos de Funcionamiento Extremo de Creacin de Reflejo de Base de Datos Cmo Crear un Extremo de Reflejo para la Autenticacin de Windows Para Crear un Extremo de Reflejo utilizando la Autenticacin de Windows Direccin de Red de Servidor Sesiones de Creacin de Reflejo de la Base de Datos Sesiones Simultneas Requisitos Previos para una Sesin de Creacin de Reflejo de la Base de Datos Conmutacin de Funciones durante una Sesin de Creacin de Reflejo de la Base de Datos Conmutacin por Error Manual Conmutacin por Error Automtica Forzar Servicio (con posible prdida de datos)

- 201 - 201 - 201 - 201 - 202 - 203 - 204 - 204 - 205 - 206 - 207 - 208 - 209 - 210 - 210 - 212 - 212 -

4- Trasvase de Registros (Log Shipping)


Definicin Operaciones del Trasvase de Registros Configurar el Trasvase de Registros Cambiar las funciones entre el servidor primario y secundario

- 212 - 212 - 213 - 213 - 217 -

-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. A continuacin se describen las ediciones de SQL Server 2005: SQL Server 2005 Enterprise Edition (32 bits y 64 bits): Enterprise Edition es ampliable a los niveles de rendimiento necesarios para admitir el procesamiento de transacciones en lnea (OLTP) de las empresas ms grandes, anlisis de datos de alta complejidad, sistemas de almacenamiento de datos y sitios web. Las completas capacidades de anlisis y Business Intelligence, y sus caractersticas de alta disponibilidad como, por ejemplo, el clster de conmutacin por error, permiten controlar las cargas de trabajo empresarial de mayor importancia. Enterprise Edition es la edicin ms completa de SQL Server y es idnea para las organizaciones ms grandes y para los requisitos ms complejos. SQL Server 2005 Standard Edition (32 bits y 64 bits): SQL Server 2005 Standard Edition es la plataforma de anlisis y administracin de datos para organizaciones pequeas y medianas. Incluye la funcionalidad bsica necesaria para soluciones de lnea de negocio, almacenamiento de datos y comercio electrnico. Las caractersticas de alta disponibilidad y de Business Intelligence integradas de Standard Edition proporcionan a las organizaciones las capacidades bsicas que necesitan para realizar sus operaciones. SQL Server 2005 Standard Edition es idneo para aqulla organizacin pequea o mediana que necesite una plataforma completa de anlisis y administracin de datos. SQL Server 2005 Workgroup Edition (slo 32 bits): SQL Server 2005 Workgroup Edition es la solucin de administracin de datos para pequeas organizaciones que necesitan una base de datos sin lmites de tamao o nmero de usuarios. SQL Server 2005 Workgroup Edition se puede utilizar como servidor Web cliente o para operaciones de sucursales o departamentos. Incluye las caractersticas principales de base de datos de la lnea de productos de SQL Server y es fcilmente actualizable a SQL Server 2005 Standard Edition o SQL Server 2005 Enterprise Edition. SQL Server 2005 Workgroup Edition es una base de datos idnea para comenzar que resulta confiable, slida y fcil de administrar. SQL Server 2005 Developer Edition (32 bits y 64 bits): SQL Server 2005 Developer Edition permite a los programadores crear cualquier tipo de aplicacin sobre SQL Server. Incluye toda la funcionalidad de SQL Server 2005 Enterprise Edition, pero su licencia permite utilizarlo como sistema de desarrollo y prueba, no como un servidor de produccin. SQL Server 2005 Developer Edition es una opcin ideal para fabricantes independientes de software (ISV), asesores, integradores de sistemas, proveedores de soluciones y programadores corporativos que crean y prueban aplicaciones. Puede actualizar SQL Server 2005 Developer Edition para utilizarlo en produccin. SQL Server 2005 Express Edition (slo 32 bits): La plataforma de bases de datos de SQL Server Express se basa en SQL Server 2005. Tambin sustituye a Microsoft Desktop Engine (MSDE). Gracias a su integracin con Microsoft Visual Studio 2005, SQL Server Express facilita el desarrollo de aplicaciones controladas por datos que

- 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.

Requisitos de Hardware para SQL Server 2005 (32 bits) Cuando se planifica la instalacin de SQL Server 2005 usted debe asegurarse de que la computadora en la que realizar la instalacin cumple con los requerimientos mnimos y es adecuada para sus necesidades actuales y futuras. El hecho de no alcanzar los requerimientos mnimos puede ocasionar fallas en la instalacin de algunos o de todos los componentes. En la tabla siguiente se muestran los requisitos de hardware para instalar y ejecutar SQL Server 2005 en la plataforma de 32 bits:

SQL Server 2005 (32 bits) SQL Server 2005 Enterprise Edition SQL Server 2005 Developer Edition SQL Server 2005 Standard Edition SQL Server 2005 Workgroup Edition

Tipo de procesador Procesador compatible con Pentium III o superior

Velocidad de procesador Mnimo: 600 MHz Recomendado: 1 GHz o ms

Memoria (RAM) Mnimo: 512 MB Recomendado: 1 GB o ms Mximo: mximo del sistema operativo mximo

Procesador compatible con Pentium III o superior

Mnimo: 600 MHz Recomendado: 1 GHz o ms

Mnimo: 512 MB Recomendado: 1 GB o ms Mximo: mximo del sistema operativo mximo

SQL Server 2005 Express

Procesador compatible

Mnimo: 500 MHz

Mnimo: 192 MB

- 12 -

Edition

con Pentium III o superior

Recomendado: 1 GHz o ms

Recomendado: 512 MB o ms Mximo: mximo del sistema operativo mximo

SQL Server 2005 Express Edition with Advanced Services

Procesador compatible con Pentium III o superior

Mnimo: 600 MHz Recomendado: 1 GHz o ms

Mnimo: 512 MB Recomendado: 1 GB o ms Mximo: mximo del sistema operativo

Requisitos de Hardware para SQL Server 2005 (64 bits) En la siguiente tabla se muestran los requisitos de hardware para instalar y ejecutar SQL Server 2005 en la plataforma de 64 bits.

SQL Server 2005 (64 bits) SQL Server 2005 Enterprise Edition SQL Server 2005 Developer Edition SQL Server 2005 Standard Edition

Tipo de procesador IA64 mnimo: procesador Itanium o superior x64 mnimo: AMD Opteron, AMD Athlon 64, Intel Xenon compatible con Intel EM64T, Intel Pentium IV compatible con EM64T

Velocidad de procesador IA64 mnimo: 1 GHz IA64 recomendado: 1 GHz o ms x64 mnimo: 1 GHz x64 recomendado: 1 GHz o ms

Memoria (RAM) IA64 mnimo: 512 MB IA64 recomendado: 1 GB o ms IA64 mximo: 32 TB Mximo del sistema operativo Mnimo: 512 MB x64 recomendado: 1 GB o ms x64 mximo: mximo del sistema operativo

Requisitos de espacio en disco duro (32 y 64 bits) Los requisitos de disco duro actuales dependen de la configuracin del sistema y las aplicaciones y caractersticas que haya decidido instalar. En la siguiente tabla se muestran los requisitos de espacio en disco de los componentes de SQL Server 2005.

Caracterstica Database Engine (Motor de base de datos) y archivos de datos, Rplica y Bsqueda de texto Analysis Services y archivos de datos

Requisito de espacio en disco 280 MB

90 MB

- 13 -

Reporting Services y Administrador de informes Componentes del motor de Notification Services, componentes de cliente y componentes de reglas Integration Services Componentes de cliente Libros en pantalla de SQL Server y Libros en pantalla de SQL Server Compact Edition Ejemplos y bases de datos de ejemplo. Tenga en cuenta que, de forma predeterminada, los ejemplos y las bases de datos de ejemplo no se instalan.

120 MB 50 MB

120 MB 850 MB 240 MB 410 MB

Requisitos del sistema operativo (32 bits) En la siguiente tabla se muestran los sistemas operativos que ejecutan el software de servidor para cada versin de 32 bits de SQL Server 2005.

Enterprise Edition1 Windows 2000 SP4 de Windows 2000 Professional Edition SP4 de Windows 2000 Server SP4 de Windows 2000 Advanced Server SP4 de Windows 2000 Datacenter Edition Windows XP Embedded SP2 Feature pack 2007 Windows Embedded for Point of Service SP2 de Windows XP Home Edition No

Developer Edition No

Standard Edition No

Workgroup Edition No

Express Edition y Express with Advanced Services No

Evaluation Edition No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

- 14 -

SP2 de Windows XP Professional Edition SP2 de Windows XP Media Edition SP2 de Windows XP Tablet Edition SP1 de Windows Server 2003 Server SP1 de Windows Server 2003 Enterprise Edition SP1 de Windows Server 2003 Datacenter Edition SP1 de Windows Server 2003 Web Edition SP1 de Windows Small Business Server 2003 Standard Edition SP1 de Windows Small Business Server 2003 Premium Edition Windows Vista Starter Edition Windows Vista Home Basic Edition Windows Vista Home Premium Edition Windows Vista Ultimate Edition Windows Vista Business Edition Windows Vista Enterprise Edition SP1 de Windows Server 2003 64-Bit Itanium Datacenter

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

S7

No

No

No

No

No

No

S7

No

S7

No

No

No

No

No

No

No

- 15 -

Edition SP1 de Windows Server 2003 64-Bit Itanium Enterprise Edition SP1 de Windows Server 2003 64-Bit x64 Standard Edition SP1 de Windows Server 2003 64-Bit x64 Datacenter Edition6 SP1 de Windows Server 2003 64-Bit x64 Enterprise Edition6 Windows XP x64 Professional 2003 Windows Vista Home Basic 64-Bit x64 Edition Windows Vista Home Premium 64-Bit x64 Edition Windows Vista Ultimate 64-Bit x64 Edition Windows Vista Business 64-Bit x64 Edition Windows Vista Enterprise 64-Bit x64 Edition No

No

No

No

No

No

No

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

No

WOW64

WOW64

WOW64

WOW64

No

No

WOW64

No

No

WOW64

WOW64

No

WOW64

No

No

WOW64

WOW64

No

WOW64

WOW64

WOW64

WOW64

WOW64

No

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

WOW64

Requisitos del sistema operativo (64 bits) En la siguiente tabla se muestran los sistemas operativos que ejecutan el software de servidor para cada versin de 64 bits de SQL Server 2005.

Enterprise Edition1(IA 64)

Enterprise Edition1(X6 4)

Develop er Edition (IA64)2

Develop er Edition (X64)3

Standar d Edition (IA64)

Standar d Edition (X64)

Express Edition y Express with Advanced Services

Evaluation Edition (IA64)

Evaluation Edition (X64)

- 16 -

SP1 de Windows Server 2003 64-Bit Itanium Datacenter Edition SP1 de Windows Server 2003 64-Bit Itanium Enterprise Edition SP1 de Windows Server 2003 64-Bit x64 Standard Edition5 SP1 de Windows Server 2003 64-Bit x64 Datacenter Edition5 SP1 de Windows Server 2003 64-Bit x64 Enterprise Edition5 Windows XP x64 Professional 2003 Windows Vista Home Basic x64 Edition de 64 bits Windows Vista Home Premium x64 Edition de 64 bits Windows Vista x64 Ultimate Edition de 64 bits

No

No

No

No

No

No

No

No

No

No

No

No

No

WOW64

No

No

No

No

WOW64

No

No

No

No

S4

WOW64

No

No

No

No

WOW64

No

No

No

No

No

No

WOW64

No

No

No

No

No

No

WOW64

No

No

No

No

No

WOW64

No

- 17 -

Windows Vista x64 Business Edition de 64 bits Windows Vista x64 Enterprise Edition de 64 bits

No

No

No

No

WOW64

No

No

No

No

No

WOW64

No

Requerimientos adicionales de software SQL Server 2005 requiere tambin el siguiente software: Microsoft Internet Explorer 6.0 Service Pack 1 o superior (requerido para Microsoft Management Console) Internet Information Services (IIS) 5.0 o 6.0 (requerido para Reporting Services) TCP/IP Microsoft .NET Framework 2.0 (SQL Server lo instalar si es necesario.) Microsoft Windows Installer 3.1 (SQL Server lo instalar si es necesario.) Microsoft Data Access Components (MDAC) 2.8 Service Pack 1 o superior

Requerimientos para la Edicin Mbile SQL Server 2005 Mobile Edition est diseada para dispositivos mviles ms que para plataforma PC. SQL Server Mobile Edition soporta: Plataforma Pocket PC 2003 Windows CE 5.0 Windows Mobile 5.0 para Pocket PC y Smartphone

Instancias de SQL Server 2005: Una instalacin de SQL Server 2005 consiste de una o ms instancias. Una instancia del motor de base de datos (database engine) de SQL Server, sea por defecto o con nombre, tiene su propio conjunto de programas de instancia especficos y archivos de datos, as como un conjunto de archivos comunes compartidos con todas las instancias de la computadora. Las instancias de otros componentes como Analysis Services o Reporting Service tambin tienen su propio conjunto de programas y archivos de datos. Cada instancia opera independientemente de cualquier otra instancia de la misma computadora, y las aplicaciones pueden conectarse a cualquiera de las instancias.

Instancia por defecto Esta instancia es identificada por el nombre de red de la computadora en la cual se est ejecutando. La instancia por defecto del servicio de SQL Server es MSSQLSERVER. Instancias con nombre Estas instancias son identificadas por el nombre de red de la computadora ms un nombre de instancia con el formato: nombrecomputadora/nombreinstancia , como por ejemplo MiPC\SQLINSTANCE2 para una instancia llamada SQLINSTANCE2 en una computadora llamada MiPC. Una nueva instancia debe comenzar con una letra o guin bajo (_), y puede contener nmeros, letras u otros caracteres.

- 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.

Opciones de Licenciamiento para SQL Server 2005 Microsoft SQL Server 2005 est disponible en base a tres modelos de licencias: Licencia de servidor ms una licencia de acceso de cliente (CAL) por dispositivo . Requiere una licencia para el equipo que ejecuta el producto servidor de Microsoft, y una CAL para cada dispositivo cliente. Licencia de servidor ms una licencia de acceso de cliente (CAL) por usuario . Requiere una licencia para el equipo que ejecuta el producto servidor de Microsoft, y una CAL para cada usuario. Licencia por procesador. Requiere una nica licencia por cada CPU en el entorno del sistema operativo que ejecuta SQL Server. Esta licencia incluye un acceso ilimitado de dispositivos cliente.

Consideraciones sobre seguridad para Servicios SQL Server Para que SQL Server y el Agente SQL Server se ejecuten como servicios de Windows, SQL Server y el Agente SQL Server deben estar asignados a una cuenta de usuario de Windows. Las cuentas pueden ser: de usuario, de dominio o de sistema. Se puede asignar la misma cuenta de Windows a todos los servicios de SQL Server o bien configurar una cuenta para cada servicio. A continuacin se describen recomendaciones en la utilizacin de los diferentes tipos de cuenta: Usar una cuenta de usuario de dominio Es posible que sea preferible una cuenta de usuario de dominio cuando el servicio debe interactuar con los servicios de red. Muchas actividades de servidor a servidor slo se pueden realizar con una cuenta de usuario de dominio, por ejemplo: Llamadas a procedimiento remoto. Rplica. Copias de seguridad en unidades de red. Combinaciones heterogneas en las que intervienen orgenes de datos remotos. Caractersticas de correo del Agente SQL Server y SQL Mail. Esta restriccin se aplica si utiliza Microsoft Exchange. La mayora de los otros sistemas de correo tambin requieren que los clientes (como el servicio SQL Server y el servicio del Agente SQL Server) se ejecuten con cuentas con acceso a la red.

Usar la cuenta de servicio local La cuenta de servicio local es una cuenta integrada especial parecida a una cuenta de usuario autenticado. La cuenta de servicio local tiene el mismo nivel de acceso a los recursos y objetos que los miembros del grupo Usuarios. Este acceso limitado ayuda a proteger el sistema si procesos o servicios individuales se ven afectados. Los servicios que se ejecutan como cuenta de servicio local tienen acceso a los recursos de red como una sesin nula sin credenciales.

Usar la cuenta de servicio de red La cuenta de servicio de red es una cuenta integrada especial parecida a una cuenta de usuario autenticado. La cuenta de servicio de red tiene el mismo nivel de acceso a los recursos y objetos que los miembros del grupo Usuarios. Los servicios que se ejecutan como la cuenta de servicio de red tienen acceso a los recursos de red a travs de las credenciales de la cuenta de equipo.

- 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. SQL Server selecciona lo siguiente: La Intercalacin de Windows basada en la configuracin regional de Windows para la computadora en la que SQL es instalado. La Intercalacin de SQL que es compatible con versiones anteriores de SQL basada en la configuracin regional detectada. Cambie la configuracin predeterminada de intercalacin de Windows slo si: Su instalacin de SQL Server debe coincidir con la configuracin de intercalacin utilizada por otra instancia de SQL Server. Si la configuracin de intercalacin debe coincidir con la configuracin regional del sistema Windows de otro equipo.

Actualizar a SQL Server 2005 Puede actualizar directamente las instancias de SQL Server 2000 Service Pack 3 (SP3) o posterior, e instancias de SQL Server 7.0 SP4 o posterior, a SQL Server 2005. Puede realizar la mayora de las operaciones de actualizacin mediante el programa de instalacin; no obstante, algunos componentes admiten o necesitan la migracin de aplicaciones o soluciones una vez ejecutado el programa de instalacin.

Utilizando el Asesor de actualizaciones (Upgrade Adviser) para preparar las actualizaciones El Asesor de actualizaciones de Microsoft SQL Server 2005 ayuda a preparar las actualizaciones de SQL Server 2005. El Asesor de actualizaciones analiza los componentes instalados de SQL Server 2000 o SQL Server 7.0 y genera informes que identifican los problemas que han de solucionarse antes o despus de la actualizacin a SQL Server 2005.

Cmo funciona el Asesor de actualizaciones Al ejecutar el Asesor de actualizaciones, se mostrar la pgina de inicio del Asesor de actualizaciones. Desde la pgina Inicio, podr ejecutar las siguientes herramientas: Asistente para anlisis del Asesor de actualizaciones

- 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.

Anlisis del Asesor de actualizaciones El Asesor de actualizaciones analiza los siguientes componentes de SQL Server: Database Engine (Motor de base de datos) Analysis Services Notification Services Reporting Services Integration Services, anteriormente conocido como Servicios de transformacin de datos (DTS) Un analizador dedicado se ejecuta en el contexto del Asesor de actualizaciones para cada componente de SQL Server. El anlisis examina los objetos accesibles para los analizadores individuales, como secuencias de comandos, procedimientos almacenados, desencadenadores y archivos de traza. El Asesor de actualizaciones no puede analizar aplicaciones de escritorio ni procedimientos almacenados cifrados. La salida de cada analizador es un informe XML sobre dicho componente. Podr ver el informe XML mediante el visor de informes del Asesor de actualizaciones.

Compatibilidad de la base de Datos Algunos comportamientos en la base de datos SQL Server 2005 son diferentes a los utilizados en versiones anteriores de SQL Server. Si existen aplicaciones en uso que utilicen una versin anterior de SQL Server es necesario que usted asigne el nivel de compatibilidad de SQL Server 2005 para su correcto funcionamiento. Para signar un nivel de compatibilidad de una base de datos SQL Server debe hacerlo utilizando el comando ALTER DATABASE con la clusula SET COMPATIBILITY_LEVEL .

- 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.

Comprobador de Configuracin del Sistema (System configuration checker) Como parte de la instalacin de SQL Server 2005, el Comprobador de configuracin del sistema (SCC) examina el equipo en el que se haya instalado Microsoft SQL Server 2005. El SCC comprueba las condiciones que impiden una instalacin correcta de SQL Server. Antes de que el programa de instalacin inicie el Asistente para la instalacin de SQL Server 2005, el SCC recupera el estado de cada elemento de comprobacin, compara el resultado con las condiciones necesarias y proporciona instrucciones para eliminar los problemas de bloqueo. Todos los elementos de comprobacin del SCC estn habilitados por la red; las comprobaciones se pueden ejecutar en un equipo local, as como en situaciones remotas o de clster.

Opciones para la instalacin de Componentes: El Asistente para la instalacin proporciona una interfaz grfica de usuario que le gua a travs de cada decisin del proceso de instalacin, as como 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. Utilice la pgina Seleccin de caractersticas del Asistente para la instalacin de SQL Server para seleccionar los componentes que se incluir en la instalacin de SQL Server 2005. Utilice las siguientes descripciones para determinar el conjunto de caractersticas que satisfag sus necesidades. En el panel Componentes para instalar, se muestra una descripcin de cada grupo de componentes al seleccionarlo. Puede activar una combinacin de casillas de verificacin. Para seleccionar caractersticas individuales para la instalacin, haga clic en Avanzadas. Para instalar componentes en una carpeta de destino personalizada o para ver los requisitos de espacio en disco para un componente o caracterstica individual, haga clic en Avanzadas.

Seleccione este grupo de componentes Servicios de bases de datos de SQL Server

Para instalar estos componentes y caractersticas SQL Server Database Engine (Motor de base de datos de SQL Server) incluye las siguientes tecnologas: Database Engine (Motor de base de datos) es el servicio principal para almacenar, procesar y proteger los datos.

- 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 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 es una plataforma para desarrollar e implementar aplicaciones que enven informacin personalizada puntualmente a los suscriptores de una gran variedad de dispositivos. Integration Services es un conjunto de herramientas grficas y objetos programables para mover, copiar y transformar datos. Instala componentes para la comunicacin entre clientes y servidores, incluidas bibliotecas de red para DB-Library, OLEDB para OLAP, ODBC, ADODB y ADOMD+. Herramientas de administracin SQL Server Management Studio (SSMS), nuevo en Microsoft SQL Server 2005, es un entorno integrado para obtener acceso, configurar, administrar y desarrollar todos los componentes de SQL Server. SSMS rene las caractersticas del Administrador corporativo, el Analizador de consultas y Analysis Manager, herramientas incluidas en versiones anteriores de SQL Server, en un nico entorno que proporciona acceso para SQL Server a los desarrolladores y administradores de todos los niveles de conocimiento. El Administrador de configuracin de SQL Server proporciona administracin de configuracin bsica para los servicios, protocolos de servidor, protocolos de cliente y alias de cliente de SQL Server. Analizador de SQL Server proporciona una interfaz grfica de usuario para supervisar una instancia de Database Engine (Motor de base de datos) o una instancia de Analysis Services. El Asistente para la optimizacin de Database Engine (Motor de base de datos) crea conjuntos ptimos de ndices, vistas indizadas y particiones. El Monitor de rplica permite realizar un seguimiento del estado y del rendimiento de las publicaciones y las suscripciones en una topologa de rplica. Caractersticas de cliente SQLXML Documentacin Los Libros en pantalla de SQL Server son la documentacin principal de SQL Server 2005. Kits de desarrollo de software

Reporting Services

Notification Services

Integration Services

Componentes de la estacin de trabajo, Libros en pantalla y herramientas de desarrollo

Herramientas de desarrollo Business Intelligence Development Studio es un entorno 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.

Creacin del archivo .ini Puede crear este archivo desde cualquier editor de texto, como por ejemplo el Notepad. El CD de SQL Server contiene un archivo modelo llamado template.ini que usted puede utilizar para comenzar a crear su propio archivo .ini. El archivo .ini est compuesto de una seccin de Opciones que contiene mltiples parmetros, cada uno de los cuales hace referencia a un componente o configuracin diferente.

Comenzando una instalacin desatendida Para comenzar una instalacin desatendida utilice la siguiente sintaxis de comando: setup.exe /settings <path to .ini file> 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: setup.exe /settings c:\setup\installsettings.ini 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
Configuracin de Superficie (Surface Area Configuration) La herramienta Configuracin de superficie para caractersticas proporciona una sola interfaz para habilitar o deshabilitar muchas caractersticas del Motor de base de datos, Analysis Services y Reporting Services. Si se deshabilitan las caractersticas que no se utilizan, se pueden proteger las instalaciones de Microsoft SQL Server reduciendo la superficie de SQL Server. Usted puede utilizar la herramienta Configuracin de Superficie para habilitar o deshabilitar los siguientes servicios y opciones de conectividad para cada instancia de SQL Server en la computadora. En las siguientes tablas se incluye el valor predeterminado para cada configuracin:

Configuracin Consultas ad hoc distribuidas Integracin de CLR (Common Language Runtime) Conexin de administrador dedicada (DAC) Correo electrnico de base de datos Servicios Web XML nativos Procedimientos almacenados de automatizacin OLE Service Broker SQL Mail Procedimientos almacenados de Asistente para Web xp_cmdshell

Valor predeterminado Deshabilitada en nuevas instalaciones. Deshabilitada en nuevas instalaciones.

Deshabilitada en nuevas instalaciones. Deshabilitada en nuevas instalaciones. Los extremos no estn configurados de forma predeterminada. Deshabilitada en nuevas instalaciones.

Los extremos no estn configurados de forma predeterminada. Deshabilitada en nuevas instalaciones. Deshabilitada en nuevas instalaciones.

Deshabilitada en nuevas instalaciones.

En las siguientes tablas se incluye el valor predeterminado para cada configuracin de servicios y protocolos de red de Windows:

Servicio o protocolo Servicio del Database Engine (Motor de base de datos) Conexiones remotas del Database Engine

Valor predeterminado El inicio puede establecerse en Automtico o Manual durante la instalacin. 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. El inicio puede establecerse en Automtico o Manual durante la instalacin. Las conexiones remotas estn deshabilitadas en las ediciones Express, Evaluation y Developer de SQL Server 2005 y estn habilitadas en otras ediciones. El inicio puede establecerse en Automtico o Manual durante la instalacin. Si se encuentra instalado, el tipo de inicio est establecido en Manual y el servicio est detenido. Si se encuentra instalado, el inicio est establecido en Manual y el servicio est detenido. Servicios no instalados durante la instalacin.

Servicio de Analysis Services

Conexiones remotas de Analysis Services

Servicio de Reporting Services

Servicio del Agente SQL Server

Servicio de bsqueda de texto

Servicios de instancia de Notification Services Servicio de Integration Services

Si se encuentra instalado, el servicio est establecido en el modo de inicio Automtico. El inicio est establecido en Automtico en las siguientes condiciones: Cuando hay instancias con nombre del motor de base de datos o Analysis Services en el servidor Cuando se encuentra instalado en un clster Cuando est instalado SQL Server 2000 al mismo tiempo

Servicio Explorador de SQL Server

- 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.

Configuracin del Servidor de Red Usted puede utilizar SQL Server Configuration Manager para configurar los protocolos de red utilizados por una instancia de SQL Server. Puede habilitar o deshabilitar un protocolo determinado y manejar los valores especficos para ese protocolo como el puerto TCP utilizado por el protocolo TCP/IP.

Configuracin del Cliente de Red Cuando se instala SQL Server Configuration Manager en una computadora cliente, usted puede utilizarlo para manejar la librera Cliente Nativo SQL (SQL Native Client) estableciendo el orden de prioridad de protocolos de red y alianzas de servidor.

SQL Server Management Studio SQL Server Management Studio es un entorno integrado para obtener acceso a todos los componentes de SQL Server, configurarlos, administrarlos y desarrollarlos. Combina un amplio grupo de herramientas grficas con una serie de editores de script para ofrecer acceso a SQL Server a programadores y administradores de todos los niveles de especializacin. SQL Server Management Studio combina las caractersticas del Administrador corporativo, el Analizador de consultas y Analysis Manager, herramientas incluidas en versiones anteriores de SQL Server, en un nico entorno. Adems, SQL Server Management Studio funciona con

- 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. SQL Server Management Studio incluye las siguientes caractersticas generales: 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.

Nuevas funciones de las Secuencias de Comandos El Editor de cdigo de SQL Server Management Studio contiene editores de secuencias de comandos integrados para crear secuencias de comandos Transact-SQL, MDX, DMX, XML/A y XML. Ofrece las caractersticas siguientes: Ayuda dinmica para el acceso inmediato a la informacin relevante mientras se trabaja. Un amplio conjunto de plantillas y la posibilidad de crear plantillas personalizadas. Compatibilidad con la escritura y modificacin de consultas o secuencias de comandos sin necesidad de conexin a un servidor. Compatibilidad con secuencias de comandos para consultas y secuencias de comandos SQLCMD. Una nueva interfaz para ver resultados XML. Control de cdigo fuente integrado para proyectos de secuencias de comandos y soluciones compatibles con el almacenamiento y la conservacin de copias de secuencias de comandos a medida que evolucionan. Compatibilidad de Microsoft IntelliSense con instrucciones MDX.

- 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: Filtrado por todo o parte de un nombre, esquema o fecha. Llenado asincrnico de objetos, con la posibilidad de filtrar objetos segn sus metadatos. Acceso al Agente SQL Server en los servidores de rplica para administracin.

- 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. Un plan de recuperacin de desastres se puede estructurar de diferentes maneras y puede contener muchos tipos de informacin. Entre los tipos de planes de recuperacin de desastres se incluyen los siguientes: Un plan para adquirir el hardware. Un plan de comunicacin. Una lista de las personas con las que ponerse en contacto si se produce un desastre. Instrucciones para ponerse en contacto con las personas implicadas en la respuesta al desastre. Informacin acerca del propietario de la administracin del plan. Una lista de comprobacin de las tareas necesarias para cada escenario de recuperacin. Para facilitar la revisin de la evolucin de la recuperacin de desastres, ponga a cada tarea una inicial a medida que se vayan completando y anote la hora de finalizacin en la lista de comprobacin.

Elegir el tipo de medio para la copia de seguridad SQL Server puede generar copias en discos rgidos o cintas. Los discos locales o a travs de la red son el medio ms comn para guardar copias de seguridad. Cuando la copia se genera en cinta el dispositivo debe estar instalado localmente al servidor de SQL Server.

Administrar medios de copia de seguridad Se recomienda que el plan de copias de seguridad estipule cmo se han de administrar los medios de copia de seguridad, por ejemplo:

- 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.

Ejecutar una secuencia de comandos con la funcionalidad bsica Normalmente, las secuencias de comandos con la funcionalidad bsica se incluyen en los planes de recuperacin de desastres para confirmar que todo funciona como se espera. Una secuencia de comandos con la funcionalidad bsica proporciona una herramienta confiable para que los administradores de sistemas o de bases de datos puedan comprobar que se ha recuperado la base de datos con un estado viable, sin tener que depender de los usuarios finales para llevar a cabo la comprobacin. Una secuencia de comandos con la funcionalidad bsica es especfica de la aplicacin y puede adoptar muchas formas diferentes. Por ejemplo, en un sistema de informes o ayuda a la toma de decisiones, la secuencia de comandos puede ser simplemente una copia de varias de las consultas para informes ms importantes. Para una aplicacin de procesamiento de transacciones en lnea (OLTP), la secuencia de comandos puede ejecutar un lote de procedimientos almacenados que contengan instrucciones INSERT, UPDATE y DELETE. Por ejemplo, una secuencia de comandos con la funcionalidad bsica puede ser tan simple como un archivo .sql que enva instrucciones SQL por lotes al servidor desde la utilidad sqlcmd. Otro ejemplo es usar un archivo .bat que contenga los comandos bcp y sqlcmd.

Garantizar la disposicin para afrontar desastres Para asegurarse de que est preparado para hacer frente a desastres, se recomienda que realice las siguientes tareas de forma peridica: Compruebe los procedimientos de copia de seguridad y recuperacin antes de que se produzca un error real. Las comprobaciones le ayudan a asegurarse de que cuenta con las copias de seguridad necesarias para recuperarse de diversos errores, que sus procedimientos estn perfectamente definidos y documentados y que cualquier operario cualificado puede ejecutarlos rpidamente y sin problemas. Para que la cantidad de datos perdidos sea mnima, realice peridicamente copias de seguridad de las bases de datos y los registros de transacciones. Se recomienda realizar copias de seguridad del sistema y de las bases de datos de los usuarios. Mantenga los registros del sistema de manera segura. Conserve registros de todos los Service Pack instalados en Microsoft Windows y SQL Server. Conserve registros de las bibliotecas de red usadas y del modo de seguridad. Asimismo, si SQL Server se ejecuta en autenticacin de modo mixto (modo de autenticacin de SQL Server y de Windows), registre la contrasea de sa. En otro servidor, evale por anticipado los pasos que debe seguir para la recuperacin de un desastre, modifquelos segn sea necesario para ajustarlos a su entorno de servidor local y compruebe los pasos modificados. Conserve una secuencia de comandos con la funcionalidad bsica a fin de evaluar rpidamente la capacidad mnima.

Revisar y reducir los posibles errores del usuario

- 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. En la tabla siguiente se resumen estos modelos de recuperacin.
Modelo de recuperacin Simple Riesgo de prdida de trabajo de seguridad de Los cambios realizados despus de la copia de seguridad ms reciente no estn protegidos. En caso de desastre, es necesario volver a realizar dichos cambios. Recuperacin hasta un momento dado? Slo se puede recuperar hasta el final de una copia de seguridad.

Descripcin Sin copias registros.

Recupera automticamente el espacio de registro para mantener al mnimo los requisitos de espacio, eliminando, en esencia, la necesidad de administrar el espacio del registro de transacciones.

- 35 -

Completa

Requiere copias de seguridad de registros. No se pierde trabajo si un archivo de datos se pierde o resulta daado. Se puede recuperar hasta cualquier momento, por ejemplo, antes del error de aplicacin o usuario.

Normalmente ninguno. Si el final del registro resulta daado, se deben repetir los cambios realizados desde la ltima copia de seguridad de registros.

Se puede recuperar hasta determinado momento, siempre que las copias de seguridad se hayan completado hasta ese momento.

Por medio de registros de operaciones masivas

Requiere copias de seguridad de registros. Complemento del modelo de recuperacin completa que permite operaciones de copia masiva de alto rendimiento. Reduce el uso del espacio de registro mediante el registro masivo de la mayora de las operaciones masivas.

Si el registro resulta daado o se han realizado operaciones masivas desde la ltima copia de seguridad de registros, se pueden repetir los cambios desde esa ltima copia de seguridad. En caso contrario, no se pierde el trabajo.

Se puede recuperar hasta el final de cualquier copia de seguridad. No admite recuperaciones a un momento dado.

- 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

Recomendaciones sobre modelos de recuperacin para bases de datos del sistema En esta seccin se resumen las recomendaciones para utilizar un modelo de recuperacin con cada una de las bases de datos del sistema.
Base de datos del sistema master

Modelo de recuperacin Simple

Comentarios 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. Las bases de datos de usuario recin creadas usan el mismo modelo de 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. Recomendacin: es aconsejable crear copias de seguridad completas de base de datos de model, slo cuando sea necesario. Puesto que model es de pequeo tamao y no suele cambiar, no es necesario realizar copia de seguridad del registro.

model

Completa (valor predeterminado)

msdb

Simple (valor predeterminado)

Si desea utilizar la informacin del historial de copias de seguridad y 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. El modelo de recuperacin es irrelevante. La copia de seguridad de SQL Server no puede realizar una copia de seguridad de la base de datos Resource. Nota: Puede realizar una copia de seguridad basada en disco o en archivos de la base de datos Resource si trata a Mssqlsystemresource.mdf como si fuese un archivo binario (.exe). No obstante, no puede utilizar la restauracin de SQL Server en estas copias de seguridad.

Resource

Tempdb

Simple

Requiere el modelo de recuperacin simple, de forma que el espacio de registro tempdb se recupera siempre automticamente. No se puede hacer una copia de seguridad de tempdb.

- 38 -

2- Copias de Seguridad
Tipos de Copias de Seguridad Copias de seguridad completas de bases de datos Copias de Seguridad del Registro de Transacciones Copias de Seguridad Diferenciales Copias de Seguridad de Archivos o Grupos de Archivos

Copias de seguridad completas de bases de datos Una copia de seguridad completa de la base de datos crea una copia de seguridad de toda la base de datos, que incluye parte del registro de transacciones para que se pueda recuperar la copia de seguridad completa de la base de datos. Las copias de seguridad completas representan la base de datos en el momento en que finaliz la copia de seguridad. Las copias de seguridad de bases de datos son fciles de utilizar. Una copia de seguridad completa de una base de datos contiene todos los datos de la base de datos. Para las bases de datos pequeas, de las que se puede hacer una copia de seguridad con rapidez, la prctica recomendada es utilizar copias de seguridad completas de la base de datos. Sin embargo, a medida que la base de datos aumenta de tamao, las copias de seguridad completas requieren una mayor cantidad de tiempo y espacio de almacenamiento. Por ello, para una base de datos grande, puede que desee complementar las copias de seguridad completas con copias de seguridad diferenciales.

Copia de seguridad en el modelo de recuperacin completa En el modelo de recuperacin completa se usan copias de seguridad de registros para evitar la prdida de datos en la mayor parte de los casos de error y es necesario realizar copias de seguridad y restaurar el registro de transacciones (copias de seguridad de registros). La ventaja de usar las copias de seguridad de registros reside en que permite restaurar una base de datos a cualquier momento de una copia de seguridad de registros ( recuperacin a un momento dado). Si consideramos que se puede realizar una copia de seguridad del registro activo despus de que ocurra un desastre, se podr restaurar la base de datos al momento del error sin perder datos. Las desventajas de usar las copias de seguridad de registros son que requieren espacio de almacenamiento y aumentan la duracin y la complejidad de las restauraciones. En las bases de datos en que se usa con frecuencia el modelo de recuperacin completa, se pueden optimizar algunas operaciones masivas utilizando temporalmente el modelo de recuperacin por medio de registros de operaciones masivas. El modelo de recuperacin por medio de registros de operaciones masivas impone varias restricciones que hacen que no sea adecuado para su uso diario. 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. Copias de Seguridad del Registro de Transacciones En los modelos de recuperacin completa y por medio de registros de operaciones masivas, es necesario realizar copias de seguridad peridicas de los registros de transacciones ( copias de seguridad de registros) para recuperar datos. Gracias a las copias de seguridad de registros es posible recuperar la base de datos en el punto en que se haya producido el error o en un momento dado. Es aconsejable realizar copias de seguridad de registros suficientemente regulares para ajustarse a los requisitos de su empresa, especficamente a la tolerancia a la prdida de trabajo que una unidad de registro daada podra provocar. La frecuencia adecuada para realizar copias de seguridad de registros vara en funcin de la tolerancia al riesgo de prdida de trabajo y, por otra parte, de la cantidad de copias de seguridad de registros que puede almacenar, administrar y, potencialmente, restaurar. Una copia de seguridad de registros cada 15 30 minutos puede ser suficiente. Si su empresa necesita minimizar el riesgo de prdida de trabajo, piense en la posibilidad de realizar copias de seguridad de registros ms frecuentemente. Al realizar copias de seguridad de registros con ms frecuencia tendr la ventaja aadida de que la frecuencia del truncamiento del registro ser mayor, por lo que los archivos o archivos de registro sern ms pequeos. Antes de crear la primera copia de seguridad de registros, debe crear una copia de seguridad completa, como una copia de seguridad de la base de datos o la primera de un conjunto

- 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.

Administracin de registros de transacciones y modelos de recuperacin Las operaciones de copia de seguridad y restauracin se producen en el contexto de un modelo de recuperacin. Un modelo de recuperacin es una propiedad de base de datos que controla la forma en que se registran las transacciones, si el registro de transacciones requiere que se realice la copia de seguridad y si lo permite, y qu tipos de operaciones de restauracin hay disponibles.

Truncamiento del registro con el modelo de recuperacin completa y por medio de registros de operaciones masivas

- 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.

Cmo funciona el truncamiento del registro El truncamiento no reduce el tamao del archivo de registro fsico. Reducir el tamao fsico de un archivo de registro requiere la reduccin del archivo. El registro de transacciones es un archivo de registro circular. Cuando se crea la base de datos, el archivo de registro lgico empieza por el principio del archivo de registro fsico. Las nuevas entradas del registro se agregan al final del registro lgico y se expanden hacia el final del archivo fsico. El registro de transacciones de una base de datos est asignado a uno o varios archivos fsicos. El Motor de base de datos de SQL Server segmenta cada archivo de registro fsico internamente en una serie de archivos de registro virtuales. El truncamiento del registro libera el espacio en el registro lgico a base de eliminar archivos de registro virtuales inactivos desde el principio del registro lgico. Los archivos de registro virtuales son las unidades de espacio que se pueden reutilizar. Slo se pueden truncar los archivos de registro que contienen nicamente entradas de registro inactivas. La parte activa del registro de transacciones, el registro activo, no puede truncarse ya que se necesita para recuperar la base de datos. El punto de comprobacin ms reciente define el registro activo. El registro se puede truncar hasta ese punto de comprobacin. Cuando se lleva a cabo el punto de comprobacin, la parte inactiva del registro de transacciones se marca como reutilizable. A partir de ese momento, se puede liberar la parte inactiva mediante el truncamiento del registro. El truncamiento libera los archivos de registro virtuales para su reutilizacin. Finalmente, cuando se escribe una nueva entrada en un registro virtual libre, ese archivo de registro virtual pasa de nuevo a estar activo. Una parte de la informacin registrada en un punto de comprobacin es el nmero de secuencia de registro (LSN) de la primera entrada del registro que debe estar presente para una reversin correcta de toda la base de datos. Este LSN se denomina LSN de recuperacin mnimo (MinLSN). El inicio de la parte activa del registro es el registro virtual que contiene el MinLSN. Cuando se trunca un registro de transacciones, slo se liberan para su reutilizacin las entradas del registro por delante de este archivo de registro virtual. En la siguiente ilustracin se muestra un registro de transacciones antes y despus del truncamiento. En la primera ilustracin se muestra un registro de transacciones que no se ha truncado nunca. El registro lgico tiene actualmente cuatro archivos de registro virtuales en uso. El registro lgico empieza por delante del primer archivo de registro virtual y termina en el

- 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.

Cmo funcionan las copias de seguridad diferenciales Este tema es relevante para todos los tipos de base de datos. Una copia de seguridad diferencial se basa en la copia de seguridad completa ms reciente existente. Esto se denomina base del diferencial. Una copia de seguridad diferencial incluye slo los datos que han cambiado desde la ltima base diferencial. El tamao de una copia de seguridad diferencial depende de la cantidad de datos que han cambiado desde la base. Como regla general, cuanto ms antigua sea una base, ms grande ser una nueva copia de seguridad diferencial. Una copia de seguridad diferencial captura el estado de las extensiones modificadas en el momento en que se crea la copia de seguridad. Si crea una serie de copias de seguridad diferenciales, es probable que una extensin actualizada con frecuencia contenga datos diferentes en cada una de las copias diferenciales. A medida que se incrementa el tamao de las copias de seguridad diferenciales, la restauracin de una copia de seguridad diferencial puede incrementar sensiblemente el tiempo necesario para restaurar una base de datos. Por ello, recomendamos que realice una copia de seguridad completa a intervalos definidos para establecer una nueva base diferencial para los datos. Por ejemplo, cada semana podra realizar una copia de seguridad completa de toda la base de datos (es decir, una copia de seguridad completa de la base de datos) seguida de una serie de copias de seguridad diferenciales de la base de datos realizadas peridicamente durante la semana. En la siguiente ilustracin se muestra cmo funciona una copia de seguridad diferencial. La ilustracin muestra 24 extensiones de datos, 6 de las cuales han cambiado. La copia de seguridad diferencial slo contiene estas 6 extensiones de datos. La operacin de copia de seguridad diferencial se basa en una pgina de mapa de bits que contiene un bit por cada extensin. Por cada extensin actualizada desde que se cre la base, el bit se establece en 1 en el mapa de bits.

- 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.

Copias de seguridad diferenciales de archivos Una copia de seguridad diferencial de archivos necesita una copia de seguridad completa de archivos como base. La copia de seguridad diferencial de archivos supone una forma rpida de crear copias de seguridad de archivos actuales y, adems, ocupa poco espacio. En el modelo de recuperacin simple, las copias de seguridad diferenciales de archivos se habilitan nicamente para los grupos de archivos de slo lectura. En el modelo de recuperacin completa, las copias de

- 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. Se recomienda utilizar las copias de seguridad diferenciales de archivos en las siguientes situaciones: A algunos archivos se les hacen copias de seguridad con menor frecuencia que a otros. Los archivos son grandes y los datos se actualizan con poca frecuencia, o bien se actualizan los mismos datos de forma repetida.

Importante: Evite el uso de copias de seguridad de bases de datos diferenciales y de archivos diferenciales en la misma base de datos. Copia de seguridad diferencial de grupos de archivos (filegroups) de slo lectura en bases de datos de lectura y escritura Las copias de seguridad diferenciales de una base de datos de lectura y escritura funcionan correctamente aunque uno de los grupos de archivos fuera de slo lectura cuando se cre la base diferencial. Como con cualquier copia de seguridad diferencial de una base de datos de lectura y escritura, el Motor de base de datos de SQL Server registra la base diferencial en el archivo principal. 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. Copia de seguridad de un grupo de archivos (filegroups) principalmente de slo lectura En un grupo de archivos principalmente de slo lectura, la mayor parte del tiempo el grupo de archivos es de slo lectura pero, ocasionalmente, pasa a ser de lectura y escritura durante breves perodos de mantenimiento. Por ejemplo, un archivo de grupos que normalmente es de slo lectura se puede establecer temporalmente como de lectura y escritura para permitir que los archivos se importen de forma masiva y, posteriormente, se restablece a slo lectura. Una vez se hayan completado las actualizaciones, puede proteger los datos nuevos haciendo una copia de seguridad del grupo de archivos. La recomendacin para esta copia de seguridad vara en funcin de cunto ha cambiado el archivo: Si el grupo de archivos ha cambiado significativamente y sigue siendo de lectura y escritura, realice una copia de seguridad completa de archivos. Dado que el grupo de archivos sigue siendo de lectura y escritura, la operacin de copia de seguridad puede restablecer el mapa de bits diferencial para preparar una serie de copias de seguridad diferenciales nuevas. A continuacin, cambie el grupo de archivos a slo lectura nuevamente y cree inmediatamente una copia de seguridad diferencial de archivos para poder restaurar el grupo de archivos, que ahora es de slo lectura. Si el grupo de archivos no ha cambiado mucho desde la ltima copia de seguridad completa de archivos, asumiendo que existe una copia de seguridad completa de archivos como base diferencial, establezca el grupo de archivos como de slo lectura de nuevo inmediatamente y, a continuacin, cree una copia de seguridad diferencial de archivos. Nota: La propiedad IsReadOnly se establece en un grupo de archivos, no en archivos individuales. Si un grupo de archivos es de slo lectura (es decir, si la propiedad IsReadOnly es TRUE para el grupo de archivos), todos los archivos del grupo son de slo lectura.

- 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.

Crear una copia de seguridad diferencial de archivos La sintaxis de BACKUP necesaria para crear una copia de seguridad diferencial de archivos es: BACKUP DATABASE database_name <file_or_filegroup> [ ,...n] TO <backup_device> WITH DIFFERENTIAL Tambin puede utilizar la herramienta SQL Server Management Studio

- 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. Para copias de seguridad diferenciales, si se agregaron archivos a la base de datos desde la base diferencial, la restauracin de una copia de seguridad diferencial podra sobrescribir pginas del conjunto de puestas al da con datos de la copia de seguridad diferencial. La restauracin de una copia de seguridad diferencial slo actualiza una pgina si sta est en el conjunto de puestas al da; la pgina se incluye en la copia de seguridad y la instruccin RESTORE muestra la pgina o su archivo o no muestra ningn archivo ni pgina. Con los modelos de recuperacin completa y de recuperacin por medio de registros de operaciones masivas, se debe realizar una copia de seguridad independiente del registro. Despus de restaurar copias de seguridad de datos y (opcionalmente) diferenciales, en general debera restaurar las copias de seguridad de registros subsiguientes para llevar la base de datos al punto de error. Restaurar una copia de seguridad de registros pone al da todas las pginas del conjunto de puestas al da.

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.

Fase de copia de datos La primera fase de todo proceso de restauracin es la fase de copia de datos. La fase de copia de datos inicializa el contenido de la base de datos, los archivos o las pginas que se restauran. Esta fase se realiza mediante las operaciones de restaurar la base de datos, restaurar archivos y restaurar pginas utilizando copias de seguridad completas o diferenciales. La fase de copia de datos implica copiar datos de una o ms copias de seguridad completas y, de forma opcional, copias de seguridad diferenciales y, a continuacin, restablecer el contenido de la base de datos, los archivos o las pginas afectados en el momento en que fueron capturados por esas copias de seguridad. El archivo o la pgina ms antiguo del conjunto de puestas al da determina el punto de inicio de la siguiente fase: rehacer (puesta al da). Fase de rehacer (puesta al da) Rehacer (o puesta al da) es el proceso de rehacer los cambios registrados hasta los datos del conjunto de puestas al da para avanzar los datos en el tiempo. Para llevar a cabo la puesta al da, el Motor de base de datos de SQL Server procesa las copias de seguridad de registros conforme se restauran, empezando por el registro contenido en las copias de seguridad completas. La restauracin evita las puestas al da innecesarias. Generalmente, si los datos eran de slo lectura cuando se realiz la copia de seguridad y han permanecido como de slo lectura, la puesta al da es innecesaria y se omite. El objetivo de la puesta al da es devolver los datos a su estado original en el punto de recuperacin. El punto de recuperacin es el punto hasta el que el usuario especifica que debe recuperarse el conjunto de datos. Con el modelo de recuperacin completa, puede especificar el punto de recuperacin como un momento determinado, una transaccin marcada o un nmero de secuencia de registro. Con el modelo de recuperacin por medio de registros de operaciones masivas, slo puede realizar la restauracin a un momento dado si no se ha realizado ninguna operacin masiva desde la copia de seguridad de registros anterior. En la fase de rehacer, los datos siempre se ponen al da hasta un punto que es coherente para rehacer con el estado de la base de datos en el punto de recuperacin. Todos los datos se han puesto al da hasta un punto en el que se puede realizar la operacin de deshacer. El archivo principal define el estado de la base de datos, como se indica a continuacin: Si el archivo principal se est restaurando, el punto de recuperacin determina el estado de toda la base de datos. Por ejemplo, si una base de datos se est recuperando a un momento dato justo antes de que la tabla se quitara accidentalmente, toda la base de datos debe restaurarse al mismo momento dado. Si el archivo principal no se est restaurando, el estado de la base de datos es conocido y los datos restaurados se ponen al da hasta un punto de recuperacin transaccionalmente coherente con la base de datos. SQL Server lo exige.

- 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. Fase de deshacer (revertir) y recuperacin Despus de que la fase de rehacer haya puesto al da todas las transacciones del registro, una base de datos suele contener los cambios realizados por las transacciones no confirmadas en el punto de recuperacin. Esto convierte los datos puestos al da en transaccionalmente incoherentes. El proceso de recuperacin abre el registro de transacciones para identificar las transacciones no confirmadas. Las transacciones no confirmadas se deshacen mediante la reversin, a menos que mantengan bloqueos que eviten que otras transacciones vean datos transaccionalmente incoherentes. Este paso se denomina fase de deshacer (o revertir). Si los datos ya son transaccionalmente coherentes al inicio del proceso de recuperacin, la fase de deshacer se omitir. Despus de que la base de datos sea transaccionalmente coherente, la recuperacin conecta la base de datos. 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.

Opciones RECOVERY y NORECOVERY Una instruccin RESTORE especfica termina despus de la fase de rehacer o contina con la fase de deshacer, segn si la instruccin especific WITH NORECOVERY, de la manera siguiente: WITH RECOVERY: Recupera la base de datos e incluye las fases de rehacer y deshacer; no se pueden restaurar otras copias de seguridad. Es el valor predeterminado. Si el conjunto de puestas al da no se ha puesto al da lo suficiente para ser coherente con la base de datos, la fase de deshacer no se podr producir. El Motor de base de datos emitir un error y la recuperacin se detendr. Si todo el conjunto de puestas al da es coherente con la base de datos, se realizar la recuperacin y se podr conectar la base de datos. WITH NORECOVERY: Omite la fase de deshacer para preservar las transacciones no confirmadas. Al omitir la fase de deshacer, se pueden restaurar otras copias de seguridad para poner al da la base de datos a un momento posterior. A veces,

- 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.

Restaurar una base de datos cuando SQL Server no est conectado Es posible restaurar y recuperar una base de datos mediante SQL Writer mientras SQL Server no est conectado si no hay ningn catlogo de texto. Si hay un catlogo de texto asociado a una base de datos, primero es necesario iniciar SQL Server o detener el servicio Motor de texto completo de Microsoft para SQL Server ( MSFTESQL). Al ejecutarse, SQL Server obliga a cerrar los archivos del catlogo de texto como preparacin para la operacin de restauracin. Sin embargo, si SQL Server est sin conexin, es posible que MSFTESQL mantenga abiertos determinados archivos de texto. As se evita que la aplicacin de restauracin los sobrescriba. Para obligar a esos archivos de texto a cerrarse, una aplicacin puede apagar MSFTESQL. 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.
Escenario de restauracin Restauracin completa de la base de datos Modelos de recuperacin completa o por medio de registros de operaciones masivas Es la estrategia de restauracin bsica. Una restauracin completa de una base de datos supone restaurar una copia de seguridad completa de base de datos y, opcionalmente, una copia de seguridad diferencial (si existe), adems de restaurar todas las copias de seguridad de registros posteriores (en orden secuencial). La restauracin completa de base de datos finaliza al recuperar la ltima copia de seguridad de registros y restaurarla (RESTORE WITH RECOVERY). Restaura uno o ms archivos, sin restaurar la base de datos completa. La restauracin de archivos puede realizarse mientras la base de datos est desconectada o, en algunas versiones de SQL Server 2005, cuando est conectada. Durante la restauracin de archivos, los grupos de archivos en los que se incluyen los archivos en cuestin permanecen siempre desconectados. Restaura una o ms pginas daadas. La restauracin de pginas puede realizarse mientras la base de datos est desconectada o,

Modelo de recuperacin simple Es la estrategia de restauracin bsica. Una restauracin de base de datos completa puede implicar simplemente la restauracin y recuperacin de una copia de seguridad completa de base de datos. Por otra parte, una restauracin de base de datos completa puede consistir en restaurar una copia de seguridad completa de base de datos y, luego, restaurar y recuperar una copia de seguridad diferencial.

Restauracin de archivos*

Restauracin de uno o ms archivos de slo lectura daados, sin restaurar la base de datos completa. La restauracin de archivos est disponible slo si la base de datos tiene como mnimo un grupo de archivos de slo lectura.

Restauracin de pginas

No aplicable

- 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. Es preciso que haya disponible una cadena intacta de copias de seguridad de registros, hasta el archivo de registro actual, y deben aplicarse todas a fin de actualizar la pgina segn el archivo de registro actual. Restauracin por etapas * Restauracin y recuperacin de la base de datos por etapas a nivel de grupo de archivos, empezando por el grupo de archivos principal y todos los grupos de archivos secundarios de lectura y escritura. Restauracin y recuperacin de la base de datos por etapas a nivel del grupo de archivos, empezando por el grupo de archivos principal.

* 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.

Modelos de recuperacin y operaciones de restauracin admitidas Las operaciones de restauracin disponibles para una base de datos dependen de su modelo de recuperacin. En la tabla siguiente se resumen todos los modelos de recuperacin y las diferentes situaciones de restauracin en las que funcionaran.
Modelo de recuperacin por Modelo de recuperacin medio de registros de completa operaciones masivas Recuperacin completa (si el registro est disponible). Existe el riesgo de perder algunos datos.

Operacin de restauracin Recuperacin de datos

Modelo de recuperacin simple Se perdern los datos desde la ltima copia de seguridad completa o diferencial. No compatible.

Restauracin a un momento dado

Cualquier momento cubierto por las copias de seguridad de registros. Totalmente compatible.

No est permitida si la copia de seguridad de registros contiene algn cambio registrado de forma masiva. A veces*

Restauracin de archivos*

Slo est disponible para archivos secundarios de slo lectura. Ninguna.

Restauracin de pginas* Restauracin por etapas (de grupos de archivos)*

Totalmente compatible.

A veces

Totalmente compatible.

A veces

Slo est disponible para archivos secundarios de slo lectura.

- 53 -

* Slo disponible en SQL Server 2005 Enterprise Edition.

Restaurar una copia de seguridad completa de la base de datos La sintaxis RESTORE bsica para restaurar una copia de seguridad de la base de datos es: RESTORE DATABASE nombre_basedatos FROM dispositivo [ WITH NORECOVERY ] Nota: Use WITH NORECOVERY si tambin desea restaurar una copia de seguridad diferencial de la base de datos.

Restauracin de base de datos completa (modelo de recuperacin simple) El objetivo de una restauracin completa de la base de datos es restaurar la base de datos completa. Durante el proceso de restauracin, la base de datos completa se encuentra sin conexin. Antes de que ninguna parte de la base de datos tenga conexin, se recuperan todos los datos a un punto coherente en el que todas las partes de la base de datos se encuentran en el mismo momento y en el que no existe ninguna transaccin sin confirmar. En el modelo de recuperacin simple, no se puede restaurar la base de datos a un momento concreto de una copia de seguridad especfica. Una restauracin completa de base de datos con el modelo de recuperacin simple implica una o dos instrucciones RESTORE, en funcin de si se debe restaurar o no una copia de seguridad diferencial de la base de datos. Si slo usa copias de seguridad completas de la base de datos, restaure slo la copia de seguridad ms reciente. Si tambin usa una copia de seguridad diferencial de la base de datos, restaure la copia de seguridad completa ms reciente de la base de datos sin recuperar la base de datos y, a continuacin, restaure la copia de seguridad diferencial ms reciente de la base de datos y recupere la base de datos. Al restaurar completamente una base de datos, debe utilizar una nica secuencia de restauracin. En el siguiente ejemplo se muestran las opciones crticas de una secuencia de restauracin en un escenario de restauracin de base de datos completa. Una secuencia de restauracin est formada por una o ms operaciones de restauracin que mueven los datos mediante una o varias fases de restauracin. La sintaxis y los detalles no relevantes para este propsito se omiten. La base de datos se restaura a su estado de copia de seguridad completa de base de datos. Al recuperar una base de datos, se recomienda especificar explcitamente la opcin RECOVERY por motivos de claridad, aunque es la opcin predeterminada. 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 -- Back up Completo de la base de datos AdventureWorks. BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'

- 54 -

WITH FORMAT; GO --Crea Backuo diferencial. BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' WITH DIFFERENTIAL; GO -- Restauracin completa del backup completo. RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' WITH FILE=1, NORECOVERY; -- Restauracin diferencial. RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' WITH FILE=2, RECOVERY; GO

Restauracin por etapas de la base de datos (modelo de recuperacin completa) En una secuencia de restauracin por etapas se restaura y recupera una base de datos en fases en el nivel del grupo de archivos, empezando con los grupos de archivos principales, los de lectura y escritura, y los secundarios. En este ejemplo, la base de datos adb se restaura en un nuevo equipo despus de un desastre. La base de datos est utilizando el modelo de recuperacin completa, por lo que, antes de iniciar la restauracin, debe crearse una copia de seguridad de registros despus del error de la base de datos. Antes del desastre, todos los grupos de archivos estn conectados. El grupo de archivos B es de slo lectura. Se deben restaurar todos los grupos de archivos secundarios, pero por orden de importancia: A (el de mayor importancia), C y, por ltimo, B. En este ejemplo, hay cuatro copias de seguridad de registros, incluida la copia de seguridad de registros despus del error. Antes de restaurar la base de datos, el administrador debe realizar una copia de seguridad de registros despus del error. Dado que la base de datos est daada, esta copia de seguridad debe crearse con la opcin NO_TRUNCATE: BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE La copia de seguridad de registros despus del error es la ltima copia de seguridad que se aplica en las secuencias de restauracin siguientes. a. Restauracin parcial del grupo de archivos principal y secundario A: RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM backup4 WITH NORECOVERY RESTORE LOG adb FROM backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY

- 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: RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM backup4 WITH NORECOVERY RESTORE LOG adb FROM backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY 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. c. Restauracin con conexin del grupo de archivos B. En la tercera secuencia de restauracin, el administrador de la base de datos restaura el grupo de archivos B. 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 ponerlo al da durante la recuperacin. RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY

Restauracin por etapas para algunos grupos de archivos (modelo de recuperacin simple) En una secuencia de restauracin por etapas restaura y recupera una base de datos en fases en el nivel del grupo de archivos, empezando con los grupos de archivos principales y todos los secundarios de lectura y escritura. En este ejemplo, la base de datos adb se restaura en un nuevo equipo despus de un desastre. La base de datos utiliza el modelo de recuperacin simple. Antes del desastre, todos los grupos de archivos estn conectados. Los grupos de archivos A y C son de lectura y escritura, y el grupo de archivos B es de slo lectura. El grupo de archivos B pas a ser de slo lectura antes de la copia de seguridad parcial ms reciente, que contiene el grupo de archivos principal y los grupos de archivos secundarios de lectura y escritura, A y C. Despus de que el grupo de archivos B pasara a ser de slo lectura, se realiz una copia de seguridad de archivos independiente del grupo de archivos B. a. Restauracin parcial del grupo de archivos principal y los grupos de archivos A y C. RESTORE DATABASE adb FILEGROUP='A',FILEGROUP='C' FROM partial_backup WITH PARTIAL, RECOVERY; 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; Todos los grupos de archivos estn ahora conectados.

Restauracin por etapas para algunos grupos de archivos (modelo de recuperacin completa) En una secuencia de restauracin por etapas restaura y recupera una base de datos en fases en el nivel del grupo de archivos, empezando con los grupos de archivos principales y todos los secundarios de lectura y escritura. En este ejemplo, una base de datos llamada adb, que utiliza el modelo de recuperacin completa, contiene tres grupos de archivos. El grupo de archivos A es de lectura y escritura, mientras que los grupos de archivos B y C son de slo lectura. Inicialmente, los tres estn conectados. Parece que el grupo de archivos principal y el B de la base de datos adb estn daados. El grupo de archivos principal es bastante ms que pequeo y puede restaurarse con rapidez. El administrador de la base de datos decide restaurarlos utilizando una secuencia de restauracin por etapas. En primer lugar se restauran el grupo de archivos principal y los registros de transacciones posteriores y luego se recupera la base de datos. Los grupos de archivos intactos A y C incluyen informacin fundamental. Por lo tanto, se recuperarn a continuacin para conectarlos tan pronto como sea posible. Por ltimo, se restaurar y recuperar el grupo de archivos secundario daado, el B. 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. BACKUP LOG adb TO tailLogBackup WITH NORECOVERY b. Restauracin parcial del grupo de archivos principal. RESTORE DATABASE adb FILEGROUP='Primary' FROM backup WITH PARTIAL, NORECOVERY RESTORE LOG adb FROM backup1 WITH NORECOVERY RESTORE LOG adb FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY 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. c. Restauracin con conexin de los grupos de archivos A y C. 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. RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY 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. d. Restauracin con conexin del grupo de archivos B.

- 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. RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY Ahora todos los grupos de archivos estn conectados.

Restauracin con conexin de un archivo de slo lectura (modelo de recuperacin simple) El modelo de recuperacin simple permite restaurar un archivo de slo lectura con conexin si existe una copia de seguridad realizada despus de que el archivo pasara a ser de slo lectura por ltima vez. En este ejemplo, la base de datos adb contiene tres grupos de archivos. El grupo de archivos A es de lectura y escritura, mientras que los grupos de archivos B y C son de slo lectura. Inicialmente, los tres estn conectados. Se debe restaurar el archivo de slo lectura b1 del grupo de archivos B. El administrador de la base de datos puede restaurarlo mediante una copia de seguridad realizada despus de que el archivo pasara a ser de slo lectura. Durante la restauracin, el grupo de archivos B permanecer sin conexin, pero el resto de la base de datos estar conectada. Para restaurar el archivo, el administrador de la base de datos utiliza la siguiente secuencia de restauracin: RESTORE DATABASE adb FILE='b1' FROM filegroup_B_backup WITH RECOVERY Ahora el archivo est conectado.

Aplicar copias de seguridad del registro de transacciones Este tema slo es relevante para el modelo de recuperacin completa o para el modelo de recuperacin optimizado para cargas masivas de registros. En este tema se describe la aplicacin de copias de seguridad del registro de transacciones como parte de la restauracin de una base de datos de SQL Server. Para aplicar una copia de seguridad del registro de transacciones, deben cumplirse los requisitos siguientes: Primero debe restaurarse la copia de seguridad diferencial de la base de datos o la copia de seguridad completa inmediatamente anterior de la base de datos. Todos los registros de transacciones creados despus de esa copia de seguridad completa o diferencial de la base de datos deben restaurarse en orden cronolgico. Si se pierde o se daa una copia de seguridad del registro de transacciones en esta cadena de registros, slo puede restaurar los registros de transacciones anteriores al registro de transacciones que falta. Todava no se ha recuperado la base de datos. No se puede recuperar la base de datos hasta que se haya aplicado el registro de transacciones final. Si recupera la base de datos despus de restaurar una de las copias de seguridad intermedias del registro de transacciones, anterior al final de la cadena de registros, no podr restaurar la base de datos ms all de ese punto sin reiniciar toda la secuencia de restauracin, empezando por la copia de seguridad completa de la base de datos.

Registros de transacciones y recuperacin

- 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: RESTORE LOG nombre_basedatos FROM <dispositivo> WITH NORECOVERY A continuacin, despus de restaurar la ltima copia de seguridad de registros, recupere la base de datos en una operacin aparte: RESTORE DATABASE nombre_basedatos WITH RECOVERY

Cmo restaurar a un momento dado (SQL Server Management Studio) Este tema slo es relevante para las bases de datos que utilizan los modos de recuperacin completa o por medio de registros de operaciones masivas. Despus de conectarse a la instancia adecuada del Motor de base de datos de SQL Server de Microsoft, en el Explorador de objetos, haga clic en el nombre del servidor para expandir el rbol. Expanda Bases de datos. En funcin de la base de datos, seleccione una base de datos de usuario o expanda Bases de datos del sistema y, a continuacin, seleccione una base de datos del sistema. Haga clic con el botn secundario en la base de datos, seleccione Tareas y, a continuacin, haga clic en Restaurar. En funcin de si est restaurando copias de seguridad de datos o slo registros de transacciones (para una base de datos que ya est en estado de restauracin), haga clic en Base de datos o en Registro de transacciones. En la pgina General, el nombre de la base de datos en restauracin aparecer en el cuadro de lista A una base de datos. Para crear una nueva base de datos, escriba su nombre en el cuadro de lista. La ubicacin de la opcin A un momento dado depende de si est restaurando copias de seguridad de datos o slo copias de seguridad del registro de transacciones: o Restaurar base de datos: la opcin A un momento dado en la seccin Destino de la restauracin. o Restaurar registro de transacciones: la opcin A un momento dado en la seccin Restaurar en. El momento dado predeterminado es Lo ms reciente posible. Para seleccionar una fecha y hora especficas, haga clic en el botn Examinar (...). Haga clic en Fecha y hora especficas en el cuadro de dilogo Restauracin a un momento dado.

- 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. El escenario de restauracin con conexin implica los siguientes pasos bsicos: o Restaure los datos.

- 61 -

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. Importante: Si las copias de seguridad se realizaron con varios dispositivos conectados al servidor, ser necesario que los mismos dispositivos estn disponibles durante una restauracin con conexin.

Copias de seguridad de registros para una restauracin en lnea En el caso de una restauracin en lnea, el punto de recuperacin es el punto donde se dejaron sin conexin los datos que se van a restaurar o se convirtieron en datos de slo lectura por ltima vez. Las copias de seguridad del registro de transacciones que llevan a este punto de recuperacin y lo incluyen deben estar todas disponibles. Normalmente, es necesario hacer una copia de seguridad de registros despus de ese punto para cubrir el punto de recuperacin del archivo. La nica excepcin tiene lugar durante una restauracin con conexin de datos de slo lectura a partir de una copia de seguridad de datos que se realiz despus de que los datos pasaran a ser de slo lectura. En ese caso, no es necesario disponer de una copia de seguridad de registros. En general, puede realizar copias de seguridad del registro de transacciones mientras la base de datos est en lnea, incluso despus de iniciar la secuencia de restauracin. El momento oportuno para la realizacin de la ltima copia de seguridad de registros depende de las propiedades del archivo que se va a restaurar: En el caso de un archivo con conexin de slo lectura, puede realizar la ltima copia de seguridad de registros necesaria para la recuperacin antes o durante la primera secuencia de restauracin. Un grupo de archivos de slo lectura no necesita copias de seguridad de registros si se realiz una copia de seguridad de datos o diferencial despus de haber configurado el grupo de archivos como de slo lectura. La informacin anterior se puede aplicar tambin a todos los archivos sin conexin. Un caso especial es un archivo de lectura y escritura que estaba con conexin cuando se emiti la primera instruccin de restauracin y que, a continuacin, dicha instruccin dej sin conexin automticamente. En este caso, debe realizar una copia de seguridad de registros durante la primera secuencia de restauracin (secuencia de una o varias instrucciones RESTORE que restauran, ponen al da y recuperan los datos). Por lo general, esta copia de seguridad de registros debe tener lugar despus de que se hayan restaurado todas las copias de seguridad completas y antes de recuperar los datos. No obstante, si hay varias copias de seguridad de archivos para un grupo de archivos concreto, el punto mnimo de copia de seguridad de registros es despus de que el grupo de archivos quede sin conexin. Esta copia de seguridad de registros posterior a la restauracin de datos capta el punto en el que se dej el archivo sin conexin y es necesaria porque el Motor de base de datos de SQL Server no puede utilizar un registro en lnea para una restauracin con conexin.

Desconectar una base de datos o un archivo Si no desea utilizar la restauracin con conexin, puede desconectar la base de datos antes de iniciar la secuencia de restauracin; para ello, puede usar uno de los mtodos siguientes:

- 62 -

En todos los modelos de recuperacin puede desconectar la base de datos utilizando la siguiente instruccin ALTER DATABASE: ALTER DATABASE database_name SET OFFLINE Si lo desea, en el modelo de recuperacin completa, puede forzar que la restauracin de un archivo o una pgina sea sin conexin; para ello, utilizando la siguiente instruccin BACKUP LOG la base de datos se pone en el estado de restauracin: BACKUP LOG database_name WITH NORECOVERY. 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
Proteger SQL Server La proteccin de SQL Server implica: Seguridad de la plataforma y de la red: La plataforma de SQL Server incluye el hardware fsico y los sistemas de redes que conectan los clientes con los servidores de base de datos, as como los archivos binarios que se utilizan para procesar solicitudes de base de datos. Seguridad Fsica: Las recomendaciones de seguridad fsica limitan de forma estricta el acceso al servidor fsico y a los componentes de hardware. Por ejemplo, use salas cerradas de acceso restringido para el hardware de servidor de base de datos y los dispositivos de red. Adems, limite el acceso a los medios de copia de seguridad almacenndolos en una ubicacin segura fuera de las instalaciones. La implementacin de la seguridad de la red fsica comienza por mantener a los usuarios no autorizados fuera de la red.

Protocolos de Red y Extremos TDS Cuando el Motor de base de datos de SQL Server se comunica con una aplicacin, asigna a la comunicacin un formato denominado paquete de secuencia de datos tabular (TDS) de Microsoft. La capa del protocolo de interfaz de red de SQL Server (SNI), que reemplaza las bibliotecas de red por SQL Server y Microsoft Data Access Components (MDAC), encapsula el paquete TDS dentro de un protocolo de comunicacin estndar, como TCP/IP o canalizaciones con nombre (named pipes). La capa del protocolo SNI es comn al Motor de base de datos y SQL Native Client. La capa del protocolo SNI no se configura directamente. En su lugar, el servidor y SQL Native Client se configuran para utilizar un protocolo de red. A continuacin, el Motor de base de datos y SQL Native Client aplican automticamente la configuracin apropiada del protocolo. El servidor crea un objeto de SQL Server llamado extremo TDS para cada protocolo de red. En el servidor, SQL Server instala los extremos TDS durante la instalacin de SQL Server. En el equipo cliente, SQL Native Client debe instalarse y configurarse para que utilice un protocolo de red habilitado en el servidor.

Habilitar Protocolos de Servidor despus de la Instalacin Los protocolos de red subyacentes del sistema operativo (como TCP/IP) deberan estar instalados en el cliente y el servidor. Normalmente, los protocolos de red se instalan durante la instalacin de Microsoft Windows; no forman parte de la instalacin de SQL Server. Si el protocolo de red necesario no est disponible ni configurado en el servidor, el Motor de base de datos no se iniciar. Si el protocolo de red necesario no est disponible ni configurado en el cliente, la biblioteca de red no funcionar. De aqu en adelante, "habilitar un protocolo" quiere decir habilitarlo para SQL Server, no para el sistema operativo. Los protocolos de red necesarios para comunicarse con SQL Server 2005 desde otro equipo a menudo no estn habilitados para SQL Server durante la instalacin. Por tanto, para conectarse desde un equipo cliente, es posible que tenga que habilitar los protocolos TCP/IP, canalizaciones con nombre o VIA. El protocolo de memoria compartida se habilita de forma predeterminada en todas las instalaciones, pero slo puede utilizarse para conectar con el Motor de base de datos desde una aplicacin cliente en el mismo equipo. Para habilitar los protocolos de red, utilice la herramienta de Configuracin de Superficie o el Administrador de Configuracin de SQL Server. Los protocolos tambin pueden habilitarse durante la instalacin utilizando opciones en el smbolo del sistema.

- 65 -

Una vez instaladas y configuradas las conexiones de red, SQL Server puede escuchar simultneamente en cualquier combinacin de protocolos de red del servidor.

Definicin de los Extremos TDS Un extremo TDS es el objeto de SQL Server que representa el punto de comunicacin entre SQL Server y un cliente. SQL Server crea de forma automtica un extremo para cada uno de los cuatro protocolos admitidos por SQL Server. De forma predeterminada, todos los usuarios tienen acceso a los protocolos cuando estn habilitados. Si un protocolo de red no est habilitado, el extremo se mantiene, pero no puede utilizarse. Para la conexin de administrador dedicada (DAC), se crear un extremo adicional que slo pueden utilizar los miembros de la funcin fija de servidor sysadmin. SQL Server genera un nombre nico para cada extremo TDS. La tabla siguiente muestra los extremos que se crean automticamente.
Finalidad Memoria compartida Canalizaciones con nombre TCP/IP VIA DAC HTTP Nombre del extremo TSQL LocalMachine TSQL Named Pipes TSQL Default TCP TSQL Default VIA Dedicated Admin Connection HyperText Transport Protocol

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.

Restringir el Acceso a la Red Los usuarios y administradores deben ser autenticados por el sistema operativo Microsoft Windows para poder obtener acceso a los datos de Microsoft SQL Server 2005. El sistema operativo Windows permite a todos los usuarios autenticados obtener acceso a un servidor miembro desde la red. Sin embargo, de forma predeterminada, los miembros del grupo Everyone tambin tienen permiso para obtener acceso a los servidores miembro. El grupo Everyone incluye los usuarios annimos.

- 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.

Seguridad del Sistema Operativo Los Service Packs y las actualizaciones del sistema operativo incluyen mejoras de seguridad importantes. Aplique todas las revisiones y actualizaciones al sistema operativo despus de probarlas con las aplicaciones de base de datos. Los firewalls tambin proporcionan formas eficaces de implementar la seguridad. Lgicamente, un firewall es un separador o limitador del trfico de red, que puede configurarse para aplicar la directiva de seguridad de datos de su organizacin. El uso de un firewall aumenta la seguridad del sistema operativo ya que proporciona un punto de arranque en el que pueden centrarse las medidas de seguridad. La reduccin de la superficie es una medida de seguridad que implica detener o deshabilitar componentes no utilizados. La reduccin de la superficie ayuda a mejorar la seguridad al proporcionar menos accesos para ataques potenciales al sistema. La clave para limitar la superficie de SQL Server consiste en ejecutar los servicios requeridos con "privilegios mnimos" mediante la concesin de los derechos necesarios nicamente a los servicios y usuarios. Si el sistema SQL Server usa los Servicios de Internet Information Server (IIS), es necesario realizar pasos adicionales para proteger la superficie de la plataforma.

- 67 -

2- Introduccin a la Seguridad de SQL Server


Entidades de Seguridad y Seguridad de objetos de base de datos Las entidades de seguridad son los individuos, grupos y procesos que tienen acceso a SQL Server. Los asegurables son el servidor, la base de datos y los objetos incluidos en la base de datos. Cada uno de estos elementos dispone de un conjunto de permisos que pueden configurarse para minimizar an ms la superficie de SQL Server.

Entidades de Seguridad (Principals) Las entidades de seguridad son entidades que pueden solicitar recursos de SQL Server. Igual que otros componentes del modelo de autorizacin de SQL Server, las entidades de seguridad se pueden organizar en jerarquas. El mbito de influencia de una entidad de seguridad depende del mbito de su definicin: Windows, servidor o base de datos; y de si la entidad de seguridad es indivisible o es una coleccin. Un Inicio de sesin de Windows es un ejemplo de entidad de seguridad indivisible y un Grupo de Windows es un ejemplo de una del tipo coleccin. Toda entidad de seguridad tiene un identificador de seguridad (SID). Entidades de seguridad a nivel de Windows: Inicio de sesin del dominio de Windows Inicio de sesin local de Windows Entidades de seguridad a nivel de SQL Server Inicio de sesin de SQL Server Entidades de seguridad a nivel de bases de datos Usuario de base de datos Funcin de base de datos Funcin de aplicacin

Inicio de Sesin sa de SQL Server El inicio de sesin sa de SQL Server es una entidad de seguridad de nivel de servidor. Se crea de forma predeterminada cuando se instala una instancia. En Microsoft SQL Server 2005, la base de datos predeterminada de sa es master. Esto es un cambio de comportamiento con respecto a versiones anteriores de Microsoft 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. Servidor: Incluye los asegurables siguientes: Extremo Inicio de sesin

- 68 -

Base de datos Base de Datos: Incluye los asegurables siguientes: Usuario Funcin Funcin de aplicacin Ensamblado Tipo del mensaje Ruta Servicio Enlace de servicio remoto Catlogo de texto Certificado Clave asimtrica Clave simtrica Contrato Esquema Esquema: Incluye los asegurables siguientes: Tipo Coleccin de esquemas XML Objeto

Objetos Los elementos siguientes son miembros de la clase de objeto: Agregado Restriccin Funcin Procedimiento Cola Estadstica Sinnimo Tabla Vista

Funciones (Roles) de Nivel de Servidor (Server Fixed Roles) Las funciones fijas de servidor abarcan todo el mbito del servidor. Cada miembro de una funcin fija de servidor puede agregar otros inicios de sesin a esa misma funcin. Las funciones fijas de servidor se pueden asignar a los permisos ms especficos que se incluyen en SQL Server 2005. La siguiente tabla describe la asignacin de funciones fijas de servidor a permisos.
Funcin fija de servidor bulkadmin dbcreator diskadmin processadmin securityadmin Permiso en el servidor Se le concede: ADMINISTER BULK OPERATIONS Se le concede: CREATE DATABASE Se le concede: ALTER RESOURCES Se le concede: ALTER ANY CONNECTION, ALTER SERVER STATE Se le concede: ALTER ANY LOGIN

- 69 -

serveradmin setupadmin sysadmin

Se le concede: ALTER ANY ENDPOINT, ALTER RESOURCES, ALTER SERVER STATE, ALTER SETTINGS, SHUTDOWN, VIEW SERVER STATE Se le concede: ALTER ANY LINKED SERVER Se le concede con la opcin GRANT: CONTROL SERVER

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.

Funciones (Roles) en el Nivel de Base de Datos Las funciones fijas de base de datos se definen en el nivel de base de datos y existen en cada una de ellas. Los miembros de las funciones de base de datos db_owner y db_securityadmin pueden administrar a los miembros de una funcin fija de base de datos; sin embargo, slo los miembros de una funcin de base de datos db_owner pueden agregar miembros a la funcin fija de base de datos db_owner. Las funciones fijas de base de datos se pueden asignar a permisos ms detallados que se incluyen en SQL Server 2005. La tabla siguiente describe la asignacin de funciones fijas de base de datos a permisos.
Funcin fija de base de datos db_accessadmin Permiso en la base de datos Concedido: ALTER ANY USER, CREATE SCHEMA Permiso en el servidor Concedido: VIEW ANY DATABASE

db_accessadmin db_backupoperator

Concedido con la opcin GRANT: CONNECT Concedido: BACKUP DATABASE, BACKUP LOG, CHECKPOINT Concedido: VIEW ANY DATABASE Concedido: VIEW ANY DATABASE Concedido: VIEW ANY DATABASE Concedido: VIEW ANY DATABASE

db_datareader

Concedido: SELECT

db_datawriter

Concedido: DELETE, INSERT, UPDATE

db_ddladmin

Concedido: ALTER ANY ASSEMBLY, ALTER ANY ASYMMETRIC KEY, ALTER ANY CERTIFICATE, ALTER ANY CONTRACT, ALTER ANY DATABASE DDL TRIGGER, ALTER ANY DATABASE EVENT, 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 Denegado: SELECT

db_denydatareader

Concedido: VIEW ANY DATABASE

- 70 -

db_denydatawriter db_owner

Denegado: DELETE, INSERT, UPDATE Concedido con la opcin GRANT: CONTROL Concedido: VIEW ANY DATABASE Concedido: VIEW ANY DATABASE Concedido: VIEW ANY DATABASE

db_securityadmin

Concedido: ALTER ANY APPLICATION ROLE, ALTER ANY ROLE, CREATE SCHEMA, VIEW DEFINITION Concedido: VIEW el estado ms reciente en el Monitor de creacin de reflejo de la base de datos Nota: La funcin fija de base de datos dbm_monitor se crea en la base de datos msdb cuando se registra la primera base de datos en el Monitor de creacin de reflejo de la base de datos. La nueva funcin dbm_monitor no tiene miembros hasta que un administrador del sistema asigne usuarios a la funcin.

dbm_monitor

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.

Permisos a Nivel de Servidor Un servidor ocupa el nivel ms alto en la jerarqua de permisos. En la siguiente tabla se muestran los permisos ms especficos y limitados que pueden concederse en un servidor.
Permiso de servidor ADMINISTER BULK OPERATIONS ALTER ANY CONNECTION Implicado por el permiso de servidor CONTROL SERVER CONTROL SERVER

- 72 -

ALTER ANY CREDENTIAL ALTER ANY DATABASE ALTER ANY ENDPOINT ALTER ANY EVENT NOTIFICATION ALTER ANY LINKED SERVER ALTER ANY LOGIN ALTER RESOURCES ALTER SERVER STATE ALTER SETTINGS ALTER TRACE AUTHENTICATE SERVER CONNECT SQL CONTROL SERVER CREATE ANY DATABASE CREATE DDL EVENT NOTIFICATION CREATE ENDPOINT CREATE TRACE EVENT NOTIFICATION EXTERNAL ACCESS ASSEMBLY SHUTDOWN UNSAFE ASSEMBLY VIEW ANY DATABASE VIEW ANY DEFINITION VIEW SERVER STATE

CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER ALTER ANY DATABASE ALTER ANY EVENT NOTIFICATION ALTER ANY ENDPOINT ALTER ANY EVENT NOTIFICATION CONTROL SERVER CONTROL SERVER CONTROL SERVER VIEW ANY DEFINITION CONTROL SERVER ALTER SERVER STATE

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 b. Conceder un permiso que dispone del permiso GRANT

- 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 Permisos a Nivel de Base de Datos Una base de datos es un elemento que puede protegerse, que contiene el servidor, que es su entidad primaria en la jerarqua de permisos. La mayora de permisos limitados y especficos que se pueden conceder en una base de datos se muestran en la siguiente tabla, junto con permisos ms generales que los incluyen por implicacin.
Permiso de base de datos ALTER ALTER ANY APPLICATION ROLE ALTER ANY ASSEMBLY ALTER ANY ASYMMETRIC KEY ALTER ANY CERTIFICATE ALTER ANY CONTRACT ALTER ANY TRIGGER DATABASE DDL EVENT Implicado por el permiso de base de datos CONTROL ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER ALTER CONTROL CONTROL CONTROL CONTROL CONNECT REPLICATION CONTROL Implicado por el permiso de servidor ALTER ANY DATABASE CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER ALTER ANY NOTIFICATION CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER AUTHENTICATE SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER EVENT

ALTER ANY DATABASE NOTIFICATION ALTER ANY DATASPACE

ALTER ANY FULLTEXT CATALOG ALTER ANY MESSAGE TYPE ALTER ANY BINDING REMOTE SERVICE

ALTER ANY ROLE ALTER ANY ROUTE ALTER ANY SCHEMA ALTER ANY SERVICE ALTER ANY SYMMETRIC KEY ALTER ANY USER AUTHENTICATE BACKUP DATABASE BACKUP LOG CHECKPOINT CONNECT CONNECT REPLICATION

- 74 -

CONTROL CREATE AGGREGATE CREATE ASSEMBLY CREATE ASYMMETRIC KEY CREATE CERTIFICATE CREATE CONTRACT CREATE DATABASE CREATE DATABASE NOTIFICATION CREATE DEFAULT CREATE FULLTEXT CATALOG CREATE FUNCTION CREATE MESSAGE TYPE CREATE PROCEDURE CREATE QUEUE CREATE REMOTE SERVICE BINDING CREATE ROLE CREATE ROUTE CREATE RULE CREATE SCHEMA CREATE SERVICE CREATE SYMMETRIC KEY CREATE SYNONYM CREATE TABLE CREATE TYPE CREATE VIEW CREATE XML SCHEMA COLLECTION DELETE EXECUTE INSERT REFERENCES SELECT SHOWPLAN SUBSCRIBE QUERY NOTIFICATIONS TAKE OWNERSHIP DDL EVENT

CONTROL ALTER ALTER ANY ASSEMBLY ALTER ANY ASYMMETRIC KEY ALTER ANY CERTIFICATE ALTER ANY CONTRACT CONTROL ALTER ANY DATABASE NOTIFICATION ALTER ALTER ANY FULLTEXT CATALOG ALTER ALTER ANY MESSAGE TYPE ALTER ALTER ALTER ANY BINDING REMOTE SERVICE EVENT

CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CREATE ANY DATABASE CREATE DDL NOTIFICATION CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER CONTROL SERVER ALTER TRACE CONTROL SERVER CONTROL SERVER EVENT

ALTER ANY ROLE ALTER ANY ROUTE ALTER ALTER ANY SCHEMA ALTER ANY SERVICE ALTER ANY SYMMETRIC KEY ALTER ALTER ALTER ALTER ALTER CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL

- 75 -

UPDATE VIEW DATABASE STATE VIEW DEFINITION

CONTROL CONTROL CONTROL

CONTROL SERVER VIEW SERVER STATE VIEW ANY DEFINITION

Si utiliza la opcin AS, se aplican los siguientes requisitos adicionales:


AS granting_principal Usuario de la base de datos Permiso adicional necesario 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. 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. Debe pertenecer al grupo de Windows, 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. Debe pertenecer a la funcin fija de base de datos db_securityadmin , debe pertenecer a la funcin fija de base de datos db_owner o debe pertenecer a la funcin fija de servidor sysadmin. Debe pertenecer a la funcin fija de base de datos db_securityadmin , debe pertenecer a la funcin fija de base de datos db_owner o debe pertenecer a la funcin fija de servidor sysadmin. 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. 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. 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.

Usuario de la base de datos asignado a un inicio de sesin de Windows Usuario de la base de datos asignado a un grupo de Windows

Usuario de la base de asignado a un certificado

datos

Usuario de la base de datos asignado a una clave asimtrica Usuario de la base de datos asignado a cualquier entidad de seguridad de servidor Funcin de base de datos

Funcin de aplicacin

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 c. Conceder CREATE VIEW con GRANT OPTION En el siguiente ejemplo se concede el permiso CREATE VIEW en la base de datos AdventureWorks al usuario Carmine con el derecho para conceder CREATE VIEW a otras entidades de seguridad. USE AdventureWorks; GRANT CREATE VIEW TO Carmine WITH GRANT OPTION; GO

Permisos a Nivel de Esquema Un esquema es un elemento que puede protegerse en el nivel de base de datos que contiene la base de datos que es su entidad primaria en la jerarqua de permisos. La mayora de permisos limitados y especficos que se pueden conceder en un esquema se muestran a continuacin, junto con permisos ms generales que los incluyen por implicacin.

Permiso del esquema CONTROL TAKE OWNERSHIP ALTER EXECUTE INSERT DELETE UPDATE SELECT REFERENCES VIEW DEFINITION

Implicado por el permiso del esquema CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL CONTROL

Implicado por el permiso de base de datos CONTROL CONTROL ALTER ANY SCHEMA EXECUTE INSERT DELETE UPDATE SELECT REFERENCES VIEW DEFINITION

Advertencia: Un usuario con permiso ALTER en un esquema puede utilizar encadenamiento de propiedad para tener acceso a asegurables de otros esquemas, incluidos los asegurables para los que se haya denegado explcitamente el acceso a ese usuario. Esto se debe a que el encadenamiento de propiedad omite las comprobaciones de permisos en los objetos a los que se hace referencia cuando pertenecen al servidor principal propietario de los objetos que hacen referencia a los mismos. Un usuario con permiso ALTER en un esquema puede crear procedimientos, sinnimos y vistas que son propiedad del propietario del esquema. Esos objetos tendrn acceso (mediante encadenamiento de propiedad) a informacin de otros esquemas que son propiedad del propietario del esquema. Si es posible, se debe evitar

- 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. GRANT INSERT ON SCHEMA :: HumanResources TO guest; b. Conceder al usuario de base de datos WilJo permiso SELECT en el esquema Person. GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;

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.

Llave Maestra de Servicio (Service Master Key) Es una llave Triple DES en la raz de SQL Server 2005 y es generada automticamente la primera vez que es necesaria y est asegurada por la API de proteccin de datos de Windows (DPAPI).

Llave Maestra de Base de Datos (Database Master Key) Es una llave simtrica Triple DES que puede utilizarse para proteger las llaves privadas de certificados y llaves asimtricas en una base de datos. Cuando se crea una llave Maestra de Base de Datos sta es encriptada utilizando el algoritmo Triple DES y una contrasea provista por el usuario. SQL Server almacena una copia de la llave maestra de base de datos en la base de datos master y a su vez es cifrada con la llave maestra de servicio. Otra copia es almacenada en la base de datos cifrada con una contrasea. La siguiente ilustracin muestra que cada capa de la jerarqua de cifrado cifra la capa que tiene debajo. La capa superior, la llave maestra de servicio, se cifra con la API de proteccin de datos (DPAPI) de Windows.

- 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'

Ejemplo de creacin de un Certificado con contrasea y fecha de expiracin: USE AdventureWorks GO CREATE CERTIFICATE CERTIFICADO1 ENCRYPTION BY PASSWORD ='COMPLEJO' EXPIRY_DATE =''10/31/2009'', SUBJECT = Adventure Works Customers'

Ejemplo de importacin de un certificado existente: 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


Seleccionar un Modo de Autenticacin Durante la instalacin, debe seleccionar un modo de autenticacin para el Motor de base de datos. Hay dos modos posibles Modo de autenticacin de Windows Modo mixto. El modo de autenticacin de Windows habilita la autenticacin de Windows y deshabilita la autenticacin de SQL Server. El modo mixto habilita tanto la autenticacin de Windows como la de SQL Server. La autenticacin de Windows est disponible siempre y no se puede deshabilitar.

Configurar el Modo de Autenticacin Si selecciona la autenticacin de modo mixto durante la instalacin, debe proporcionar una contrasea segura, y confirmarla despus, para la cuenta de administrador del sistema de SQL Server integrada denominada sa. La cuenta sa se conecta con la autenticacin de SQL Server.

- 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.

Conectar a travs de la Autenticacin de Windows Cuando un usuario se conecta a travs de una cuenta de usuario de Microsoft Windows, SQL Server valida el nombre de cuenta y la contrasea con el token de la entidad de seguridad de Windows del sistema operativo. Esto significa que Windows confirma la identidad del usuario. SQL Server no pide la contrasea y no realiza la validacin de identidad. La autenticacin de Windows es el modo de autenticacin predeterminado y es mucho ms seguro que la autenticacin de SQL Server. La autenticacin de Windows usa el protocolo de seguridad de Kerberos, proporciona la aplicacin de directivas de contraseas en cuanto a la validacin de la complejidad de las contraseas seguras, ofrece compatibilidad para el bloqueo de cuentas y admite la expiracin de las contraseas. Una conexin realizada utilizando la autenticacin de Windows se denomina a veces conexin de confianza, porque SQL Server confa en las credenciales proporcionadas por Windows.

Conectar a travs de la Autenticacin de SQL Server Al utilizar la autenticacin de SQL Server, los inicios de sesin se crean en SQL Server, que no se basa en las cuentas de usuario de Windows. El nombre de usuario y la contrasea se crean utilizando SQL Server y se almacenan en SQL Server. Los usuarios que se conectan utilizando la autenticacin de SQL Server deben proporcionar sus credenciales (inicio de sesin y contrasea) cada vez que se conectan. Al utilizar la autenticacin de SQL Server, debe establecer contraseas seguras para todas las cuentas de SQL Server. 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. Para determinar las directivas de las contraseas del equipo local En el men Inicio, haga clic en Ejecutar. En el cuadro de dilogo Ejecutar, escriba secpol.msc y, a continuacin, haga clic en Aceptar. En la aplicacin Configuracin de seguridad local, expanda Configuracin de seguridad, expanda Directivas de cuenta y, a continuacin, haga clic en Directiva de contraseas. Las directivas de contraseas se describen en el panel de resultados.

- 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.

Desventajas de la Autenticacin de SQL Server Si un usuario del dominio de Windows tiene un inicio de sesin y una contrasea para Windows, an debe proporcionar otro inicio de sesin y contrasea (SQL Server) para conectarse. Hacer el seguimiento de varios nombres y contraseas es difcil para muchos usuarios. Tener que proporcionar las credenciales de SQL Server cada vez que se conectan a la base de datos puede resultar molesto. La autenticacin de SQL Server no puede utilizar el protocolo de seguridad de Kerberos. Windows proporciona directivas de contraseas adicionales que no estn disponibles para los inicios de sesin de SQL Server. SQL Server 2005 puede ser configurado para utilizar unos de estos modos de autenticacin:

Cundo utilizar el Modo de Autenticacin de Windows Utilice este modo en entornos de red en los cuales los usuarios son autenticados a travs de cuentas de usuario de Windows.

Ventajas de la Autenticacin Windows Permite agregar grupos de usuarios a SQL Server agregando una nica cuenta de usuario Permite a los usuarios acceder rpidamente a SQL Server sin tener que recordar cuenta y contrasea.

Cundo utilizar el Modo Mixto Utilice este modo cuando tenga que permitir conectarse a SQL Server a usuarios o aplicaciones que no tengan credenciales Windows.

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. Las directivas de caducidad de contraseas se utilizan para administrar la duracin de una contrasea. Cuando SQL Server 2005 aplica la directiva de caducidad de contraseas, se recuerda a los usuarios que cambien las contraseas antiguas, y las cuentas con contraseas que han caducado se deshabilitan.

Aplicacin de las Directivas de Contraseas La aplicacin de la directiva de contraseas se puede configurar independientemente para cada inicio de sesin de SQL Server. Utilice ALTER LOGIN para configurar las opciones de la directiva de contraseas de un inicio de sesin de SQL Server. Se aplican las siguientes reglas a la configuracin de la aplicacin de directivas de contraseas: Cuando el valor de CHECK_POLICY se cambia a ON, ocurre lo siguiente: o CHECK_EXPIRATION tambin se establece en ON, salvo que se haya establecido de forma explcita en OFF. o El historial de contraseas se inicializa con el valor hash de la contrasea actual. Cuando el valor de CHECK_POLICY se cambia a OFF, ocurre lo siguiente: o CHECK_EXPIRATION tambin se establece en OFF. o Se borra el historial de contraseas. o Se restablece el valor de lockout_time. Algunas combinaciones de opciones de directiva no se admiten. Si se especifica MUST_CHANGE, CHECK_EXPIRATION y CHECK_POLICY deben establecerse en ON. De lo contrario, se producir un error en la instruccin. Si CHECK_POLICY se establece en OFF, CHECK_EXPIRATION no puede establecerse en ON. Se producir un error en una instruccin ALTER LOGIN que combine estas dos opciones. Importante: CHECK_EXPIRATION y CHECK_POLICY slo se aplican en Windows Server 2003 y versiones posteriores.

- 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. Cuando se ejecuta SQL Server en Windows 2000, puede establecer CHECK_POLICY = ON para evitar la creacin de contraseas que sean: Nulas o vacas Iguales al nombre del equipo o el inicio de sesin Una de las siguientes: "password", "admin", "administrator", "sa", "sysadmin"

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 @. Si se utiliza en una cadena de conexin OLE DB u ODBC, el inicio de sesin o la contrasea no deben contener ninguno de los siguientes caracteres: [] {}() , ; ? * ! @. Estos caracteres se utilizan para inicializar una conexin o para separar valores de conexin.

Inicios de Sesin en SQL Server (login) Manejo de Inicios de Sesin La mayora de usuarios de Windows necesitan un inicio de sesin de SQL Server para conectarse a SQL Server. A continuacin se describen distintas opciones para crear un inicio de sesin en SQL Server: 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 CREATE LOGIN <nombre de usuario Windows> FROM WINDOWS GO 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. CREATE LOGIN <nombre login> WITH PASSWORD = '<password>' MUST_CHANGE; GO Ejemplos: a. Para crear un inicio de sesin asociado a una credencial CREATE LOGIN Mary WITH PASSWORD = '<password>', CREDENTIAL = <nombre_credenciall>; GO b. Para crear un inicio de sesin desde un certificado 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 c. Para crear un inicio de sesin desde una cuenta de dominio de Windows CREATE LOGIN [Adventure-Works\Mary] FROM WINDOWS; GO

Modificacin de Inicios de Sesin Se pueden modificar inicios de sesin desde sus propiedades en el Explorador de Objetos de SQL Management Studio o bien utilizando ALTER LOGIN. Una utilizacin comn de ALTER LOGIN es por ejemplo para desbloquear un inicio de sesin que fue bloqueado porque expir su contrasea como se muestra a continuacin: ALTER LOGIN Alice WITH PASSWORD = 'NewPa$$w0rd' UNLOCK

Eliminacin de Inicios de Sesin Se pueden eliminar un inicio de sesin con clic derecho sobre l en el Explorador de Objetos y luego elegir Delete, o bien utilizando DROP LOGIN, como se muestra en el siguiente ejemplo:

- 89 -

DROP LOGIN Alice

Asignacin de una cuenta de inicio de sesin a una funcin fija de servidor Usted puede utilizar las propiedades de inicio de sesin en el SQL Management Studio o bien el procedimiento almacenado de sistema sp_addsrvrolemember para agregar un inicio de sesin como miembro de una funcin fija de servidor. Solo los miembros de funciones fijas de servidor pueden ejecutar este procedimiento almacenado. Cuando usted agrega una cuenta de inicio de sesin a una funcin fija de servidor, la cuenta adquiere los permisos asociados a esa funcin. Al realizarlo tenga en cuenta lo siguiente: Usted no puede agregar, modificar o eliminar las funciones fijas de servidor. Cualquier miembro de una funcin fija de servidor puede agregar otra cuenta de inicio de sesin a esa funcin. El procedimiento almacenado de sistema sp_addsrvrolemember no puede ser ejecutado dentro de una transaccin definida por el usuario Usted puede utilizar el procedimiento almacenado de sistema sp_dropsrvrolemember para eliminar un miembro de una funcin fija de servidor.

Usuarios de SQL Server Cmo crear un usuario de base de datos En este tema se explica cmo crear un usuario de base de datos asignado a un inicio de sesin de SQL Server. En este tema se asume que existe el correspondiente inicio de sesin de SQL Server. 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 CREATE USER <nombre usuario> FOR LOGIN <nombre login>; GO Ejemplos: a. Crear un usuario de base de datos CREATE LOGIN John WITH PASSWORD = '340$Uuxwp7Mcxo7Khy'; USE AdventureWorks; CREATE USER John FOR LOGIN John b. Crear un usuario de base de datos con un esquema predeterminado CREATE LOGIN Mary WITH PASSWORD = '8fdKJl3$nlNv3049jsKK';

- 91 -

USE AdventureWorks; CREATE USER Mary FOR LOGIN Mary WITH DEFAULT_SCHEMA = Marketing; C. Crear un usuario de base de datos desde un certificado CREATE CERTIFICATE Produccion50 WITH SUBJECT = 'Carnation Production Facility Supervisors', EXPIRY_DATE = '11/11/2011'; GO CREATE USER Peter FOR CERTIFICATE Production50;

Usuarios especiales de SQL Server Cuenta de usuario dbo: dbo o propietario de base de datos, es una cuenta de usuario con permisos implcitos para realizar todas las actividades en la base de datos. Los miembros de la funcin fija del servidor sysadmin se asignan automticamente a dbo. La cuenta de usuario dbo se confunde a menudo con la funcin fija de base de datos db_owner. El mbito de db_owner es una base de datos y el mbito de sysadmin es el servidor completo. La pertenencia a la funcin db_owner no proporciona privilegios de usuario dbo. Cuenta de usuario guest: Despus de que un usuario se haya autenticado y se le haya permitido iniciar sesin en una instancia de SQL Server, debe existir una cuenta de usuario independiente en cada base de datos a la que tenga acceso el usuario. Si se exige una cuenta de usuario en cada base de datos, se impide que los usuarios se conecten a una instancia de SQL Server y puedan tener acceso a todas las bases de datos de un servidor. La existencia de una cuenta de usuario guest en la base de datos evita este requisito, ya que permite que un inicio de sesin sin cuenta de usuario de base de datos tenga acceso a una base de datos. La cuenta guest es una cuenta integrada en todas las versiones de SQL Server. De forma predeterminada, est deshabilitada en las bases de datos nuevas. Si est habilitada, se puede deshabilitar mediante la revocacin de su permiso CONNECT, que se lleva a cabo con la ejecucin de la instruccin REVOKE CONNECT FROM GUEST de Transact-SQL. 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. Requerimientos para Delegacin Para utilizar delegacin, todos los servidores a los cuales usted est conectado deben ejecutar Windows 2000 o Windows Server 2003 con el soporte Kerberos habilitado, y usted debe utilizar Active Directory.

- 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. Configurando Active Directory para Delegacin Usted debe establecer las siguientes opciones de cuenta en Active Directory para que funcione la delegacin: La cuenta es sensible y no puede ser delegada ( Account is sensitive and cannot be delegated.) Usted no debe elegir esta opcin para un pedido de delegacin de un usuario La cuenta es confiable para delegacin (Account is trusted for delegation.). Usted debe elegir esta opcin para la cuenta de servicio de SQL Server La computadora es confiable para delegacin (Computer is trusted for delegation.) Usted debe elegir esta opcin para la computadora donde se ejecuta SQL Server.

Configurando SQL Server para Delegacin Para utilizar seguridad de delegacin de cuenta, SQL Server debe tener un Nombre Principal de Servidor (Service Principal Name - SPN) asignado por el administrador de cuenta de dominio de Windows Server 2003 a la cuenta de servicio de SQL Server y estar utilizando TCP/IP. Si el servicio de SQL Server se est ejecutando bajo una cuenta de Sistema Local, automticamente el servicio SQL Server registrar un SPN al iniciar el servicio y lo desregistrar al cerrar SQL Server.

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. CREATE CREDENTIAL nombre credencial WITH IDENTITY = 'nombre_identity' [ , SECRET = 'secreto' ] 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.

El Monitor de actividad (SQL Server Management Studio) Use el componente Monitor de actividad de Microsoft SQL Server Management Studio para obtener informacin sobre las conexiones de los usuarios al Motor de base de datos y los bloqueos que mantienen. El Monitor de actividad tiene tres pginas. La pgina Informacin del proceso contiene informacin acerca de las conexiones. En la pgina Bloqueos por proceso se ordenan los bloqueos por conexin. En la pgina Bloqueos por objeto se ordenan los bloqueos por el nombre del objeto. Haga clic en el botn Filtrar para aplicar un filtro con el fin de reducir la cantidad de informacin mostrada. Utilice el Monitor de actividad al solucionar problemas de bloqueo y para terminar un proceso en interbloqueo (deadlock) o que no responde. Para ver el Monitor de actividad el usuario precisa el permiso VIEW SERVER STATE en SQL Server 2005 y versiones posteriores del servidor SQL Server. Para ver el Monitor de actividad, el usuario necesita el permiso SELECT en las tablas sysprocesses y syslocks, en la base de datos maestra, en un servidor SQL Server 2000. El permiso para ver estas tablas se concede de forma predeterminada a la funcin de base de datos Public. De forma predeterminada, los miembros de las funciones fijas de base de datos sysadmin y processadmin tienen el permiso KILL; este permiso no se puede transferir. 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. El Monitor de actividad de trabajo le permite realizar las siguientes tareas: Iniciar y detener trabajos. Ver las propiedades del trabajo. Ver el historial de un determinado trabajo. Actualizar la informacin de la cuadrcula Actividad de trabajo del agente manualmente o establecer un intervalo de actualizacin automtico haciendo clic en Ver configuracin de actualizacin.

- 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. Para Ver la Actividad de Trabajo (SQL Server Management Studio) Cuando se inicia el servicio del Agente Microsoft SQL Server, se crea una nueva sesin y la tabla sysjobactivity de la base de datos msdb se llena con todos los trabajos definidos que existen. En esta tabla se registra la actividad y el estado actuales de los trabajos. Puede utilizar el Monitor de Actividad de trabajo del Agente SQL Server para ver el estado actual de los trabajos. Si el servicio del Agente SQL Server finaliza inesperadamente, puede consultar la tabla sysjobactivity para ver qu trabajos se estaban ejecutando cuando finaliz el servicio. Para ver la actividad de los trabajos En el Explorador de objetos, conctese a una instancia del Motor de base de datos de SQL Server y expndala. Expanda Agente SQL Server. Haga clic con el botn secundario en Monitor de Actividad de Trabajo y haga clic en Ver actividad de trabajo. En el Monitor de actividad de trabajo, puede ver los detalles de cada trabajo definido para este servidor. Haga clic con el botn secundario en un trabajo para iniciarlo, detenerlo, habilitarlo o deshabilitarlo, actualizar el estado que se muestra en el Monitor de Actividad de Trabajo, eliminarlo o ver su historial o sus propiedades. Para iniciar, detener, habilitar o deshabilitar, o actualizar varios trabajos, seleccione varias filas y haga clic con el botn secundario en la seleccin. Para actualizar el Monitor de actividad de trabajo, haga clic en Actualizar. Para ver menos filas, haga clic en Filtro y escriba los parmetros del filtro. Tambin puede ver la actividad de trabajo de la sesin actual mediante el procedimiento almacenado sp_help_jobactivity.

- 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.

Funciones y Vistas de Administracin Dinmica Las funciones y vistas de administracin dinmica devuelven informacin sobre el estado del servidor que se puede utilizar para controlar el estado de una instancia del servidor, para diagnosticar problemas y para optimizar el rendimiento. Hay dos tipos de funciones y vistas de administracin dinmica: Funciones y vistas de administracin dinmica con mbito en el servidor. Se requiere el permiso VIEW SERVER STATE en el servidor. Funciones y vistas de administracin dinmica con mbito en la base de datos. Se requiere el permiso VIEW DATABASE STATE en la base de datos. 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. Se muestran a continuacin algunas de las vistas de administracin dinmica ms comunes:
Vista de Administracin Dinmica sys.dm_db_partition_stats sys.dm_exec_sessions Descripcin Devuelve informacin de pgina y recuento de filas de cada particin en la base de datos actual. 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. Devuelve una fila para cada peticin de E/S pendiente de SQL Server. Devuelve una fila para cada almacn de objetos en la instancia de SQL Server. Devuelve una lista de todos los subprocesos del sistema operativo SQL Server que se estn ejecutando en el proceso de SQL Server. Devuelve una fila por cada monitor de cola en la instancia. Un monitor de cola administra la activacin de una cola. Devuelve informacin acerca de los recursos del administrador de bloqueos activos actualmente.

sys.dm_io_pending_io_requests sys.dm_os_memory_pools sys.dm_os_threads sys.dm_broker_queue_monitors sys.dm_tran_locks

Vistas de Catlogo (Transact-SQL) Las vistas de catlogo devuelven informacin utilizada por el Motor de base de datos de SQL Server 2005 de Microsoft. Se recomienda utilizar las vistas de catlogo porque son la interfaz ms general para los metadatos del catlogo y proporcionan el mtodo ms eficaz para obtener, transformar y presentar formas personalizadas de esta informacin. Todos los metadatos del catlogo disponibles para el usuario se exponen mediante las vistas de catlogo. 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.

Consulta de una Vista de Administracin Dinmica Todas las funciones y vistas de administracin dinmica existen en el esquema sys y siguen la convencin de nomenclatura siguiente: dm_*. Cuando utilice una funcin o vista de administracin dinmica, debe agregar un prefijo al nombre de la funcin o vista mediante el esquema sys. Por ejemplo, para consultar la vista de administracin dinmica dm_os_wait_stats, ejecute la consulta siguiente: SELECT wait_type, wait_time_ms FROM sys.dm_os_wait_stats GO

- 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.

Usar Objetos de SQL Server SQL Server incluye objetos y contadores que puede utilizar el Monitor de Sistema para monitorear la actividad de los equipos en los que se ejecute una instancia de SQL Server. Un objeto es cualquier recurso de SQL Server como, por ejemplo, un bloqueo de SQL Server o un proceso de Windows XP. Cada objeto contiene uno o ms contadores que determinan diversos aspectos de los objetos que se van a Monitorear. Por ejemplo, el objeto Bloqueos de SQL Server contiene los contadores Nmero de interbloqueos/seg. y Tiempos de espera de bloqueos/seg. 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>. Al agregar o quitar contadores en el grfico y guardar la configuracin del grfico, puede especificar los objetos y contadores de SQL Server que se supervisan al iniciar el Monitor de sistema. Puede configurar el Monitor de sistema para que muestre las estadsticas de cualquier contador de SQL Server. Adems, puede establecer un valor de umbral para cualquier contador de SQL Server y generar posteriormente una alerta cuando un contador supere dicho umbral. 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. En la siguiente tabla se describen los objetos de SQL Server.
Objeto de rendimiento SQLServer:Mtodos acceso de Descripcin Mide y realiza bsquedas mediante objetos de base de datos de SQL Server y su asignacin (por ejemplo, el nmero de bsquedas de ndices o de pginas asignadas a ndices y datos). Proporciona informacin acerca de dispositivos de copia de seguridad utilizados para operaciones de copia de seguridad y restauracin, como el rendimiento del dispositivo. 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. Proporciona informacin acerca de la frecuencia con que SQL Server solicita pginas libres y obtiene acceso a las mismas. Proporciona informacin acerca de CLR. Proporciona informacin acerca de los cursores. Proporciona informacin acerca de los cursores. Proporciona informacin acerca de la creacin de reflejos de la base de datos. 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. Proporciona informacin acerca de las estadsticas de ejecucin. Proporciona informacin acerca de la actividad general de todo el servidor, como el nmero de usuarios conectados a una instancia de SQL Server. Proporciona informacin acerca de los pestillos de los recursos internos, como las pginas de las bases de datos que utiliza SQL Server. 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.

SQLServer:Backup Device

SQLServer:Buffer Manager SQLServer:Buffer Manager SQLServer:CLR SQLServer:Cursor Manager by Type SQLServer:Cursor Manager Total SQLServer: Database Mirroring SQLServer:Databases

SQLServer:Exec Statistics SQLServer General Statistics SQLServer Latches SQLServer:Locks

- 102 -

SQLServer:Memory Manager SQLServer:Cach del plan

Proporciona informacin acerca de la utilizacin de memoria de SQL Server como, por ejemplo, el nmero total de estructuras de bloqueo asignadas actualmente. Proporciona informacin acerca de la cach de SQL Server que se utiliza para almacenar objetos como procedimientos almacenados, desencadenadores y planes de consultas. Proporciona informacin acerca de los errores de SQL Server. Proporciona informacin acerca de aspectos de consultas de Transact-SQL, como el nmero de lotes de instrucciones Transact-SQL que recibe SQL Server. Proporciona informacin acerca de las transacciones activas de SQL Server, como el nmero global de transacciones y el nmero de transacciones de instantneas. Realiza una supervisin personalizada. Cada contador puede ser un procedimiento almacenado personalizado o cualquier instruccin Transact-SQL que devuelva un valor para Monitorear. Proporciona informacin acerca de las esperas.

SQLServer:SQL Errors SQLServer:Estadsticas de SQL SQLServer Transactions SQLServer:User Settable

SQLServer: Wait Statistics

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.

Consideraciones de Monitoreo de SQL Server Si est ejecutando el sistema operativo de servidor de Microsoft Windows, utilice la herramienta grfica Monitor de Sistema para medir el rendimiento de SQL Server. Puede ver en los objetos de SQL Server, los contadores de rendimiento y el comportamiento de otros objetos, como procesadores, memoria, cach, subprocesos y procesos. Cada uno de estos objetos tiene asociado un conjunto de contadores que miden el uso de los dispositivos, la longitud de las colas, las demoras y otros indicadores del rendimiento y la congestin interna. 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. El Monitor de sistema permite obtener estadsticas sobre la actividad y el rendimiento actuales de SQL Server. Con el Monitor de sistema, puede: Ver simultneamente datos de cualquier nmero de equipos.

- 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.

Monitorear la Actividad del Disco Microsoft SQL Server utiliza las llamadas de entrada y salida (E/S) del sistema operativo Microsoft Windows para realizar operaciones de lectura y escritura en el disco. SQL Server administra cundo y cmo se realiza la E/S del disco, pero el sistema operativo Windows realiza las operaciones de E/S subyacentes. El subsistema de E/S incluye el bus del sistema, tarjetas controladoras de disco, discos, unidades de cinta, la unidad de CD-ROM y muchos otros dispositivos de E/S. La E/S del disco es una causa frecuente de los atascos en un sistema. La supervisin de la actividad del disco implica dos aspectos bsicos: Monitorear la E/S del disco y detectar la paginacin excesiva Aislar la actividad del disco creada por SQL Server

Monitorear la E/S del Disco y Detectar la Paginacin Excesiva Dos de los contadores que se pueden Monitorear para determinar la actividad del disco son: DiscoFsico: % Tiempo de disco DiscoFsico: Long. media de la cola de disco En el Monitor del sistema, el contador DiscoFsico: % Tiempo de disco supervisa el porcentaje de tiempo que el disco est ocupado con operaciones de lectura y escritura. Si el valor del contador DiscoFsico: % Tiempo de disco es alto (ms del 90%), compruebe el contador DiscoFsico: Longitud actual de la cola de disco para ver el nmero de peticiones del sistema que estn en espera de acceso al disco. El nmero de peticiones de E/S en espera debe mantenerse en un mximo de 1.5 a 2 veces el nmero de ejes que componen el disco fsico. La mayor parte de los discos tienen un eje, aunque los dispositivos de matriz redundante de discos independientes (RAID, Redundant Array of Independent Disks) suelen tener ms. Un dispositivo RAID de hardware aparece como un disco fsico en el Monitor del Sistema. Los dispositivos RAID creados mediante software aparecen como varias instancias en el Monitor del Sistema. 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 .

Aislar la Actividad del Disco creada por SQL Server Dos de los contadores que se pueden Monitorear para determinar el volumen de actividad de E/S que generan los componentes de SQL Server son los siguientes: SQL Server:Buffer Manager:Lecturas de pgina/seg. SQL Server:Buffer Manager:Escrituras de pgina/seg. 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 Si los valores de estos contadores comienzan a acercarse al lmite de capacidad del subsistema de E/S de hardware, intente reducirlos, ya sea optimizando la aplicacin o la base de datos, para reducir las operaciones de E/S (como el alcance de los ndices, mejores ndices o la normalizacin), aumentando la capacidad de E/S del hardware o agregando memoria. Por ejemplo, puede utilizar el Asistente para la optimizacin de motor de base de datos para analizar cargas de trabajo habituales de SQL Server y crear recomendaciones para ndices, vistas indexadas y particiones con el fin de mejorar el rendimiento del servidor.

Monitorear el Uso de la CPU Supervise una instancia de Microsoft SQL Server peridicamente para determinar si los ndices de uso de la CPU son normales. Un ndice de uso de la CPU constantemente alto puede indicar la necesidad de actualizar la CPU o de agregar varios procesadores. Adems, un uso alto de la CPU puede indicar que hay una aplicacin mal optimizada o diseada. La optimizacin de la aplicacin puede reducir el uso de la CPU. El contador Procesador: % de tiempo de procesador en el Monitor de sistema es la forma ms eficaz de determinar el uso de la CPU. Este contador supervisa el tiempo que la CPU dedica a la ejecucin de un subproceso que no est inactivo. Un estado continuado de entre el 80 y el 90 por ciento puede ser indicativo de que es necesario actualizar la CPU o bien agregar ms procesadores. Para sistemas con mltiples procesadores, es necesario monitorear una instancia independiente de este contador para cada procesador. Este valor representa la suma

- 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 El contador Bytes disponibles indica en bytes la memoria disponible actualmente para procesos. El contador Pginas/seg indica el nmero de pginas que se han recuperado del disco debido a errores de pgina no recuperables o que se han escrito en disco para liberar espacio en el espacio de trabajo debido a errores de pgina. Un valor bajo en el contador Bytes disponibles puede indicar una escasez general de memoria en el equipo o que un programa no est liberando memoria. Un valor alto en el contador Pginas/seg puede indicar una paginacin excesiva. Supervise el contador Memoria: Errores de pgina/s. para asegurarse de que la actividad del disco no est causada por la paginacin. Una tasa baja de paginacin (y por tanto, de errores de pgina) es normal, incluso si el equipo tiene mucha memoria disponible. El Administrador de memoria virtual (VMM) de Microsoft Windows sustrae pginas de SQL Server y otros procesos a medida que recorta los tamaos del espacio de trabajo para estos procesos, lo que suele provocar errores de pgina. Para

- 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.

Aislar la Memoria que utiliza SQL Server De forma predeterminada, SQL Server cambia dinmicamente sus necesidades de memoria segn los recursos del sistema disponibles. Si SQL Server necesita ms memoria, consulta el sistema operativo para determinar si hay memoria fsica disponible y la utiliza. Si SQL Server no necesita la memoria que tiene asignada actualmente, la libera para el sistema operativo. Sin embargo, el uso dinmico de la memoria puede anularse mediante las opciones de configuracin de servidor min server memory y max server memory Para Monitorear la cantidad de memoria que utiliza SQL Server, examine los siguientes contadores de rendimiento: Proceso: Espacio de trabajo SQL Server: Buffer Manager: Frecuencia de aciertos de cach del bfer SQL Server: Buffer Manager: Total de pginas SQL Server: Memory Manager: Memoria total del servidor (KB) 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.

Terminologa del Analizador de SQL Server Para utilizar el Analizador de SQL Server, debe comprender la terminologa que describe cmo funciona la herramienta. Evento: Un evento es una accin generada dentro de una instancia del Motor de base de datos de SQL Server. Por ejemplo: o Conexiones, errores y desconexiones de inicio de sesin. o Instrucciones SELECT, INSERT, UPDATE y DELETE de Transact-SQL. o Estado de lotes de RPC (llamada a procedimiento remoto). o Inicio o finalizacin de procedimientos almacenados. o Inicio o finalizacin de instrucciones incluidas en procedimientos almacenados. o Inicio o finalizacin de lotes SQL. o Errores escritos en el registro de errores de SQL Server. o Bloqueos adquiridos o liberados en objetos de base de datos. o Cursores abiertos. o Comprobaciones de permisos de seguridad.

- 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.

Usar el Analizador de SQL Server

- 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 TransactSQL 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. Mediante el Analizador de SQL Server puede hacer lo siguiente: Crear una traza que se base en una plantilla que se puede reutilizar. Observar el resultado de la traza a medida que se ejecuta la traza Almacenar el resultado de una traza en una tabla Iniciar, detener, pausar y modificar el resultado de la traza segn sea necesario Reproducir el resultado de la traza 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.

Plantillas del Analizador de SQL Server Puede utilizar el Analizador de SQL Server para crear plantillas que definan las clases de evento y columnas de datos que desea incluir en las trazas. Despus de definir y guardar la plantilla, ejecute una traza que registre los datos de cada clase de evento que ha seleccionado. Una sola plantilla puede utilizarse en varias trazas puesto que la plantilla no se ejecuta como tal. El Analizador de SQL Server incluye plantillas de traza predefinidas para que pueda configurar fcilmente las clases de evento que seguramente necesitar para trazas concretas. La plantilla Standard, por ejemplo, le ayuda a crear una traza genrica para registrar inicios y cierres de sesin, lotes finalizados e informacin de conexin. Esta plantilla permite ejecutar trazas sin modificarlas o como punto de inicio para plantillas adicionales con configuraciones de evento distintas. 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 plantilla SP_Counts Finalidad de la plantilla Captura el comportamiento de la ejecucin de procedimientos Clases de evento SP:Starting

- 110 -

almacenados a lo largo del tiempo. Standard Punto de inicio genrico para crear una traza. Captura todos los procedimientos almacenados y lotes de Transact-SQL que se ejecutan. Utilice esta plantilla para supervisar la actividad general del servidor de base de datos. Audit Login Audit Logout ExistingConnection RPC:Completed SQL:BatchCompleted SQL:BatchStarting Audit Login Audit Logout ExistingConnection RPC:Starting SQL:BatchStarting RPC:Completed SQL:BatchCompleted

TSQL

Captura todas las instrucciones Transact-SQL que los clientes envan a SQL Server y el momento en que se han emitido. Utilice esta plantilla para depurar las aplicaciones cliente.

TSQL_Duration

Captura todas las instrucciones Transact-SQL que los clientes envan a SQL Server, el tiempo de ejecucin (en milisegundos), y las agrupa por duracin. Utilice esta plantilla para identificar consultas de ejecucin lenta. Captura todas las instrucciones Transact-SQL enviadas a SQL Server y el momento en que se han emitido. Agrupa la informacin por el usuario o cliente que ha enviado la instruccin. Utilice esta plantilla para investigar consultas de un cliente o usuario determinado. Captura informacin detallada acerca de las instrucciones TransactSQL necesaria para cuando se reproduzca la traza. Utilice esta plantilla para ejecutar optimizaciones iterativas tales como pruebas comparativas.

TSQL_Grouped

Audit Login Audit Logout ExistingConnection RPC:Starting SQL:BatchStarting CursorClose CursorExecute CursorOpen CursorPrepare CursorUnprepare Audit Login Audit Logout Existing Connection RPC Output Parameter RPC:Completed RPC:Starting Exec Prepared SQL Prepare SQL SQL:BatchCompleted SQL:BatchStarting Audit Login Audit Logout ExistingConnection RPC:Starting SP:Completed SP:Starting SP:StmtStarting SQL:BatchStarting RPC:Completed SP:StmtCompleted SQL:BatchCompleted

TSQL_Replay

TSQL_SPs

Captura informacin detallada acerca de todos los procedimientos almacenados en ejecucin. Utilice esta plantilla para analizar los pasos de componente de los procedimientos almacenados. Agregue el evento SP:Recompile si sospecha que se estn volviendo a compilar los procedimientos.

Tuning

Captura informacin acerca de los procedimientos almacenados y la ejecucin de lotes de Transact-SQL. Utilice esta plantilla para crear un archivo de salida de la traza que el Asistente para la optimizacin de motor de base de datos pueda utilizar como carga de trabajo para optimizar las bases de datos.

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 y Plantillas de Traza Es importante distinguir entre guardar archivos de traza y guardar plantillas de traza. Guardar un archivo de traza implica guardar los datos de eventos capturados en un lugar especificado. Guardar una plantilla de traza implica guardar la definicin de la traza, como las columnas de datos, las clases de eventos o los filtros especificados. 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.

Importar y Exportar Plantillas El Analizador de SQL Server permite importar y exportar plantillas de un servidor a otro. Al exportar una plantilla se mueve una copia de una plantilla existente al directorio especificado. Al importar una plantilla se realiza una copia de una plantilla especificada. Cuando stas plantillas se ven en el Analizador de SQL Server, se pueden distinguir de las plantillas del sistema por el trmino "(usuario)" que sigue al nombre de la plantilla. Las plantillas del sistema predefinidas no se pueden sobrescribir ni modificar directamente.

Analizar el Rendimiento con Plantillas Si supervisa SQL Server con frecuencia, utilice plantillas para analizar el rendimiento. Las plantillas capturan los mismos datos de eventos cada vez y utilizan la misma definicin de traza para supervisar los mismos eventos. No tendr que definir las clases de eventos y las columnas de datos cada vez que cree una traza. Adems, se puede proporcionar una plantilla a otro usuario para supervisar eventos especficos de SQL Server. Por ejemplo, un proveedor de asistencia tcnica puede proporcionar una plantilla a un cliente. El cliente puede utilizar la

- 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. Utilice los desencadenadores DDL cuando: Desee evitar determinados cambios en el esquema de base de datos. Desee que ocurra algn evento en la base de datos como respuesta a un cambio realizado en el esquema de base de datos. Desee registrar cambios o eventos del esquema 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. En el siguiente ejemplo se muestra el uso de un desencadenador DDL para evitar que se modifique o quite una tabla de una base de datos: CREATE TRIGGER safety ON DATABASE FOR DROP_TABLE, ALTER_TABLE AS PRINT Debe desactivar los desencadenadores de seguridad antes de modificar o eliminar bases de datos ROLLBACK ; Los desencadenadores DDL pueden activarse en respuesta a un evento de Transact-SQL procesado en la base de datos actual o en el servidor actual. El mbito del desencadenador depende del evento. 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.

Usar Eventos de DDL con Desencadenadores DDL En las siguientes tablas se enumeran los eventos de DDL que se pueden utilizar para activar un desencadenador DDL. Tenga en cuenta que cada evento corresponde a una instruccin Transact-SQL, cuya sintaxis se ha modificado a fin de que incluya caracteres de subrayado ('_') entre las palabras clave. Determinados procedimientos almacenados del sistema que realizan operaciones de estilo DDL tambin pueden activar desencadenadores DDL. Pruebe los desencadenadores DDL para

- 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. Para utilizar instrucciones de DDL en el mbito de la base de datos :
CREATE_APPLICATION_ROLE (se aplica a la instruccin CREATE APPLICATION ROLE y sp_addapprole; si se crea un esquema, este evento desencadena tambin un evento CREATE_SCHEMA). CREATE_ASSEMBLY ALTER_AUTHORIZATION_DATA BASE (se aplica a la instruccin ALTER AUTHORIZATION cuando se especifica ON DATABASE, y sp_changedbowner). CREATE_CERTIFICATE CREATE_CONTRACT GRANT_DATABASE CREATE_EVENT_NOTIFICATION CREATE_FUNCTION CREATE_INDEX CREATE_MESSAGE_TYPE CREATE_PARTITION_FUNCTION CREATE_PARTITION_SCHEME CREATE_PROCEDURE CREATE_QUEUE CREATE_REMOTE_SERVICE_BI NDING CREATE_ROLE (se aplica a la instruccin CREATE ROLE, sp_addrole y sp_addgroup). CREATE_ROUTE CREATE_SCHEMA (se aplica a la instruccin CREATE SCHEMA, sp_addrole, sp_adduser, sp_addgroup y sp_grantdbaccess). CREATE_SERVICE CREATE_STATISTICS CREATE_SYNONYM CREATE_TABLE ALTER_CERTIFICATE DROP_CONTRACT DENY_DATABASE DROP_EVENT_NOTIFICATION ALTER_FUNCTION ALTER_INDEX ALTER_MESSAGE_TYPE ALTER_PARTITION_FUNCTION ALTER_PARTITION_SCHEME ALTER_PROCEDURE ALTER_QUEUE ALTER_REMOTE_SERVICE_BINDING ALTER_ROLE DROP_FUNCTION DROP_INDEX DROP_MESSAGE_TYPE DROP_PARTITION_FUNCTION DROP_PARTITION_SCHEME DROP_PROCEDURE DROP_QUEUE DROP_REMOTE_SERVICE_BIND ING DROP_ROLE (se aplica a la instruccin DROP ROLE, sp_droprole y sp_dropgroup). DROP_ROUTE DROP_SCHEMA REVOKE_DATABASE DROP_CERTIFICATE ALTER_APPLICATION_ROLE (se aplica a la instruccin ALTER APPLICATION ROLE y sp_approlepassword). DROP_APPLICATION_ROLE (se aplica a la instruccin DROP APPLICATION ROLE y sp_dropapprole).

ALTER_ASSEMBLY

DROP_ASSEMBLY

ALTER_ROUTE ALTER_SCHEMA (se aplica a la instruccin ALTER SCHEMA y sp_changeobjectowner).

ALTER_SERVICE DROP_STATISTICS DROP_SYNONYM ALTER_TABLE

DROP_SERVICE UPDATE_STATISTICS

DROP_TABLE

- 115 -

CREATE_TRIGGER CREATE_TYPE (se aplica a la instruccin CREATE TYPE y sp_addtype). CREATE_USER (se aplica a la instruccin CREATE USER, sp_adduser y sp_grantdbaccess). CREATE_VIEW CREATE_XML_SCHEMA_COLLE CTION

ALTER_TRIGGER DROP_TYPE (se aplica a la instruccin DROP TYPE y sp_droptype). ALTER_USER

DROP_TRIGGER

DROP_USER (se aplica a la instruccin DROP USER, sp_dropuser y sp_revokedbaccess). DROP_VIEW DROP_XML_SCHEMA_COLLECT ION

ALTER_VIEW ALTER_XML_SCHEMA_COLLECTION

Utilizar instrucciones de DDL en el mbito del servidor


ALTER_AUTHORIZATION_SERVER CREATE_DATABASE CREATE_ENDPOINT CREATE_LOGIN (se aplica a la instruccin CREATE LOGIN, sp_addlogin, sp_grantlogin, xp_grantlogin y sp_denylogin cuando se utiliza en un inicio de sesin inexistente que debe crearse de forma implcita). ALTER_DATABASE ALTER_ENDPOINT ALTER_LOGIN (se aplica a la instruccin ALTER LOGIN, sp_defaultdb, sp_defaultlanguage, sp_password y sp_change_users_login cuando se especifica Auto_Fix). DENY_SERVER DROP_DATABASE DROP_ENDPOINT DROP_LOGIN (se aplica a la instruccin DROP LOGIN, sp_droplogin, sp_revokelogin y xp_revokelogin).

GRANT_SERVER

REVOKE_SERVER

Usar la Funcin EVENTDATA La informacin acerca de un evento que activa un desencadenador DDL se captura mediante la funcin EVENTDATA. Esta funcin devuelve un valor xml. El esquema XML incluye informacin acerca de lo siguiente: La hora del evento. El Id. de proceso del sistema (SPID) de la conexin en la cual se ha ejecutado el desencadenador. El tipo de evento que ha activado el desencadenador. 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. Por ejemplo, el siguiente desencadenador DDL se crea en la base de datos de ejemplo AdventureWorks : CREATE TRIGGER safety ON DATABASE FOR CREATE_TABLE AS PRINT ' Temas de CREATE TABLE' SELECT EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvar char(max)')

- 116 -

RAISERROR ('No pueden crearse nuevas tablas en esta base de datos', 16, 1) ROLLBACK; Se ejecutar la siguiente instruccin CREATE TABLE: CREATE TABLE NewTable (Column1 int); La instruccin EVENTDATA() del desencadenador DDL captura el texto de la instruccin CREATE TABLE que no se admite. Esto se realiza utilizando una instruccin XQuery en los datos xml generados por EVENTDATA y recuperando el elemento <CommandText>. Advertencia: EVENTDATA captura los datos de los eventos CREATE_SCHEMA, as como el <schema_element> de la definicin CREATE SCHEMA correspondiente, si existe. Adems, EVENTDATA reconoce la definicin <schema_element> como un evento aparte. Por lo tanto, un desencadenador DDL creado en un evento CREATE_SCHEMA y en un evento representado por el <schema_element> de la definicin CREATE SCHEMA, puede devolver los mismos datos de evento dos veces, por ejemplo, datos TSQLCommand. Por ejemplo, considere un desencadenador DDL creado en los eventos CREATE_SCHEMA y CREATE_TABLE, y que se ejecute el siguiente lote: CREATE SCHEMA s CREATE TABLE t1 (col1 int) Si la aplicacin recupera los datos TSQLCommand del evento CREATE_TABLE, tenga en cuenta que estos datos pueden aparecer dos veces: una vez cuando se produce el evento CREATE_SCHEMA y otra cuando se produce el evento CREATE_TABLE. Evite crear desencadenadores DDL en los eventos CREATE_SCHEMA y en los textos <schema_element> de cualquier definicin CREATE SCHEMA correspondiente, o cree la lgica en su aplicacin para que el mismo evento no se procese dos veces. 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 CREATE TRIGGER log ON DATABASE FOR DDL_DATABASE_LEVEL_EVENTS AS

- 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.

Conceptos Bsicos de las Notificaciones de Eventos Las notificaciones de eventos se ejecutan como respuesta a una variedad de instrucciones del lenguaje de definicin de datos (DDL) Transact-SQL y eventos de Traza de SQL enviando informacin acerca de esos eventos a un servicio de Service Broker. Las notificaciones de eventos se pueden usar para realizar lo siguiente: Registrar y revisar cambios o actividades que se producen en la base de datos. Realizar una accin en respuesta a un evento de una forma asincrnica en lugar de sincrnica. Las notificaciones de eventos pueden ofrecer una alternativa de programacin a los desencadenadores DDL y a la Traza SQL. Las notificaciones de eventos se ejecutan asincrnicamente, fuera del alcance de una transaccin. Por consiguiente, a diferencia de los desencadenadores DDL, las notificaciones de eventos se pueden usar dentro de una aplicacin de bases de datos para responder a eventos sin utilizar los recursos definidos por la transaccin inmediata. A diferencia de la Traza de SQL, las notificaciones de eventos se pueden utilizar para realizar una accin en una instancia de SQL Server como respuesta a un evento de Traza de SQL. Cuando se crea una notificacin de eventos, se abren una o ms conversaciones de Service Broker entre una instancia de SQL Server y el servicio de destino que se especifica. Normalmente, las conversaciones permanecen abiertas mientras existe la notificacin de eventos como objeto de la instancia de servidores. En algunos casos de error, las conversaciones se pueden cerrar antes de que se quite la notificacin de eventos. Esas conversaciones nunca se comparten entre notificaciones de eventos. Cada notificacin de eventos tiene sus propias conversaciones exclusivas. Al finalizar una conversacin explcitamente se impide que el servicio de destino reciba ms mensajes y la conversacin no se vuelve a abrir la prxima vez que se activa la notificacin de eventos. La informacin de eventos se proporciona a Service Broker como una variable de tipo xml que proporciona informacin acerca de cundo se produce un evento, el objeto de la base de datos afectado, la instruccin de lote Transact-SQL implicada y otra informacin. Los datos de eventos pueden ser utilizados por aplicaciones que se ejecutan junto con SQL Server para realizar un seguimiento del progreso y tomar decisiones. Por ejemplo, la siguiente notificacin de eventos enva un aviso a un servicio determinado cada vez que se emite una instruccin ALTER TABLE en la base de datos de ejemplo AdventureWorks : 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.
DESENCADENADORES Los desencadenadores DML responden a eventos DML (de lenguaje de manipulacin de datos). Los desencadenadores DDL responden a eventos DDL (de lenguaje de definicin de datos). Los desencadenadores pueden ejecutar un cdigo administrado de Transact-SQL o de Common Language Runtime (CLR). Los desencadenadores se procesan de manera sincrnica, dentro del mbito de las transacciones que los accionan. El consumidor de un desencadenador est estrechamente unido al evento que acciona el desencadenador. Los desencadenadores se deben procesar en el servidor local. Los desencadenadores se pueden revertir. Los nombres de los desencadenadores DML pertenecen al mbito del esquema. Los nombres de los desencadenadores DLL pertenecen al mbito de la base de datos o del servidor. Los desencadenadores DML pertenecen al mismo propietario que el de las tablas a las que fueron aplicados. Los desencadenadores EXECUTE AS. admiten la clusula NOTIFICACIONES DE EVENTOS Las notificaciones de eventos responden a eventos DDL y a un subconjunto de eventos de traza de SQL.

Las notificaciones de eventos no ejecutan cdigos. En cambio, envan mensajes xml a un servicio de Service Broker. Las notificaciones de eventos se pueden procesar de manera asincrnica y no se ejecutan en el mbito de las transacciones que las accionan. El consumidor de una notificacin de eventos desvinculado del evento que acciona la notificacin. est

Las notificaciones de eventos se pueden procesar en un servidor remoto. Las notificaciones de eventos no se pueden revertir. Los nombres de las notificaciones de eventos pertenecen al mbito del servidor o de la base de datos. Las notificaciones de eventos de un evento QUEUE_ACTIVATION pertenecen al mbito de una cola especfica. El propietario de una notificacin de eventos de una cola puede ser diferente del propietario del objeto al que fue aplicada. Las notificaciones de eventos no admiten la clusula EXECUTE AS. Las notificaciones de eventos envan informacin de evento xml a un servicio de Service Broker. La informacin utiliza el formato del mismo esquema que el de la funcin EVENTDATA. Los metadatos sobre las notificaciones de eventos se encuentran en las vistas de catlogo sys.event_notifications y sys.server_event_notifications.

La informacin del evento del desencadenador DDL se puede capturar con la funcin EVENTDATA, que devuelve un tipo de dato xml. Los metadatos acerca de los desencadenadores se encuentran en las vistas de catlogo sys.triggers y sys.server_triggers.

Notificaciones de Eventos frente a Traza de SQL En la siguiente tabla se compara y contrasta el uso de notificaciones de eventos y de la Traza de SQL para supervisar eventos de servidor.
Traza de SQL Traza SQL Trace no genera carga de rendimiento asociada con transacciones. El empaquetado de los datos es eficaz. Traza SQL puede supervisar y realizar un seguimiento de cualquier clase de evento. Notificaciones de eventos Existe una carga de rendimiento asociada con la creacin de datos de eventos con formato XML y con el envo de notificaciones de eventos. Los notificaciones de eventos pueden supervisar un subconjunto de clases de eventos de seguimiento y

- 120 -

tambin todos los eventos definicin de datos (DDL). Puede personalizar qu columnas de datos se crean en un evento de seguimiento. Los eventos de traza generador por DDL siempre se genera, independientemente de si la instruccin DDL se revierte. La administracin del flujo intermedio de los datos de eventos de traza implica llenar y administrar archivos de traza o tablas de traza. Las trazas deben reiniciarse cada vez que se reinicia el servidor. Tras reiniciarse, la activacin de las trazas no se puede controlar. Las horas de detencin y filtrado se pueden usar para especificar cundo se inician. Se obtiene acceso a las trazas sondeando el archivo de trazas correspondiente. ALTER TRACE es el permiso mnimo necesario para crear una traza. Tambin se requiere el permiso para crear un archivo de traza en el equipo correspondiente. Las trazas se pueden recibir remotamente. Los eventos de traza se implementan procedimientos almacenados del sistema. utilizando

del

lenguaje

de

El esquema de datos de eventos con formato XML devuelto por las notificaciones de eventos es fijo. Las notificaciones de eventos no se activan si el evento de la instruccin DDL correspondiente se revierte. La administracin intermedia de los datos de notificacin de eventos se consigue automticamente mediante las colas de Service Broker. Despus de registrarse, las notificaciones de eventos persisten en ciclos de servidor y participan en transacciones. Las notificaciones de eventos se pueden controlar utilizando la instruccin WAITFOR sobre la cola que recibe el mensaje generado por la notificacin de eventos. Se puede obtener acceso a ellas sondeando la cola. El permiso mnimo depende del tipo de notificacin de eventos que se est creando. El permiso RECEIVE tambin es necesario en la cola correspondiente. Las notificaciones de eventos se pueden recibir remotamente. Las notificaciones de eventos se implementan utilizando una combinacin de Motor de base de datos de SQL Server y Service Broker, y de instrucciones Transact-SQL. Se obtiene acceso a los datos de eventos mediante programacin emitiendo XQuery sobre los datos de eventos con formato XML, o utilizando las clases SMO Event.

Se puede obtener acceso a los datos de eventos de traza mediante programacin consultando la tabla de traza correspondiente, analizando el archivo de traza o utilizando la clase TraceReader de los objetos de administracin de 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. --Crea una cola para recibir mensajes. CREATE QUEUE NotifyQueue ; GO --Crea un servicio sobre la cola que referencia la notificacin del evento CREATE SERVICE NotifyService ON QUEUE NotifyQueue ([http://schemas.microsoft.com/SQL/Notifications/PostEventNotification]); GO

- 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 -- Crea la notificacin del evento CREATE EVENT NOTIFICATION log_ddl1 ON SERVER FOR Object_Created TO SERVICE 'NotifyService', '8140a771-3c4b-4479-8ac0-81008ab17984' ; b. Crear una notificacin de eventos en el mbito de una base de datos El ejemplo siguiente crea una notificacin de eventos en el mismo servicio de destino que en el ejemplo anterior. La notificacin de eventos se activa despus de un evento ALTER_TABLE en la base de datos de ejemplo AdventureWorks. CREATE EVENT NOTIFICATION Notify_ALTER_T1 ON DATABASE FOR ALTER_TABLE TO SERVICE 'NotifyService', '8140a771-3c4b-4479-8ac0-81008ab17984';

c. Obtener informacin sobre una notificacin de eventos en el mbito de un servidor El ejemplo siguiente realiza una consulta en la vista de catlogo sys.server_event_notifications respecto de metadatos sobre la notificacin de eventos log_ddl1 creada en el mbito de un servidor. SELECT * FROM sys.server_event_notifications WHERE name = 'log_ddl1'

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. SELECT * FROM sys.event_notifications WHERE name = 'Notify_ALTER_T1'

- 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.

Herramientas para Automatizar la Administracin SQL Server incluye las siguientes herramientas para ayudarle a automatizar la administracin: SQL Server Management Studio: Puede utilizar SQL Server Management Studio para automatizar la administracin mediante la creacin de trabajos, alertas, operadores y servidores proxy en el nodo Agente SQL Server del Explorador de objetos. Asistente para planes de mantenimiento: El Asistente para planes de mantenimiento es una utilidad que puede ayudarle a crear trabajos, alertas y operadores para automatizar una instancia de SQL Server. Le ayuda a configurar las tareas de mantenimiento principales para asegurarse de que la base de datos funciona bien, se realiza una copia de seguridad regular de la misma y no tiene incoherencias. El Asistente para planes de mantenimiento crea uno o varios trabajos del Agente SQL Server que realizan estas tareas en servidores locales o en servidores de destino en un entorno multiservidor. La ejecucin puede tener lugar a intervalos programados o a peticin.

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.

Iniciar el Asistente para Planes de Mantenimiento (SQL Server Management Studio) Para iniciar el Asistente para planes de mantenimiento: Expanda el servidor. Expanda la carpeta Administracin. Haga clic con el botn secundario en Planes de mantenimiento y seleccione Asistente para planes de mantenimiento. Esto inicia el asistente y podr seguir los pasos y crear un plan personalizado para cumplir sus requisitos de mantenimiento.

- 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.

Agente SQL Server (SQL Server Agent) El Agente SQL Server es un servicio de Microsoft Windows que ejecuta tareas administrativas programadas, denominadas trabajos (Jobs). El Agente SQL Server utiliza SQL Server para almacenar informacin de los trabajos. Los trabajos contienen uno o ms pasos. Cada paso contiene su propia tarea; por ejemplo, realizar una copia de seguridad de una base de datos. El Agente SQL Server puede ejecutar un trabajo segn una programacin, como respuesta a un evento especfico o a peticin. Por ejemplo, si desea realizar una copia de seguridad de todos los servidores de la organizacin todos los das entre semana despus del horario de trabajo, puede automatizar esta tarea. Programe la copia de seguridad para que se ejecute despus de las 22:00 h de lunes a viernes; si la copia de seguridad encuentra un problema, el Agente SQL Server puede registrar el evento y notificrselo. 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. Para automatizar la administracin, siga estos pasos: Establezca las tareas administrativas o eventos del servidor que se realizan con regularidad y si estas tareas o eventos se pueden administrar mediante programacin. Una tarea es una buena candidata a la automatizacin si consta de una secuencia de pasos predecible y se produce en un momento especfico o en respuesta a un evento concreto.

- 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. Si ejecuta varias instancias de SQL Server, utilice la administracin multiservidor para automatizar las tareas comunes a todas las instancias.

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. El Agente SQL Server almacena la mayor parte de la informacin de configuracin en las tablas que residen en la base de datos msdb. El Agente SQL Server utiliza los objetos de credenciales de SQL Server para almacenar la informacin de autenticacin para los servidores proxy. Establecer los Permisos Necesarios Para realizar sus funciones, el Agente SQL Server debe configurarse de modo que utilice las credenciales de una cuenta que sea miembro de la funcin fija de servidor sysadmin en SQL Server. La cuenta debe tener los siguientes permisos de Windows: Ajustar las cuotas de memoria de un proceso Actuar como parte del sistema operativo Omitir la comprobacin transversal Iniciar sesin como proceso por lotes Iniciar sesin como servicio Reemplazar un smbolo de nivel de proceso 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.

Correo Electrnico de Base de Datos con el Agente SQL Server El Agente SQL Server puede utilizar Correo electrnico de base de datos para enviar mensajes de correo electrnico. Para habilitar y configurar cuentas y perfiles del Correo electrnico de base de datos, utilice el Asistente para configuracin del Correo electrnico de base de datos. Si desea utilizar Correo electrnico de base de datos para enviar mensajes de correo electrnico desde el correo del Agente SQL Server, debe: Habilitar Correo electrnico de base de datos. Crear una cuenta de Correo electrnico de base de datos para la cuenta de servicio del Agente SQL Server que desea usar. Crear un perfil del Correo electrnico de base de datos para uso de la cuenta de servicio del Agente SQL Server y agregar el usuario a la funcin DatabaseMailUserRole de la base de datos msdb. Establecer el perfil como perfil predeterminado de la base de datos msdb. Elegir Correo electrnico de base de datos como sistema de correo para el Agente SQL Server. Reiniciar el Agente SQL Server. 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. Algunas caractersticas de este tipo de correo son: No se requiere Microsoft Outlook ni MAPI (Interfaz de programacin de aplicaciones de mensajera) extendida. El Correo electrnico de base de datos utiliza el protocolo estndar SMTP (Protocolo simple de transferencia de correo) para enviar correo electrnico. Puede utilizar el Correo electrnico de base de datos sin necesidad de instalar un cliente con MAPI extendida en el equipo en el que se ejecuta SQL Server. Aislamiento de procesos. Para minimizar el impacto en SQL Server, el componente que entrega el correo electrnico se ejecuta fuera de SQL Server, en un proceso independiente. SQL Server continuar almacenando en cola los mensajes de correo electrnico incluso si el proceso externo se detiene o genera un error. Los mensajes en cola se enviarn cuando el proceso externo o el servidor SMTP se encuentren en lnea.

- 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.

Cmo usar SQL Mail SQL Mail utiliza componentes de cliente de MAPI extendida de una aplicacin de correo electrnico externa (por ejemplo, Microsoft Outlook) para enviar y recibir correo electrnico. Por lo tanto, para utilizar SQL Mail, debe instalar una aplicacin de correo electrnico compatible con MAPI extendida en el equipo que ejecute SQL Server. SQL Server utiliza los componentes de MAPI extendida proporcionados por la aplicacin de correo electrnico para comunicarse con el servidor de correo electrnico.

- 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.

Crear pasos de trabajo Los pasos de trabajo son acciones que el trabajo realiza en una base de datos o en un servidor. Cada trabajo debe estar formado por un paso, como mnimo. Los pasos de trabajo pueden ser: Programas ejecutables y comandos del sistema operativo. Instrucciones Transact-SQL, incluidos los procedimientos almacenados y los procedimientos almacenados extendidos. Secuencias de comandos Microsoft ActiveX. Tareas de rplica. Tareas de Analysis Services. Paquetes de Integration Services. Todos los pasos de trabajo se ejecutan en un contexto de seguridad determinado. Si en el paso de trabajo se especifica un proxy, se ejecuta en el contexto de seguridad de la credencial del proxy. Si en el paso de trabajo no se especifica un proxy, se ejecuta en el contexto de la cuenta

- 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. Puesto que los pasos de trabajo se ejecutan en el contexto de un usuario especfico de Microsoft Windows, dicho usuario debe disponer de los permisos y la configuracin necesarios para que se ejecute el paso de trabajo. Por ejemplo, si crea un trabajo que requiere una letra de unidad o una ruta de acceso UNC (Convencin de nomenclatura universal), los pasos de trabajo se pueden ejecutar con la cuenta de usuario de Microsoft Windows durante la comprobacin de las tareas. Sin embargo, el usuario de Windows para el paso de trabajo debe tener tambin los permisos y configuraciones de letra de unidad necesarios, o acceso a la unidad requerida. De lo contrario, se producir un error en el paso de trabajo. Para evitar este problema, asegrese de que el proxy para cada paso de trabajo dispone de los permisos necesarios para la tarea que realiza dicho paso.

Registros de Pasos de Trabajo El Agente SQL Server puede escribir la salida de algunos pasos de trabajo en un archivo del sistema operativo o en la tabla sysjobstepslogs de la base de datos msdb. Los siguientes tipos de pasos de trabajo pueden escribir la salida en los siguientes destinos: Programas ejecutables y comandos del sistema operativo. Instrucciones Transact-SQL. Tareas de Analysis Services. 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: El registro de pasos de trabajo de tareas de rplica y paquetes de Integration Services lo controla el subsistema respectivo. No se puede utilizar el Agente SQL Server para configurar el registro de pasos de trabajo para estos tipos de pasos.

Programas Ejecutables y Comandos del Sistema Operativo como Pasos de Trabajo Los programas ejecutables y comandos del sistema operativo se pueden utilizar como pasos de trabajo. Los archivos pueden tener las extensiones .bat, .cmd, .com o .exe. Si utiliza un programa ejecutable o un comando del sistema operativo como paso de trabajo, debe especificar: El cdigo de salida del proceso que se devuelve si el comando se ha ejecutado correctamente. El comando que se debe ejecutar. Para ejecutar un comando del sistema operativo, se trata simplemente del propio comando. En un programa externo, es el nombre del programa y los argumentos para el programa, por ejemplo: C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn\sqlcmd.exe -e -q "sp_who" 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.

Pasos de Trabajo de Secuencias de Comandos ActiveX Al crear un paso de trabajo de secuencias de comandos ActiveX, debe realizar las siguientes acciones: Identificar el lenguaje de secuencias de comandos en el que se ha escrito el paso de trabajo Escribir la secuencia de comandos ActiveX 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).

Controlar varios Pasos del Trabajo Si el trabajo est formado por varios pasos, debe especificar el orden de ejecucin de los pasos del trabajo. Esto se denomina control de flujo. En cualquier momento puede agregar nuevos pasos del trabajo y reorganizar el flujo de los pasos; los cambios se aplicarn la prxima vez que se ejecute el trabajo. Esta ilustracin muestra el control de flujo de un trabajo de copia de seguridad de una base de datos.

- 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.

Programar la Ejecucin de un Trabajo La programacin de trabajos del Agente SQL Server consiste en definir las condiciones que provocan el inicio de la ejecucin de los trabajos sin intervencin del usuario. Puede programar que un trabajo se ejecute automticamente creando una nueva programacin para el trabajo, o adjuntando una programacin existente al trabajo. Hay dos maneras de crear una programacin: Crear la programacin mientras se est creando un trabajo. Crear la programacin en el Explorador de objetos. 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. Aunque no est habilitada la programacin, se puede ejecutar el trabajo en respuesta a una alerta o cuando un usuario lo ejecute manualmente. Si no est habilitada una programacin de trabajo, no estar habilitada para ningn trabajo que la utilice. Las programaciones deshabilitadas se deben volver a habilitar de manera explcita. La modificacin de una programacin no la vuelve a habilitar automticamente.

- 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 Se recomienda definir operadores antes de definir alertas. Cada operador debe tener asignado un nombre. Los nombres de los operadores deben ser nicos en la instancia de SQL Server y no pueden tener ms de 128 caracteres.

Proporcionar Informacin de Contacto La informacin de contacto de un operador define cmo se va a notificar a dicho operador. Se puede notificar a los operadores mediante correo electrnico, localizador o el comando NET SEND: Notificacin mediante correo electrnico: La notificacin por correo electrnico enva un mensaje de correo electrnico al operador. Para la notificacin por correo electrnico debe proporcionar una direccin de correo electrnico al operador. Notificacin mediante localizador: Este tipo de notificacin se implementa mediante el correo electrnico. Para la notificacin por localizador debe proporcionar una

- 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.

Requisitos para Notificar a un Operador Debe configurar al menos uno de los elementos siguientes para poder notificar a un operador: Para enviar un mensaje de correo electrnico mediante la funcionalidad Correo electrnico de base de datos, debe tener acceso a un servidor de correo electrnico que admita SMTP. Para enviar un mensaje de correo electrnico mediante la funcionalidad SQL Mail (MAPI extendido), debe tener acceso a un servidor Microsoft Exchange e instalar el cliente Microsoft Outlook y Microsoft Exchange en el equipo en el que se ejecuta SQL Server. Para notificar mediante un localizador, debe disponer de hardware o software de otros fabricantes para enviar mensajes de localizador a correo electrnico. Para utilizar NET SEND, el operador debe haber iniciado sesin en el equipo especificado y el equipo especificado debe permitir la recepcin de mensajes desde Windows Messenger.

Designar un Operador a Prueba de Errores

- 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: No se pueden enviar mensajes al localizador de ninguno de los operadores responsables de la alerta. Entre los motivos que impiden contactar con los operadores principales se incluyen el uso de direcciones de localizador incorrectas y los operadores fuera de servicio. El Agente SQL Server no puede tener acceso a las tablas del sistema en la base de datos msdb. La tabla del sistema sysnotifications especifica las responsabilidades de los operadores respecto a las alertas. El operador a prueba de errores es una caracterstica de seguridad. Para eliminar el operador asignado al servicio a prueba de errores debe reasignar el servicio a otro operador o eliminar completamente la asignacin a prueba de errores.

- 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

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 termina. La informacin acerca de estas sesiones se almacena en la tabla syssessions de la base de datos msdb.

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. El Monitor de actividad de trabajo le permite realizar las siguientes tareas: Iniciar y detener trabajos. Ver las propiedades del trabajo. Ver el historial de un determinado trabajo. Actualizar la informacin de la cuadrcula Actividad de trabajo del agente manualmente o establecer un intervalo de actualizacin automtico haciendo clic en Ver configuracin de actualizacin. 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). Para definir una alerta, debe especificar: El nombre de la alerta. El evento o condicin de rendimiento que desencadena la alerta. La accin que el Agente SQL Server realiza como respuesta al evento o condicin de rendimiento. 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.

Seleccionar un Evento de WMI Puede especificar que una alerta tenga lugar como respuesta a un determinado evento de WMI. Para seleccionar un evento de WMI, debe definir lo siguiente en la pgina General del cuadro de dilogo Nueva alerta o Propiedades de alerta del Agente SQL Server: Espacio de nombres: El Agente SQL Server se registra como un cliente de WMI en el espacio de nombres de WMI que se proporciona para consultar los eventos. Consulta: El Agente SQL Server utiliza la instruccin de Lenguaje de consulta de Instrumental de administracin de Windows (WQL) proporcionada para identificar el evento especfico.

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. El asistente le gua por los siguientes pasos: Comprobar la configuracin de seguridad del servicio del Agente SQL Server y del servicio SQL Server en todos los servidores que van a ser servidores de destino. Se recomienda ejecutar ambos servicios en cuentas de dominio de Microsoft Windows. Crear un operador de servidor principal ( MSXOperator) en el servidor principal. MSXOperator es el nico operador que puede recibir notificaciones de trabajos multiservidor. Iniciar el servicio del Agente SQL Server en el servidor principal. Dar de alta uno o ms servidores como servidores de destino. Si tiene un gran nmero de servidores de destino, evite definir el servidor principal en un servidor de produccin. De lo contrario, el trfico del servidor de destino puede ralentizar el rendimiento en el servidor de produccin. Si tambin reenva eventos a este servidor principal dedicado, puede centralizar la administracin en un servidor. 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.

Consideraciones para Entornos Multiservidor Considere lo siguiente cuando cree un entorno multiservidor: Cada servidor de destino notifica nicamente a un servidor principal. Para dar de alta un servidor de destino en otro servidor principal, primero debe darlo de baja en el servidor principal actual. Si desea cambiar el nombre de un servidor de destino, debe darlo de baja antes de cambiar el nombre y volver a darlo de alta despus del cambio. Si desea anular una configuracin multiservidor, debe dar de baja todos los servidores de destino del servidor principal. Si desea distribuir planes de mantenimiento, necesitar una configuracin adicional.

Procesar Trabajos Multiservidor Un trabajo multiservidor es un trabajo que ejecuta un servidor principal en uno o ms servidores de destino. Cada servidor de destino sondea peridicamente al servidor principal, descarga una copia de cualquier nuevo trabajo asignado al servidor de destino y, a continuacin, se desconecta. El servidor de destino ejecuta el trabajo de manera local y, a continuacin, se vuelve a conectar al servidor principal para cargar el estado del resultado del trabajo una vez finalizado.

- 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.

Conceder Acceso al Agente SQL Server Para utilizar el Agente SQL Server, los usuarios deben ser miembros de una o ms de las siguientes funciones fijas de base de datos: SQLAgentUserRole SQLAgentReaderRole SQLAgentOperatorRole Estas funciones se almacenan en la base de datos msdb. De manera predeterminada, ningn usuario es miembro de estas funciones de base de datos. La pertenencia a estas funciones se debe conceder explcitamente. Los usuarios que sean miembros de la funcin fija de servidor sysadmin tienen acceso total al Agente SQL Server, y no necesitan ser miembros de estas funciones fijas de base de datos para utilizar el Agente SQL Server. Si un usuario no es miembro de una de estas funciones de base de datos ni de la funcin sysadmin, el nodo del Agente SQL Server no estar disponible para ellos cuando se conecten con SQL Server mediante SQL Server Management Studio. Los miembros de estas funciones de base de datos pueden ver y ejecutar trabajos que les pertenecen, as como crear pasos de trabajos que se ejecuten como una cuenta de proxy existente. Funciones Fijas de Base de Datos del Agente SQL Server SQL Server 2005 presenta las siguientes funciones fijas de base de datos de base de datos msdb, que proporcionan a los administradores un control ms preciso a la hora de obtener acceso al Agente SQL Server. Las funciones enumeradas de menor a mayor privilegio de acceso son: SQLAgentUserRole SQLAgentReaderRole SQLAgentOperatorRole 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. Nota de seguridad: Tenga en cuenta las implicaciones de seguridad antes de conceder acceso al servidor proxy a los miembros de las funciones de base de datos del Agente SQL Server. Las funciones SQLAgentReaderRole y SQLAgentOperatorRole se convierten automticamente en miembros de la funcin SQLAgentUserRole. Esto significa que los miembros de SQLAgentReaderRole y SQLAgentOperatorRole tienen acceso a todos los servidores proxy del Agente SQL Server cuyo acceso se ha concedido a SQLAgentUserRole y, por tanto, pueden utilizar dichos servidores proxy. En la siguiente tabla encontrar un resumen de los permisos de SQLAgentUserRole para los objetos del Agente SQL Server.
Trabajos locales (slo trabajos que les pertenecen) S 1 Programacin de trabajos (slo programaciones que les pertenecen) S

Accin

Operadores

Servidores proxy

Crear, modificar o eliminar Ver lista (enumerar) Habilitar o deshabilitar Ver propiedades Ejecutar, detener o iniciar Ver historial de trabajos Eliminar historial de trabajos Adjuntar o separar

No

No

S 2

S 3

No

No aplicable

No No aplicable No aplicable No aplicable No aplicable

No

No aplicable

No aplicable

No aplicable

No aplicable

No 4

No aplicable

No aplicable

No aplicable

No 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. Nota de seguridad: Tenga en cuenta las implicaciones de seguridad antes de conceder acceso al servidor proxy a los miembros de las funciones de base de datos del Agente SQL Server. Los miembros de SQLAgentReaderRole se convierten automticamente en miembros de la funcin SQLAgentUserRole. Esto significa que los miembros de SQLAgentReaderRole tienen acceso a todos los servidores proxy del Agente SQL Server cuyo acceso se ha concedido a SQLAgentUserRole y, por tanto, pueden utilizar dichos servidores proxy. En la siguiente tabla encontrar un resumen de los permisos de SQLAgentReaderRole para los objetos del Agente SQL Server.
Trabajos multiservidor Programacin de trabajos S (slo programaciones que les pertenecen) Servidores proxy

Accin Crear, modificar o eliminar

Operadores

Trabajos locales S 1 (slo trabajos que les pertenecen)

No

No

No

Ver lista (enumerar) Habilitar o deshabilitar

S 2

S 3

No

S (slo trabajos que les pertenecen) S S (slo trabajos que les pertenecen)

No

S (slo programaciones que les pertenecen) S S (slo programaciones que les pertenecen)

No aplicable

Ver propiedades Modificar propiedades

No

No

No

No

No

- 153 -

Ejecutar, detener o iniciar

No aplicable

S (slo trabajos que les pertenecen)

No

No aplicable

No aplicable

Ver historial de trabajos Eliminar historial de trabajos Adjuntar o separar

No aplicable No aplicable

No aplicable

No aplicable

No 4

No

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

S (slo programaciones que les pertenecen)

No aplicable

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. Nota de seguridad: Tenga en cuenta las implicaciones de seguridad antes de conceder acceso al servidor proxy a los miembros de las funciones de base de datos del Agente SQL Server. Los miembros de SQLAgentOperatorRole se convierten automticamente en miembros de SQLAgentUserRole y SQLAgentReaderRole. Esto significa que los miembros de SQLAgentOperatorRole tienen acceso a todos los servidores proxy del Agente SQL Server cuyo acceso se ha concedido a SQLAgentUserRole o SQLAgentReaderRole y, por tanto, pueden utilizar dichos servidores proxy.

- 154 -

En la siguiente tabla encontrar un resumen de los permisos de SQLAgentOperatorRole para los objetos del Agente SQL Server.
Trabajos locales S 2 (slo trabajos que les pertenecen) Trabajos multiservidor Programacin de trabajos S (slo programaciones que les pertenecen) Servidores proxy

Accin Crear, modificar o eliminar Ver lista (enumerar) Habilitar o deshabilitar Ver propiedades Modificar propiedades

Alertas

Operadores

No

No

No

No

S 1

No

No

S 3

No

S 4

No aplicable

No

No

S (slo trabajos que les pertenecen)

No

S (slo programaciones que les pertenecen)

No

Ejecutar, detener o iniciar Ver historial de trabajos Eliminar historial de trabajos Adjuntar o separar

No aplicable

No aplicable

No

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

No

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

No aplicable

S (slo programaciones que les pertenecen)

No aplicable

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.

Crear Cuentas de Proxy del Agente SQL Server Un proxy del Agente SQL Server define el contexto de seguridad de un paso de trabajo. Proporciona al Agente SQL Server acceso a las credenciales de seguridad de un usuario de Microsoft Windows. Cada proxy se puede asociar a uno o ms subsistemas. Un paso de trabajo que utilice el proxy puede obtener acceso a los subsistemas especificados usando el contexto de seguridad del usuario de Windows. Antes de que el Agente SQL Server ejecute un paso de trabajo que utilice un proxy, suplanta las credenciales definidas en el proxy y, a continuacin, ejecuta el paso de trabajo usando ste contexto de seguridad. 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. Informacin General sobre los Tipos de Rplica Microsoft SQL Server 2005 proporciona los siguientes tipos de rplica para utilizar en las aplicaciones distribuidas: Rplica transaccional (Transactinal replication). Rplica de mezcla (Merge replication). Rplica de instantneas (Snapshot replication). 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. En la rplica de instantneas, no se realiza un seguimiento de los cambios de datos; cada vez que se aplica una instantnea, sta sobrescribe completamente los datos existentes. La rplica transaccional realiza un seguimiento de los cambios a travs del registro de transacciones de SQL Server y la rplica de mezcla realiza un seguimiento de los cambios a travs de desencadenadores y tablas de metadatos.

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. De forma predeterminada, los suscriptores de publicaciones transaccionales deben tratarse como de slo lectura, porque los cambios no se propagan del vuelta al publicador. No obstante, la rplica transaccional ofrece opciones que permiten actualizaciones en el suscriptor. Para obtener ms informacin, vea Tipos de publicaciones para la rplica transaccional.

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. La rplica de instantneas es lo ms adecuado cuando los cambios en los datos son sustanciales pero poco frecuentes. Por ejemplo, si una organizacin de ventas mantiene una lista de precios de productos y todos los precios se actualizan al mismo tiempo una o dos veces al ao, es recomendable replicar la instantnea completa de los datos una vez que han cambiado. Para determinados tipos de datos pueden ser adecuadas tambin instantneas mas frecuentes. Por ejemplo, si una tabla relativamente pequea se actualiza en el publicador durante el da pero es aceptable cierta latencia, los cambios se pueden entregar por la noche como una instantnea. La rplica de instantneas tiene una carga continua mas reducida en el publicador que la rplica transaccional, ya que no se realiza ningn seguimiento de los cambios incrementales. No obstante, si el conjunto de datos que se est replicando es muy grande, ser necesaria una cantidad importante de recursos para generar y aplicar la instantnea. Tenga en cuenta el tamao del conjunto de datos entero y la frecuencia de los cambios en los datos al evaluar si utiliza o no la rplica de instantneas.

Informacin General del Modelo de Publicacin de Rplica La rplica utiliza una metfora del sector editorial para representar los componentes de una topologa de rplica, que incluyen el publicador, el distribuidor, los suscriptores, las publicaciones, los artculos y las suscripciones. Resulta til pensar en la rplica de Microsoft SQL Server como si fuera una revista: El publicador (editor) de una revista produce una o ms publicaciones. Una publicacin contiene artculos. El publicador distribuye la revista directamente o a travs de un distribuidor. Los suscriptores reciben las publicaciones a las que se han suscrito. 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 En este tema se proporciona informacin de cada fase, con vnculos a descripciones ms detalladas. Adems de conocer los pasos necesarios para configurar la rplica, es importante conocer las consideraciones de: Implementacin. Seguridad. Rendimiento. Copia de seguridad y restauracin.

Configurar la Rplica y Publicar Datos La implementacin de la rplica comienza cuando se configura el publicador y el distribuidor. El distribuidor desempea una funcin principal en la rplica transaccional; en cambio, tiene un papel ms limitado en la rplica de instantneas y de mezcla, donde se utiliza slo para tareas del historial del agente y supervisin e informes de errores. Normalmente, la rplica de mezcla y la rplica de instantneas utilizan un distribuidor que se ejecuta en el mismo equipo que el publicador, mientras que la rplica transaccional puede utilizar un distribuidor remoto, especialmente si el publicador es un sistema OLTP de alto rendimiento. Despus de configurar el publicador y el distribuidor, puede crear publicaciones basadas en los datos, subconjuntos de datos y objetos de base de datos. Cuando se crea una publicacin, debe especificar: Los datos y los objetos de base de datos que desea replicar. Qu tipo y opciones de rplica utilizar, incluido el filtro. Dnde se almacenarn los archivos de instantneas y cundo se producir la sincronizacin inicial, independientemente de que entregue manualmente el conjunto de datos inicial. Otras propiedades que se deben establecer para la publicacin. 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.

Filtrar Datos Publicados Al filtrar artculos de tabla podr crear particiones de los datos que se publicarn. Si filtra los datos publicados, podr: Minimizar la cantidad de datos que se envan a travs de la red.

- 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().

La Rplica ofrece cuatro Tipos de Filtros: Filtros de fila estticos: que estn disponibles con todos los tipos de rplica. Mediante los filtros de fila estticos, puede especificar un subconjunto de filas para publicarlo. Todos los suscriptores de una publicacin filtrada reciben el mismo subconjunto de filas para la tabla filtrada. En la siguiente ilustracin se muestra una tabla publicada que est filtrada para que solamente se incluyan las filas 2, 3 y 6 en la publicacin.

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.

Procedimientos Almacenados de Rplica Los procedimientos almacenados del sistema de rplica se documentan y estn disponibles como un mtodo para realizar tareas nicas como la implementacin de la rplica y el uso de archivos de proceso por lotes y secuencias de comandos. Si desea agregar un control de programacin de la rplica para una aplicacin o realizar tareas de rplica repetidas como la sincronizacin de suscripciones, se recomienda utilizar las interfaces de programacin suministradas con los objetos de administracin de rplica (RMO). Importante: Slo se admiten los procedimientos almacenados de rplica documentados en los Libros en pantalla de SQL Server. Los procedimientos almacenados no documentados slo se utilizan para los componentes de rplica internos y no se pueden utilizar para administrar la rplica. En la tabla siguiente se muestran los principales procedimientos almacenados de rplica:
Procedimiento almacenado sp_replicationdboption Descripcin 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. 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. Agrega un Agente de lectura de cola a un distribuidor especfico. Este procedimiento almacenado se ejecuta en el distribuidor de la base de datos de distribucin o en el publicador de la base de datos de publicaciones. Crea una publicacin de instantneas o transaccional. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones. Crea el Agente de instantneas en la publicacin especificada. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones. Agrega un inicio de sesin a la lista de acceso de la publicacin. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones. Crea un artculo y lo agrega a una publicacin. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones. 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. 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.

sp_addlogreader_agent

sp_addqreader_agent

sp_addpublication

sp_addpublication_snapshot

sp_grant_publication_access

sp_addarticle

sp_articlefilter

sp_articleview

- 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. Tanto si utiliza la rplica de instantneas, transaccional o de mezcla, la rplica crea de forma predeterminada una instantnea inicial del esquema y los datos de la publicacin y, a continuacin, la guarda en la ubicacin de la carpeta de instantneas que ha especificado. Despus de crear la suscripcin, la instantnea inicial se aplica en funcin de la programacin indicada al crear la publicacin. Puede pasar por alto uno o varios pasos de la instantnea si el suscriptor ya tiene un conjunto de datos inicial o si desea aplicarla manualmente.
Suscripcin Suscripcin de insercin Caractersticas Con una suscripcin de insercin, el publicador propaga los cambios al suscriptor sin que ste lo pida. Los cambios pueden insertarse en los suscriptores a peticin, de manera continua o segn una programacin. De forma predeterminada, el Agente de distribucin o el Agente de mezcla se ejecutan en el distribuidor. Se utiliza si Normalmente, los datos se sincronizarn de forma continua o con una frecuencia determinada. Las publicaciones requieren que el movimiento de datos sea casi en tiempo real. La sobrecarga del procesador en el distribuidor no afecta al rendimiento. Se utiliza frecuentemente en la rplica de instantneas y transaccional. Suscripcin de extraccin En una suscripcin de extraccin, el suscriptor solicita los cambios efectuados en el publicador. Las suscripciones de extraccin permiten al usuario del suscriptor determinar cundo se sincronizan los cambios en los datos. El Agente de distribucin o el Agente de mezcla se ejecutan en el suscriptor. Los datos se sincronizarn, generalmente, a peticin o en funcin de una programacin, en lugar de hacerlo de forma continuada. La publicacin dispone de un gran nmero de suscriptores y/o la ejecucin de todos los agentes en el distribuidor supone un uso demasiado intensivo de recursos. Los suscriptores son autnomos,

- 167 -

estn desconectados o se desplazan. Los suscriptores determinan cundo se conectarn y sincronizarn los cambios. Se utiliza frecuentemente en la rplica de mezcla.

Suscriptores que no son de SQL Server Oracle e IBM DB2 pueden suscribirse a publicaciones de instantneas y transaccionales con suscripciones de insercin.

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.

Asistentes para Rplica La rplica proporciona asistentes para simplificar la implementacin de la rplica. A travs de la carpeta Rplica en SQL Server Management Studio puede tener acceso a los asistentes para rplica.

Asistente para Nueva Publicacin Use el Asistente para nueva publicacin para especificar lo siguiente:

- 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.

Para Crear Publicaciones y Definir Artculos Conctese al publicador en Microsoft SQL Server Management Studio y expanda el nodo de servidor. Expanda la carpeta Rplica y, a continuacin, haga clic con el botn secundario en la carpeta Publicaciones locales. Haga clic en Nueva publicacin. Siga las indicaciones de las pginas del Asistente para la nueva publicacin. Especifique un distribuidor si la distribucin no se ha configurado en el servidor. Si en la pgina Distribuidor especifica que el servidor del publicador acte como su propio distribuidor (un distribuidor local) y el servidor no est configurado como tal, el Asistente para nueva publicacin configurar el servidor. Especifique una carpeta de instantneas predeterminada para el distribuidor en la pgina Carpeta de instantneas. La carpeta de instantneas es simplemente un directorio designado como recurso compartido; los agentes que leen y escriben en esta carpeta deben tener suficientes permisos de acceso a la misma. Si especifica que otro servidor acte como distribuidor, deber escribir una contrasea en la pgina Contrasea administrativa para las conexiones que se realicen desde el publicador al distribuidor. Esta contrasea debe coincidir con la contrasea que se especific al habilitar el publicador en el distribuidor remoto. Elija una base de datos de publicaciones. Seleccione un tipo de publicacin. Especifique los datos y los objetos de base de datos que se van a publicar; de forma opcional, filtrar columnas de artculos de tablas y establecer las propiedades de los artculos. De forma opcional, filtrar filas de artculos de tablas. Establezca la programacin del Agente de instantneas. Especifique las credenciales con las que los siguientes agentes de rplica se ejecutan y efectan conexiones: -Agente de instantneas para todas las publicaciones. -Agente de registro del LOG para todas las publicaciones transaccionales. -Agente de lectura de cola para publicaciones transaccionales que permiten suscripciones de actualizacin. Especifique un nombre 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.

Asistente para deshabilitar la publicacin y distribucin Use el Asistente para deshabilitar la publicacin y distribucin para deshabilitar la publicacin y distribucin en un servidor.

Asistente de configuracin de la topologa punto a punto Use el Asistente de configuracin de la topologa punto a punto para crear una topologa de rplica transaccional de punto a punto. Cree una publicacin transaccional en el primer nodo en el Asistente para nueva publicacin y, a continuacin, utilice el Asistente de configuracin de la topologa punto a punto para crear publicaciones y suscripciones en otros nodos.

- 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.

La interfaz del Monitor de rplica El Monitor de rplica de Microsoft SQL Server presenta una vista centrada en el publicador de toda la actividad de rplica en un formato de dos paneles. Se agrega un publicador al monitor en el panel izquierdo y, en el panel derecho, el monitor muestra informacin sobre el publicador, sus publicaciones, las suscripciones a esas publicaciones y los diversos agentes de rplica. Adems de presentar informacin de la topologa de rplica, el Monitor de rplica permite realizar varias tareas, como iniciar y detener agentes y validar datos.

- 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. Ver informacin y realizar tareas relacionadas con publicadores El Monitor de rplica muestra informacin sobre publicadores en tres fichas: Ficha Publicaciones: Esta ficha proporciona informacin resumida de todas las publicaciones en un publicador. Ficha Lista de Supervisin de Suscripciones: Esta ficha est diseada para mostrar informacin sobre suscripciones de todas las publicaciones disponibles en el publicador

- 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. El Monitor de rplica tambin proporciona un men contextual para el nodo de publicador. En el panel izquierdo, haga clic con el botn secundario en un publicador para: Editar la configuracin del Monitor de rplica para el publicador. Quitar el publicador del Monitor de rplica. Ver y editar perfiles de agente. Conectarse o desconectarse del distribuidor que almacena informacin sobre el publicador. El Monitor de rplica tambin proporciona un men contextual para el nodo de publicaciones. En el panel izquierdo, haga clic con el botn secundario en una publicacin para: Reinicializar todas las suscripciones en una publicacin. Validar todas las suscripciones en una publicacin. Generar una instantnea para una publicacin. Ver y editar las propiedades de una publicacin.

Ver informacin y realizar tareas relacionadas con suscripciones El Monitor de rplica muestra informacin sobre suscripciones en varias fichas diferentes. Haga doble clic en una suscripcin en el Monitor de Rplica para tener acceso a informacin en una ventana de detalles. Todas estas fichas son tiles para responder a la pregunta "Por qu no funciona un agente?". Los mensajes de error disponibles proporcionan informacin detallada sobre por qu no funciona un agente y un punto inicial para solucionar problemas con los agentes asociados con una suscripcin. Ficha Todas las suscripciones y ficha Lista de supervisin de suscripciones: Estas fichas se han descripto anteriormente en este tema. Ficha Historial de Publicador a distribuidor (slo rplica transaccional): En esta ficha se muestra informacin sobre el Agente de registro del LOG para una publicacin (la ficha es idntica a la ventana de detalles del Agente de registro del LOG). Ficha Historial de Distribuidor a suscriptor (rplica de instantnea y rplica transaccional). En esta ficha se muestra informacin sobre el Agente de distribucin para una suscripcin. Ficha Comandos sin distribuir (slo rplica transaccional): En esta ficha se muestra informacin sobre el nmero de comandos de la base de datos de distribucin que no

- 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. Ver informacin y realizar tareas relacionadas con perfiles de agente El Monitor de rplica incluye varios cuadros de dilogo para administrar perfiles de agente. Los perfiles de agente son conjuntos de parmetros de un agente que determinan su comportamiento. Los cuadros de dilogo son: Perfiles de agente: Este cuadro de dilogo permite: cambiar las propiedades de perfiles, crear y eliminar perfiles, especificar un perfil predeterminado y especificar que todos los agentes de un tipo especfico (por ejemplo, los Agentes de instantneas) deben utilizar un perfil determinado. Propiedades de <nombreDePerfilDeAgente>: Este cuadro de dilogo permite ver y editar la configuracin de parmetros de un perfil. Nuevo perfil de agente: Este cuadro de dilogo permite crear un perfil nuevo y, opcionalmente, incluye los valores de un perfil existente.

Supervisar estado de la suscripcin y la publicacin en el Monitor de rplica En el Monitor de rplica de Microsoft SQL Server se muestra informacin del estado de las publicaciones y suscripciones: El estado de una publicacin est determinado por el estado de prioridad ms alto de sus suscripciones. Por ejemplo, si una suscripcin a una publicacin tiene un error y otra tiene un problema de rendimiento se muestra un estado de error para la publicacin. El estado de una suscripcin se determina por el estado de los agentes que dan servicio a la suscripcin. En la rplica de mezcla, es el Agente de mezcla. En la rplica transaccional, es el Agente de registro del LOG o el Agente de distribucin (se muestra el estado de prioridad mas alto; el estado tambin se puede determinar por el Agente de lectura de cola si se utilizan suscripciones de actualizacin en cola). En la rplica de instantneas, es el Agente de instantneas o el Agente de distribucin (se muestra el estado de prioridad ms alto). 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. Adems de los estados de suscripcin y publicacin, la rplica de mezcla proporciona estadsticas de artculos, que ofrecen informacin detallada sobre cunto tiempo tarda en completarse la fase de mezcla, cuanto tiempo se invierte en procesar un artculo determinado, el tipo de conexin de conexin que utiliza un suscriptor y dems informacin importante. Las

- 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. Supervisar agentes de rplica El Monitor de rplica de Microsoft SQL Server proporciona una vista sistmica de la actividad de rplica, aunque tambin facilita la bsqueda de informacin sobre un agente concreto. En la siguiente lista se incluye cada agente, las fichas del Monitor de rplica en las que se puede encontrar y un vnculo a un tema en el que se explica el modo de obtener acceso a las fichas: Los siguientes agentes estn asociados con publicaciones en el Monitor de rplica: Agente de instantneas Agente de registro del LOG Agente de lectura de cola 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). Los siguientes agentes estn asociados con suscripciones en el Monitor de rplica: Agente de distribucin Agente de mezcla 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).

Para supervisar el Agente de instantneas y el Agente de registro del LOG Conctese al publicador en Management Studio y, a continuacin, expanda el nodo de servidor. Expanda la carpeta Rplica y, a continuacin, expanda la carpeta Publicaciones locales. Haga clic con el botn secundario en una publicacin y, a continuacin, en Ver estado del Agente de registro del LOG o en Ver estado del Agente de instantneas. En el cuadro de dilogo Ver estado del Agente de registro del LOG o Ver estado del Agente de instantneas: o Vea el estado del agente o Inicie o detenga el agente si fuese necesario. o Haga clic en Supervisar para iniciar el Monitor de Rplica. Haga clic en Cerrar.

Para supervisar el Agente de distribucin y el Agente de mezcla (en el publicador) Conctese al publicador en Management Studio y, a continuacin, expanda el nodo de servidor. Expanda la carpeta Rplica y, a continuacin, expanda la carpeta Publicaciones locales. Expanda la publicacin de la suscripcin que desea supervisar. Haga clic con el botn secundario en la suscripcin y, a continuacin, haga clic en Ver estado de sincronizacin. En el cuadro de dilogo Ver estado de sincronizacin:

- 181 -

o o o

Vea el estado del agente Inicie o detenga el agente si fuese necesario. 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.

Para supervisar el Agente de distribucin y el Agente de mezcla (en el suscriptor) Conctese al suscriptor en Management Studio y expanda el nodo de servidor. Expanda la carpeta Rplica y, a continuacin, expanda la carpeta Suscripciones locales. Haga clic con el botn secundario en la suscripcin que desee supervisar y, a continuacin, haga clic en Ver estado de sincronizacin. En el cuadro de dilogo Ver estado de sincronizacin: o Vea el estado del agente o Inicie o detenga el agente si fuese necesario. o 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


Replicar Datos en un Entorno de Servidor a Servidor Resulta til dividir la rplica en dos categoras generales: replicar datos en un entorno de servidor a servidor y replicar datos entre un servidor y los clientes. Por lo general, los datos se replican entre servidores para proporcionar compatibilidad con las siguientes aplicaciones y requisitos: Mejorar la escalabilidad y la disponibilidad: Mantener copias de los datos que se actualicen de forma continua permite escalar la actividad de lectura entre varios servidores. La redundancia que produce el mantener varias copias de los mismos datos es crucial durante el mantenimiento del sistema (ya sea planeado o no planeado). Almacenamiento de datos e informes: Los servidores de almacenamiento de datos e informes utilizan con frecuencia datos de los servidores de procesamiento de transacciones en lnea (OLTP). Utilice la rplica para mover datos entre los servidores OLTP y los sistemas de informes y ayuda para la toma de decisiones. Integrar datos de varios sitios: Con frecuencia, los datos se transfieren desde las oficinas remotas y se consolidan en una oficina central. De la misma forma, es posible replicar los datos en las oficinas remotas. Integrar datos heterogneos: Algunas aplicaciones dependen de datos que se envan o se reciben de bases de datos distintas de SQL Server. Utilice la rplica para integrar datos de bases de datos que no sean de SQL Server. Descargar procesos por lotes: Las operaciones por lotes consumen con frecuencia demasiados recursos para ejecutarse en un servidor OLTP. Utilice la rplica para descargar el procesamiento a un servidor de proceso por lotes dedicado.

Replicar Datos entre un Servidor y los Clientes Los datos normalmente se replican entre servidores y clientes para admitir las siguientes aplicaciones: Intercambiar datos con usuarios mviles: Muchas aplicaciones requieren que los datos estn disponibles para usuarios remotos, como personal de ventas, repartidores, etc. Estas aplicaciones incluyen las de administracin de relaciones con los clientes (CRM), automatizacin del personal de ventas (SFA) y automatizacin del personal de campo (FFA). Aplicaciones de punto de venta (POS) para el consumidor: Las aplicaciones POS, como los terminales de caja de salida y los cajeros automticos, requieren que los datos se repliquen desde sitios remotos a un sitio central. Integrar datos de varios sitios: Las aplicaciones a menudo integran datos de varios sitios. Por ejemplo, una aplicacin de apoyo a oficinas regionales puede requerir que los datos fluyan en una o en ambas direcciones entre las oficinas regionales y la oficina central.

Rplica Transaccional de Punto a Punto (Peer to Peer) La rplica transaccional de punto a punto est diseada para aplicaciones que pueden leer o modificar los datos en cualquiera de las bases de datos que participan en la rplica. Por ejemplo, una aplicacin para realizar compras por Internet es muy adecuada para la rplica de punto a punto: el rendimiento de la aplicacin se puede mejorar distribuyendo entre varias bases de datos las consultas que leen los datos. Adems, si alguno de los servidores que alojan las bases de datos no est disponible, se puede programar una aplicacin para dirigir el trfico a los otros servidores, que contienen copias idnticas de los datos. El rendimiento de

- 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.

Topologas de Punto a Punto En los siguientes escenarios se ilustran los usos tpicos de la rplica de punto a punto.

Topologa en la que participan dos bases de datos:

- 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. Topologa en la que participan tres o ms bases de datos

- 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.

Implementar la Rplica por Internet La rplica de datos por Internet permite a usuarios desconectados y remotos obtener acceso a los datos cuando los necesiten, por medio de una conexin a Internet. Puede llevar a cabo la rplica de datos por Internet mediante: Una red virtual privada (VPN): La tecnologa de Red privada virtual (VPN) permite a los usuarios que trabajan en su casa, oficinas subsidiarias, clientes remotos y otras empresas conectarse a una red corporativa por Internet, al tiempo que se mantiene una comunicacin segura. Los usuarios pueden utilizar la Autenticacin de Windows como si estuvieran en una red de rea local (LAN). Todos los tipos de rplica de Microsoft SQL Server pueden replicar datos a travs de una red privada virtual (VPN), pero se puede usar la sincronizacin Web si se est usando la rplica de mezcla, porque con la sincronizacin Web no es necesario usar una VPN. Una VPN incluye el software cliente para que los equipos se conecten a travs de Internet (o incluso en una Intranet, en casos especiales) al software de un equipo dedicado o servidor. Opcionalmente, se utiliza el cifrado en ambos extremos y mtodos de autenticacin de usuario. La conexin VPN a travs de Internet funciona lgicamente como un vnculo de red de rea extensa (WAN) entre los sitios. Una VPN conecta los componentes de una red por medio de otra red. Para la conexin, el usuario utiliza Internet u otra red pblica mediante un protocolo como el Protocolo de tnel punto a punto (PPTP) de Microsoft o el Protocolo de tnel de capa 2. Este proceso garantiza la misma seguridad y caractersticas que anteriormente slo estaban disponibles en una red privada. El protocolo PPTP est disponible con los sistemas operativos Microsoft Windows NT versin 4.0 y Microsoft Windows 2000 (y posteriores), y el protocolo L2TP, con Windows 2000 y posteriores.

- 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.

Configurar la Sincronizacin Web Para utilizar la sincronizacin Web para la rplica, siga estos pasos: Configure una publicacin para que permita la sincronizacin Web. Si utiliza un publicador por primera vez, tambin debe configurar un distribuidor y un recurso compartido de instantneas. El Agente de mezcla de cada suscriptor debe tener permisos de lectura en el recurso compartido de instantneas. Configure el equipo en el que se estn ejecutando los Servicios de Microsoft Internet Information Server (IIS) para sincronizar suscripciones. Las versiones 5.0 y 6.0 de IIS son compatibles. Para utilizar la sincronizacin Web, debe configurar IIS mediante los siguientes pasos: o Configure SSL (Capa de sockets seguros). SSL es necesario para establecer comunicaciones entre IIS y todos los suscriptores. o Instale los componentes de conectividad de Microsoft SQL Server en el equipo en el que se ejecuta IIS mediante el Asistente para la instalacin de SQL Server. o Configure el equipo en el que se ejecuta IIS para la sincronizacin Web. Puede configurar el equipo manualmente o usar el Asistente para configurar la sincronizacin Web. Se recomienda utilizar el asistente. o Seleccione los permisos adecuados para la Escucha de rplica de SQL Server. o Ejecute la sincronizacin Web en modo de diagnstico para probar la conexin con el equipo en el que se ejecuta IIS y para asegurarse de que el certificado SSL est instalado correctamente. Configure una o ms suscripciones para utilizar la sincronizacin Web.

- 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.

Configurar una Alta Disponibilidad Una solucin de alta disponibilidad enmascara los efectos de un error de hardware o software y mantiene la disponibilidad de las aplicaciones a fin de minimizar el tiempo de inactividad que perciben los usuarios. SQL Server 2005 ofrece varias opciones para crear una alta disponibilidad para un servidor o una base de datos. Entre las opciones de alta disponibilidad figuran las siguientes: Clster de conmutacin por error Creacin de reflejo de la base de datos Trasvase de registros Replicacin Importante: Es fundamental disponer de una estrategia de copia de seguridad y restauracin bien diseada e implementada para utilizar una solucin de alta disponibilidad.

Cluster de conmutacin por error Un cluster de conmutacin proporciona alta disponibilidad a una instancia completa de SQL Server. Un cluster 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

- 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. Creacin de reflejo de la base de datos La creacin de reflejo de la base de datos es bsicamente una solucin de software para aumentar la disponibilidad de la base de datos mediante una conmutacin por error casi inmediata. La creacin de reflejo de la base de datos puede utilizarse para mantener una sola base de datos en estado de espera, o base de datos reflejada, para una base de datos de produccin correspondiente a la que se conoce como base de datos principal. La base de datos reflejada se crea mediante la restauracin (sin recuperacin) de una copia de seguridad de la base de datos principal. Eso hace que los clientes no dispongan de acceso a la base de datos reflejada. Sin embargo, es posible utilizarla de forma indirecta para generar informes creando una instantnea de base de datos en la base de datos reflejada. La instantnea de la base de datos proporciona a los clientes acceso de slo lectura a la informacin de la base de datos tal como exista al crearse la instantnea. Cada configuracin de creacin de reflejo de la base de datos incluye un servidor principal que contiene la base de datos principal y un servidor reflejado que contiene la base de datos reflejada. El servidor reflejado actualiza de forma constante la base de datos reflejada con relacin a la base de datos principal. La creacin de reflejo de la base de datos se ejecuta con una operacin sincrnica en modo de alta seguridad o con una operacin asincrnica en modo de alto rendimiento. En modo de alto rendimiento, las transacciones se confirman sin esperar a que el servidor reflejado escriba el registro en el disco, lo que maximiza el rendimiento. En modo de alta seguridad, una transaccin confirmada se confirma en ambos asociados, pero a riesgo de aumentar la latencia de las transacciones. En la configuracin ms sencilla, la creacin de reflejo de la base de datos slo implica a los servidores principal y reflejado. En sta configuracin, si se pierde el servidor principal, el reflejado se puede utilizar como servidor en espera semiactiva, con posible prdida de datos. El modo de alta seguridad admite una configuracin alternativa: modo de alta seguridad con conmutacin por error automtica. Esta configuracin implica a una tercera instancia de servidor, denominada testigo, que permite al servidor reflejado actuar como servidor en espera activa. La conmutacin por error de la base de datos principal a la base de datos reflejada suele tardar unos segundos. La creacin de reflejo de la base de datos es completamente compatible con SQL Server Standard Edition y Enterprise Edition, aunque los asociados de conmutacin por error deben utilizar la misma edicin. Las instancias de servidor que se ejecutan en SQL Server Workgroup Edition o Express Edition slo son compatibles con la funcin de testigo.

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.

Seleccionar una Solucin de Alta Disponibilidad En la siguiente lista figuran algunas consideraciones que deben tenerse en cuenta para elegir una solucin de alta disponibilidad. El cluster de conmutacin por error y la creacin de reflejo de la base de datos ofrecen: Deteccin y conmutacin por error automticas Conmutacin por error manual Redireccionamiento de clientes transparente El cluster de conmutacin por error presenta las siguientes restricciones: Funciona en el mbito de la instancia de servidor Exige hardware certificado No permite la generacin de informes en espera Utiliza una sola copia de la base de datos No protege frente a errores de disco

- 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 La creacin de reflejo de la base de datos supone un aumento considerable de la disponibilidad con relacin al nivel que se consegua anteriormente con SQL Server y constituye una alternativa fcil de administrar al clster de conmutacin por error. El trasvase de registros puede ser un complemento o una alternativa a la creacin de reflejo de la base de datos. Aunque son similares conceptualmente, la creacin de reflejo de la base de datos asincrnica y el trasvase de registros tienen diferencias importantes. El trasvase de registros ofrece las siguientes capacidades distintivas: 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. La replicacin ofrece las siguientes ventajas: Permite el filtrado en la base de datos para obtener un subconjunto de datos en las bases de datos secundarias, dado que funciona en el mbito de la base de datos. Permite ms de una copia redundante de la base de datos. Permite la disponibilidad y escalabilidad en tiempo real entre varias bases de datos, adems de admitir las actualizaciones con particiones. Asegura una disponibilidad completa de las bases de datos secundarias para las opciones de informes entre otras, sin recuperacin de consultas.

- 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.

Consideraciones antes de Instalar un Cluster de Conmutacin por Error Antes de instalar un clster de conmutacin por error de SQL Server 2005, debe seleccionar el hardware y el sistema operativo en el que se ejecutar SQL Server 2005. Tambin debe configurar el Servicio de Cluster Server de Microsoft (MSCS), as como revisar las consideraciones relativas a la red, la seguridad y el resto del software que se ejecutar en el clster de conmutacin por error.

- 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:

Comprobar la Solucin de Hardware El sistema de hardware debe aparecer en la categora de solucin de clster. La agrupacin de componentes de clster individuales no representa un sistema aprobado de clster de conmutacin por error. Slo los sistemas adquiridos como solucin de clster y que se muestran en el grupo de clsteres estn aprobados. Es necesario comprobar especialmente la compatibilidad del hardware al implementar un clster de servidor de conmutacin por error en una red de rea de almacenamiento (SAN). La solucin de hardware completa debe encontrarse en la categora Cluster/Multi-cluster Device (Dispositivo de clster/varios clsteres) de Microsoft Windows Catalog (Catlogo de Microsoft Windows) y Windows Hardware Compatibility List (Lista de compatibilidad de hardware de Windows). Si la solucin de clster incluye nodos de clster geogrficamente dispersos, deben comprobarse elementos adicionales como la latencia de red y la compatibilidad con discos compartidos. La solucin completa debe figurar en la lista de compatibilidad de hardware de clsteres geogrficos. Las configuraciones de SAN tambin se admiten en Microsoft Windows 2000 Advanced Server y Datacenter Edition. El Catlogo de Windows y la lista de compatibilidad de hardware muestran el conjunto de dispositivos de almacenamiento habilitados para SAN que se admiten como unidades de almacenamiento de SAN con varios clsteres de MSCS adjuntos. Puede implementar un conjunto de clsteres y servidores de Windows en un tejido SAN y tener el soporte tcnico de Microsoft. Puede hacerlo mediante la correspondencia de los dispositivos de esta lista con las configuraciones de clster completas definidas en la categora "clster" del Catlogo de Microsoft Windows y la lista de compatibilidad de hardware de Windows. Si implementa un clster de conmutacin por error de SQL Server 2005 en componentes de tecnologa de interfaz para pequeos equipos de Internet ( iSCSI), se recomienda hacerlo con precaucin. Considere la posibilidad de utilizar el uso compartido de recursos de disco de qurum. En un clster de servidores, el disco de qurum contiene una copia maestra de la configuracin del clster de servidores. Tambin como "desempate" si se produce un error en toda la comunicacin de red entre los nodos del clster. En funcin del tipo de clster de servidores que se implemente, el disco de qurum puede ser o no un disco fsico en la matriz de discos del clster compartidos. Aunque es conveniente reservar un disco del clster completo para su uso como disco de qurum, se puede permitir el acceso de los recursos distintos del recurso de qurum al disco de qurum. Sin embargo, al hacer que el recurso de qurum comparta el mismo disco con otros recursos, debe decidir entre dos alternativas no deseadas. Debe configurar el recurso para que un potencial error no afecte al grupo, o bien debe permitir que los errores de otros recursos afecten al grupo. En el primer caso, se pierde compatibilidad con la conmutacin por error con el recurso; en el segundo, el recurso de qurum realiza la conmutacin por error junto con el resto del grupo que contiene el recurso de qurum y el recurso con error. Como consecuencia, todo el clster queda sin conexin durante el tiempo que el grupo tarde en realizar la conmutacin por error. Para instalar un clster de conmutacin por error de SQL Server 2005 cuando los archivos de instalacin de origen y el clster existen en diferentes dominios, copie los archivos de instalacin en el nodo principal del clster. A continuacin, inicie la instalacin del nodo principal.

- 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.

Configurar el Servicio de Cluster Server de Microsoft El Servicio de Cluster Server de Microsoft ( MSCS) debe configurarse al menos en un nodo del clster de servidores. MSCS slo se admite si est instalado en una configuracin de hardware cuya compatibilidad con el software MSCS haya sido comprobada. Adems, debe ejecutar SQL Server 2005 Enterprise Edition o Standard Edition junto con MSCS. SQL Server 2005 Enterprise Edition admite clsteres de conmutacin por error con un mximo de 8 nodos. SQL Server 2005 Standard Edition admite clsteres de conmutacin por error con 2 nodos. 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.

Instalar el Coordinador de Transacciones Distribuidas de Microsoft Antes de instalar SQL Server 2005 en un clster de conmutacin por error, determine si debe crearse el recurso de clster del Coordinador de Transacciones Distribuidas de Microsoft (MSDTC). Si slo instala el Motor de base de datos, no ser necesario el recurso de clster de MSDTC. Si instala el Motor de base de datos y SSIS, Notification Services o componentes de la estacin de trabajo, deber instalar MSDTC. Este requisito se aplica a los sistemas operativos Windows 2000 y Windows Server 2003. Las herramientas administrativas Servicios de componentes, proxy de MSDTC y administrador de transacciones de MSDTC se instalan en cada nodo del clster de servidores basados en Windows. El clster utiliza los Servicios de Cluster Server de Microsoft (MSCS) como parte de la instalacin del clster de servidores basados en Windows. 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. Los administradores de recursos se vuelven a conectar al administrador de transacciones y realizan la recuperacin para determinar el resultado de las transacciones pendientes. Las aplicaciones se vuelven a conectar a MSDTC para poder iniciar las nuevas transacciones. Por ejemplo, suponga que el administrador de transacciones de MSDTC est activo en el sistema B. El programa de aplicacin y el administrador de recursos del sistema A llaman al proxy de MSDTC. El proxy de MSDTC del sistema A reenva todas las llamadas de MSDTC al administrador de transacciones de MSDTC del sistema B. Si se produce un error en el sistema B, el administrador de transacciones de MSDTC del sistema A tomar el control. Leer todo el archivo de registro de MSDTC en el disco del clster compartido, realizar la recuperacin y, a continuacin, actuar como administrador de transacciones de todo el clster.

Otras Consideraciones de Software Asegrese de que todos los nodos del cluster estn configurados de forma idntica, lo que incluye COM+, letras de unidad de disco y usuarios del grupo de administradores. Compruebe que la interconexin del clster (latido) est configurada correctamente. Compruebe que ha borrado los registros del sistema en todos los nodos y ha consultado de nuevo los registros del sistema. Antes de continuar, asegrese de que los registros no contienen mensajes de error.

- 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 (&)

Consideraciones Relativas a la Red Antes de iniciar el programa de instalacin de SQL Server, compruebe que ha desactivado NetBIOS para todas las tarjetas de red privada. El nombre de red y la direccin IP del servidor SQL Server no deben utilizarse para ningn otro fin, por ejemplo el uso compartido de archivos. Si desea crear un recurso compartido de archivos, utilice un nombre de red y una direccin IP diferentes y nicos para el recurso. Importante: Microsoft recomienda no utilizar recursos compartidos de archivos en unidades de datos, ya que pueden afectar al comportamiento y el rendimiento de SQL Server. 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.

Instalar un Custer de Conmutacin por Error Para instalar un clster de conmutacin por error de Microsoft SQL Server 2005, debe crear y configurar una instancia de clster de conmutacin por error mediante la ejecucin del programa de instalacin de SQL Server.

Elementos de una instancia de clster de conmutacin por error Una instancia de clster de conmutacin por error puede ejecutarse en uno o varios equipos que sean nodos participantes de un clster de conmutacin por error. Slo el sistema operativo puede limitar el nmero de nodos participantes. Una instancia de clster de conmutacin por error contiene: Una combinacin de uno o ms discos en un grupo de clsteres de Servicios de Cluster Server de Microsoft (MSCS), conocido tambin como grupo de recursos. Cada grupo de recursos puede contener una instancia de SQL Server como mximo. Un nombre de red para la instancia de clster de conmutacin por error. Una o ms direcciones IP asignadas a la instancia de clster de conmutacin por error.

- 199 -

Una instancia de SQL Server 2005 que incluya SQL Server, el Agente SQL Server y el servicio de bsqueda de texto (FTS).

Asignar nombre a una Instancia de Cluster de Conmutacin por Error Una instancia de cluster de conmutacin por error de SQL Server siempre aparece en la red como si se tratara de un solo equipo. Debe utilizar el nombre de la instancia de clster de conmutacin por error de SQL Server para conectarse al clster de conmutacin por error de SQL Server, no el nombre del equipo del nodo en el que se est ejecutando. De este modo se garantiza que siempre se pueda conectar a la instancia de clster de conmutacin por error mediante el mismo nombre, sea cual sea el nodo en el que se ejecute SQL Server. 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


Generalidades de la Creacin de Reflejo de la Base de Datos La creacin de reflejo de la base de datos es una solucin de software usada principalmente para aumentar la disponibilidad de una base de datos. La creacin de reflejo se implementa en cada una de las bases de datos y slo funciona con las que utilizan el modelo de recuperacin completa. Los modelos de recuperacin simple y por medio de registros de operaciones masivas no admiten la creacin de reflejo de la base de datos. Por lo tanto, todas las operaciones masivas se registran siempre por completo. La creacin de reflejo de una base de datos funciona con cualquier nivel de compatibilidad con bases 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).

Ventajas de la creacin de reflejo de la base de datos La creacin de reflejo de la base de datos es una estrategia sencilla que ofrece las siguientes ventajas: Aumenta la proteccin de los datos. La creacin de reflejo de la base de datos proporciona una redundancia completa o casi completa de los datos, en funcin de si el modo de funcionamiento es el de alta seguridad o el de alto rendimiento. Incrementa la disponibilidad de una base de datos. Si se produce un desastre en el modo de alta seguridad con conmutacin por error automtica, la conmutacin por error pone en conexin rpidamente la copia en espera de la base de datos, sin prdida de datos. En los dems modos operativos, el administrador de bases de datos tiene la alternativa del servicio forzado (con una posible prdida de datos) para la copia en espera de la base de datos. Mejora la disponibilidad de la base de datos de produccin durante las actualizaciones. Para minimizar el tiempo de inactividad de una base de datos reflejada, puede actualizar secuencialmente las instancias de SQL Server que participan en una sesin de reflejo de la base de datos, incurriendo slo en el tiempo de inactividad de una nica conmutacin por error. Este formulario de actualizacin se conoce como actualizacin sucesiva.

Funcionamiento de la creacin de reflejo de la base de datos Los dos servidores, principal y reflejado, se comunican y colaboran como asociados en una sesin de creacin de reflejo de la base de datos. Los dos asociados realizan funciones complementarias en la sesin: la funcin principal y la funcin de reflejo. En cada momento, un asociado realiza la funcin principal y el otro realiza la funcin de reflejo. Cada asociado se

- 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. La creacin de reflejo de la base de datos implica rehacer cada operacin de insercin, actualizacin y eliminacin que ocurre desde la base de datos principal a la base de datos reflejada tan pronto como sea posible. Para rehacer estas operaciones se enva cada entrada del registro de transacciones activo al servidor reflejado que, en secuencia, aplica las entradas del registro a la base de datos reflejada lo ms rpido posible. A diferencia de la rplica, que trabaja en el nivel lgico, la creacin de reflejo de la base de datos trabaja en el registro fsico.

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. Existen dos modos de funcionamiento de la creacin de reflejo: Modo de Alta Seguridad: Admite el funcionamiento sincrnico. En el modo de alta seguridad, cuando se inicia una sesin, el servidor reflejado sincroniza la base de datos reflejada con la base de datos principal lo ms rpido posible. Una vez sincronizadas las bases de datos, una transaccin confirmada se confirma en ambos asociados, pero a costa de aumentar la latencia de las transacciones. Modo de Alto Rendimiento: Se ejecuta de forma asincrnica. El servidor reflejado intenta hacer frente a las entradas de registro enviadas por el servidor principal. La base de datos reflejada podra ir un poco retrasada con respecto a la base de datos principal; sin embargo, el espacio entre las bases de datos suele ser pequeo. No obstante, la diferencia puede ser considerable si el servidor principal soporta una gran carga de trabajo o el sistema del servidor reflejado se encuentra sobrecargado. 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. En la siguiente ilustracin se muestra esta configuracin.

- 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. En la siguiente ilustracin se muestra una configuracin que incluye un testigo.

Seguridad de las Transacciones y Modos de Funcionamiento Que el modo operativo sea asincrnico o sincrnico depende de la configuracin de seguridad de las transacciones. Si utiliza exclusivamente SQL Server Management Studio para configurar la creacin de reflejo de la base de datos, la configuracin de seguridad de las transacciones se realiza automticamente cuando selecciona el modo operativo. Si utiliza Transact-SQL para configurar la creacin de reflejo de la base de datos, deber comprender cmo establecer la seguridad de las transacciones. El control de la seguridad de

- 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.

Extremo de Creacin de Reflejo de Base de Datos La administracin de conexiones en Microsoft SQL Server 2005 se basa en extremos. Un extremo es un objeto de SQL Server que permite a SQL Server comunicarse por la red. En la creacin de un reflejo de una base de datos, una instancia de servidor requiere su propio extremo de creacin de reflejo de la base de datos dedicado. Todas las conexiones de creacin de reflejo en una instancia de servidor utilizan un nico extremo de reflejo de la base de datos. Se trata de un extremo especial que se utiliza exclusivamente para recibir conexiones de creacin de reflejo de la base de datos procedentes de otras instancias de servidor. Nota: Las conexiones de cliente al servidor principal no usan el extremo de creacin de reflejo de la base de datos. Los extremos de creacin de reflejo de la base de datos utilizan el Protocolo de control de transporte (TCP, Transmission Control Protocol) para enviar y recibir mensajes entre instancias de servidor en sesiones de creacin de reflejo de la base de datos. Cada extremo de creacin de reflejo de la base de datos se escucha en un nmero de puerto TCP diferente. El extremo de creacin de reflejo de la base de datos de una instancia de servidor controla el puerto en el que dicha instancia escucha los mensajes de creacin de reflejo de la base de datos de otras instancias de servidor.

Cmo Crear un Extremo de Reflejo para la Autenticacin de Windows Cada instancia de servidor de creacin de reflejo de base de datos requiere un puerto de escucha nico asignado al extremo de creacin de reflejo de base de datos de la instancia. Una instancia de servidor slo puede tener un extremo de creacin de reflejo de base de datos, que tiene un puerto nico. Un extremo de creacin de reflejo de base de datos puede utilizar cualquier puerto disponible en el sistema local cuando se crea el extremo. Todas las sesiones de creacin de reflejo de base de datos de una instancia de servidor escuchan en dicho puerto y todas las conexiones entrantes para la creacin de reflejo de base de datos utilizan dicho puerto.

Roles de servidor Los argumentos que aparecen DATABASE_MIRRORING.

continuacin

son

especficos

de

la

opcin

ROLE = { WITNESS | PARTNER | ALL } Especifica la funcin o funciones de creacin de reflejo de la base de datos que admite el extremo. 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.

Para Crear un Extremo de Reflejo utilizando la Autenticacin de Windows Conecte con la instancia del servidor para la que desea crear un extremo de reflejo de la base de datos. Determine si ya existe un extremo de reflejo de la base de datos utilizando la siguiente instruccin: SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints 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: CREATE ENDPOINT <Nombre_endpoint> STATE=STARTED AS TCP ( LISTENER_PORT = <Lista_Puertos_Escucha> ) FOR DATABASE_MIRRORING ( [ AUTHENTICATION = WINDOWS [ <Metodo_Autorizacin> ] ] [ [,] ENCRYPTION = REQUIRED [ ALGORITHM { <algoritmo> } ] ] [,] ROLE = <rol> ) Argumentos: <Nombre_endpoint>: Es un nombre exclusivo para el extremo de reflejo de la base de datos de la instancia del servidor. STARTED: Especifica que el extremo debe iniciarse y que debe empezar a escuchar las conexiones. Un extremo de reflejo de base de datos normalmente se crea en el estado STARTED. Opcionalmente, puede iniciar una sesin en el estado STOPPED (valor predeterminado) o DISABLED. <Lista_Puertos_Escucha>: Es un nmero de puerto nico en el que desea que el servidor escuche los mensajes de creacin de reflejo de base de datos. Slo se permite TCP; si se especifica cualquier otro protocolo se provoca un error. Un nmero de puerto slo se puede usar una vez por sistema. Un extremo de creacin de reflejo de base de datos puede utilizar cualquier puerto disponible en el sistema local cuando se crea el extremo. Para identificar los puertos que estn usando los extremos TCP del sistema, utilice la siguiente instruccin Transact-SQL: SELECT name, port FROM sys.tcp_endpoints 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 DISABLED SUPPORTED REQUIRED Definicin Especifica que los datos enviados en una conexin no estn cifrados. Especifica que los datos estn cifrados slo si el extremo opuesto especifica SUPPORTED o REQUIRED. Especifica que los datos enviados en una conexin deben estar cifrados.

<algoritmo>: Proporciona la opcin de especificar estndares de cifrado para el extremo. El valor de <algoritmo> puede ser uno de los siguientes algoritmos o combinaciones de algoritmos: RC4, AES, AES RC4 o RC4 AES. AES RC4 especifica que este extremo negociar el algoritmo de cifrado, dando preferencia al algoritmo AES. RC4 AES especifica que este extremo negociar el algoritmo de cifrado, dando preferencia al algoritmo RC4. Si ambos extremos especifican ambos algoritmos pero en rdenes diferentes, el extremo que acepta la conexin gana. <rol>: Define la funcin o las funciones que el servidor puede llevar a cabo. Se tiene que especificar ROLE. Para permitir que una instancia de servidor sirva como una funcin para una sesin de reflejo de base de datos y una funcin diferente para otra sesin, especifique ROLE=ALL. Para hacer que la instancia de un servidor slo sea un asociado o un testigo, especifique ROLE=PARTNER o ROLE=WITNESS, respectivamente.

Direccin de Red de Servidor La direccin de red de una instancia de servidor (su direccin de red de servidor) contiene el nmero de puerto de su extremo, as como el nombre de sistema y de dominio del equipo host. Dado que cada servidor cuenta con un extremo para la creacin de reflejo distinto que utiliza un puerto exclusivo, el nmero de puerto identifica de forma exclusiva una instancia de servidor especfica. Esto permite que varias instancias de servidor en un mismo servidor participen en la creacin del reflejo de la base de datos (que slo se suele realizar con fines de pruebas). En la siguiente ilustracin se muestra cmo dos instancias de servidor en el mismo servidor se identifican de forma exclusiva. Las direcciones de red de las dos instancias de servidor contienen el mismo nombre de sistema, MYSYSTEM, y el mismo nombre de dominio, Adventure-Works.MyDomain.com. Para habilitar el sistema de forma que enrute conexiones a una instancia de servidor, una direccin de red de servidor incluye el nmero de puerto asociado al extremo para la creacin de reflejo de una instancia de servidor en particular.

- 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. El servidor reflejado escribe inmediatamente el registro entrante en el disco, donde se mantiene hasta que se aplica a la base de datos reflejada. El registro que permanece en espera en el disco del reflejo se conoce como la cola rehecha. La parte del registro sin restaurar que espera

- 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. Generalmente, al rehacer el registro, la base de datos reflejada se pone inmediatamente al nivel de la base de datos principal. El modo operativo de la sesin determina si la base de datos reflejada alcanza totalmente el nivel de la base de datos principal. En el modo de alta seguridad sincrnico, el servidor principal espera para confirmar las transacciones nuevas hasta que se graban en el disco del registro del servidor reflejado. Cuando las entradas del registro acumuladas se han enviado al servidor reflejado, la base de datos reflejada se sincroniza con la principal. 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 servidor Sesin para la base de datos A Sesin para la base de datos B Sesin para la base de datos C Sesin para la base de datos D

- 208 -

SSInstance_1 SSInstance_2 SSInstance_3

Testigo Asociado Asociado

Asociado Testigo Asociado

Asociado Asociado Testigo

Asociado Asociado Testigo

En la siguiente ilustracin se muestran dos instancias de servidor que participan como asociados en dos sesiones de creacin de reflejo. Una sesin es para una base de datos llamada Db_1 y la otra sesin es para una base de datos llamada Db_2.

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.

Requisitos Previos para una Sesin de Creacin de Reflejo de la Base de Datos Para que pueda comenzar una sesin de creacin de reflejo, el propietario de la base de datos o el administrador del sistema deben crear la base de datos reflejada, configurar los extremos e inicios de sesin, y en algunos casos, crear y configurar certificados. La creacin de una base de datos reflejada requiere como mnimo que se realice una copia de seguridad completa de la base de datos principal y una siguiente copia de seguridad del registro, y que ambas se restauren en la instancia de servidor reflejado mediante WITH NORECOVERY. Adems, antes de que pueda iniciar la creacin de reflejo, si se realizan copias de seguridad del registro, adicionales posteriores a la copia de seguridad del registro requerida, tambin debe aplicar manualmente cada copia de seguridad del registro adicional (siempre usando WITH NORECOVERY). Tras aplicar la copia de seguridad del registro ms reciente, puede iniciar la creacin de reflejo.

- 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.

Conmutacin por Error Manual El modo de alta seguridad admite la conmutacin por error manual. Al sincronizar la base de datos, su propietario puede iniciar una conmutacin por error manual. La conmutacin por error manual se proporciona con fines administrativos. 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: ALTER DATABASE nombre_basedatos SET PARTNER FAILOVER donde database_name es la base de datos reflejada. 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. Nota: Las transacciones que se han preparado mediante el Coordinador de Transacciones Distribuidas de Microsoft pero que an no estn confirmadas en el momento de la conmutacin por error, se consideran anuladas tras la conmutacin por error de la base de datos. 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.

Conmutacin por Error Automtica En presencia de un testigo, el modo de alta seguridad admite la conmutacin por error automtica. La conmutacin por error automtica slo se produce con la prdida del servidor principal cuando el testigo y el servidor reflejado siguen conectados entre s y la base de datos ya est sincronizada.

Forzar Servicio (con posible prdida de datos) Se permite forzar el servicio en modo de alta seguridad si no hay ningn testigo definido y en modo de alto rendimiento. Al perderse el servidor principal, el propietario de la base de datos puede hacer que sta est disponible forzando el servicio en el servidor reflejado (con posible prdida de datos). Para forzar el servicio en una sesin de creacin de reflejo de la base de datos: Conctese al servidor reflejado. Emita la instruccin siguiente: ALTER DATABASE <database_name> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS donde <database_name> es la base de datos reflejada. El servidor reflejado pasa inmediatamente al servidor principal y la creacin del reflejo se suspende. En la siguiente tabla se resumen las formas de conmutacin por error admitidas en cada uno de los modos operativos.
Alto rendimiento Conmutacin por error automtica Conmutacin por error manual Servicio forzado No No S Modo de alta seguridad sin ningn testigo No S S Modo de alta seguridad con un testigo S S No

4- Trasvase de Registros (Log Shipping)


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.

Configurar el Trasvase de Registros El trasvase de registros puede configurarse utilizando SQL Server Management Studio o ejecutando manualmente una serie de procedimientos almacenados. Para la configuracin del trasvase de registros es necesario realizar los siguientes pasos bsicos: Elegir el servidor primario, el servidor secundario y un servidor de supervisin opcional. Crear un recurso compartido de archivos para las copias de seguridad del registro de transacciones, preferiblemente en un servidor tolerante a errores que no forme parte de la configuracin del trasvase de registros. Para maximizar la disponibilidad del servidor primario, Microsoft recomienda ubicar el recurso compartido de copia de seguridad en un equipo host separado. Elegir una programacin de copia de seguridad para la base de datos primaria. Crear una carpeta para cada servidor secundario en la que se copiarn los archivos de la copia de seguridad del registro de transacciones. Estas carpetas suelen residir en los servidores secundarios. Configurar una o ms bases de datos secundarias. Opcionalmente, configurar un servidor de supervisin. 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. Importante: La herramienta de trasvase de registros de Management Studio est diseada slo para hacer frente a casos simples de copia de seguridad y restauracin. Para los casos ms complejos, como las bases de datos con muchos archivos u opciones que no son las predeterminadas, debe realizar una copia de seguridad y restaurar toda la base de datos manualmente. Por lo general, utilice la copia de seguridad y restauracin manuales para los casos que requieran un comando BACKUP o RESTORE complejo. Una vez que la base de

- 213 -

datos secundaria se ha restaurado, utilice la herramienta de trasvase de registros de Management Studio para finalizar la configuracin del trasvase de registros. Cuando configure el servidor primario para el trasvase de registros, puede especificar la frecuencia con la que se crean las copias de seguridad del registro de transacciones en el servidor primario. Si el volumen de transacciones es alto, puede ser til hacer una copia de seguridad frecuente del registro de transacciones para minimizar la prdida potencial de datos. Cmo habilitar el trasvase de registros (SQL Server Management Studio): Haga clic con el botn secundario en la base de datos que desea usar como base de datos primaria en la configuracin del trasvase de registros y, a continuacin, haga clic en Propiedades. En Seleccionar una pgina, haga clic en Trasvase de registro de transacciones. Active la casilla de verificacin Habilitar sta como base de datos primaria en una configuracin de trasvase de registros. En Copias de seguridad de registros de transacciones, haga clic en Configuracin de copia de seguridad. En el cuadro Ruta de red a esta carpeta de copia de seguridad, escriba la ruta de acceso de red al recurso compartido que cre para la carpeta de copias de seguridad de los registros de transacciones. Si la carpeta de copias de seguridad se encuentra en el servidor primario, escriba la ruta de acceso local a la carpeta de copias de seguridad en el cuadro Si la carpeta de copia de seguridad est ubicada en el servidor primario, escriba una ruta local a la carpeta (si la carpeta de copias de seguridad no est situada en el servidor primario, puede dejar este cuadro vaco). Importante: Si la cuenta de servicio de SQL Server en el servidor primario se ejecuta bajo una cuenta del sistema local, debe crear la carpeta de copias de seguridad en el servidor primario y especificar una ruta de acceso local a esa carpeta. Configure los parmetros Eliminar archivos con ms de y Mostrar una alerta si no se produce una copia de seguridad tras. Tenga presente la programacin de copia de seguridad que aparece en el cuadro Programacin bajo Trabajo de copia de seguridad. Si desea personalizar la programacin de su instalacin, a continuacin, haga clic en Programar y ajuste la programacin del Agente SQL Server segn sus necesidades. Haga clic en Aceptar. En Instancias de servidores secundarios y bases de datos, haga clic en Agregar. Haga clic en Conectar y conctese a la instancia de SQL Server que desea utilizar como servidor secundario. En el cuadro Base de datos secundaria, elija una base de datos de la lista o escriba el nombre de la base de datos que desea crear. En la ficha Inicializar base de datos secundaria, elija la opcin que desea utilizar para inicializar la base de datos secundaria. Nota: Si elige que Management Studio inicialice la base de datos secundaria desde la copia de seguridad de una base de datos, los archivos de datos creados en el servidor secundario tendrn los mismos nombres que los del servidor primario, y se crear una estructura de directorios idntica, incluida la letra de la unidad. En la ficha Copiar archivos, en el cuadro Carpeta de destino de los archivos copiados, escriba la ruta de acceso de la carpeta en la que deben copiarse las copias de seguridad de los registros de transacciones. Esta carpeta normalmente est situada en el servidor secundario. Tenga presente la programacin de copia que aparece en el cuadro Programacin bajo Trabajo de copia. Si desea personalizar la programacin de su instalacin, haga clic en Programar y, a continuacin, ajuste la programacin del Agente SQL Server

- 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.

Cambiar las funciones entre el servidor primario y secundario Despus de haber realizado la conmutacin por error al servidor secundario, puede configurar la base de datos secundaria para que acte como base de datos primaria. De este modo, podr intercambiar la base de datos primaria y la secundaria cuando sea necesario. 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 -

S-ar putea să vă placă și