Administración de bases de datos con SQL Server 2008 (ejemplo)

Administracin de bases de datos con SQL Server 2008 PedroLpez-Belmonte / Aroa Solana

Eje

mp

lo

de l

ec

tur a

Sipnosis

SQL Server 2008 constituye un cambio a todos los niveles sobreel motor de Bases de datos de Microsoft. Con SQL Server 2008 laadministracin de bases de datos se hace una tarea mucho mssencilla, debido al gran nmero de asistentes y herramientasintegradas que se proporcionan desde una nica interfaz grfica paratodo su entorno. En este libro se abordan todos los aspectos de laadministracin de un sistema de bases de datos con SQL Server 2008.Adems de las tareas y herramientas habituales, que han sidomejoradas en esta versin, podremos comprobar que las nuevascaractersticas de SQL Server 2008 en cuanto a conectividad,escalabilidad, seguridad o Business Intelligence, lo hacen unsistema mucho ms robusto y potente, preparado para dar soporte alas aplicaciones ms crticas y exigentes. Adems de la introduccin deun nuevo trmino Directivas que nos ayudarn a una correcta yeficiente administracin.

Eje

Ha impartido formacin sobre la tecnologa .NET, desarrollo deaplicaciones Windows, Web, ADO, Distribuidas, WPF, WCF, WWF,Silverlight y UML, por otra parte imparte formacin en administracinde bases de datos SQL Server y desarrollo de bases de datos SQLServer, tanto en 2005 como en 2008. Adems posee experiencia en J2SEy J2EE. Dentro de la gestin de procesos posee la certificacin ITILV2 Foundations.

mp

lo

Pedro Lpez-Belmonte es Licenciado en Ciencias Fsicas por laUniversidad Complutense de Madrid, con ms de 8 aos de experienciaen el mundo del desarrollo, consultora y formacin. Es especialistaen herramientas de desarrollo .NET y bases de datos. Ha participadoen numerosos proyectos de desarrollo en entornos corporativos demediano y gran tamao con .NET, SQL Server y SharePoint. Cuenta convarias certificaciones, entre las que se encuentran MCAD, MCTS SQLSever & SharePoint. Tambin cuenta con la certificacin MCT, ydesde el comienzo de su carrera profesional ha impartido formacin,una de sus pasiones.

Aroa Solana Ruiz es Microsoft Certified IT Professional enDatabase Developer, tambin Microsoft Certified TechnologySpecialist en SQL Server 2005, .NET Framework 3.5, Windows FormsApplications, SQL Server 2005, al igual que Database Development enSQL Server 2008. Actualmente ostenta la certificacin MCT (MicrosoftCertified Trainer) que la permite impartir un gran nmero de cursosoficiales de Microsoft y trabajar como formadora enAlhambra-Eidos.

de l

ec

tur a

LuarnaAdministracin de bases de datos con sql server 2008 PedroLpez-Belmonte Alhambra Eidos Aroa Solana Alhambra Eidos De estaedicin: 2009, Luarna Ediciones, S.L.

www.luarna.com

Madrid, octubre 2009

ISBN: 978-84-92684-58-8 Versin 1.0 (31-10-2009)

Eje

Cualquier forma de reproduccin, distribucin, comunicacin pblicao transformacin de esta obra solo puede ser realizada con laautorizacin de sus titulares, salvo excepcin prevista por la ley.Dirjase a CEDRO (Centro Espaol de Derechos Reprogrficos,www.cedro.org) si necesita fotocopiar, escanear o hacer copiasdigitales de algn fragmento de esta obra.

mp

lo

de l

ec

tur a

Este libro, se lo dedico a mi familia en particular a mispadres, que no se cmo me aguantan con todo lleno de libros y dehojas tiradas por el suelo o por cualquier sitio, gracias por estarah!. Tambin agradecrselo a la persona que ms me comprende y meapoya, gracias Javi!.

Eje

mp

lo

de l

ec

tur aDedicatoria de Aroa Solana

ADMINISTRACIN DE BASES DE DATOS CON SQL SERVER 2008Pedro LpezBelmonte Aroa Solana

Eje

mp

lo

de l

ec

tur a

Eje lo de l ec tur a

mp

Eje

Configuracin de SQL Server2008……………………………………………………………………………………42 SQL Server Management Studio………………………………………………………………………………………43 Conectar al servidor……………………………………………………………………………………………………43 Nombre del Servidor…………………………………………………………………………………………………..44 Los paneles de Management Studio……………………………………………………………………………….45 Servidores Registrados………………………………………………………………………………………………..46Explorador deObjetos…………………………………………………………………………………………………….51 Explorador de soluciones………………………………………………………………………………………………..53 Mejoras en la interfaz de Usuario……………………………………………………………………………………..54Explorador de plantillas………………………………………………………………………………………………….55 El panel de consultas…………………………………………………………………………………………………..55 El panel de Resultados………………………………………………………………………………………………..56 El Monitor de Actividad………………………………………………………………………………………………….56 SQL Server Configuration Manager………………………………………………………………………………….57 Los Protocolos…………………………………………………………………………………………………………..59 Canalizaciones con Nombre……………………………………………………………………………………..59 TCP/IP………………………………………………………………………………………………………………….60 MemoriaCompartida……………………………………………………………………………………………….60 El Cliente Nativo de SQL………………………………………………………………………………………………..60 Los Servicios de SQL Server 2008……………………………………………………………………………………61 Parmetros de inicio del servicio de SQL Server………………………………………………………………63 Cuentas de ejecucin…………………………………………………………………………………………………..65

Configuracin de la Seguridad en SQL Server 2008……………………………………………………………67 Herramienta de Configuracin de Superficie………………………………………………………………………68 Configuracin de servicios y conexiones………………………………………………………………………..68 Pgina |7

mp

lo

de l

Instalacin de SQL Server 2008………………………………………………………………………………………..19 Requisitos de Hardware………………………………………………………………………………………………….19 Requisitos de Software……………………………………………………………………………………………………20 Compatibilidad con sistemas extendidos…………………………………………………………………………22 Proceso de instalacin…………………………………………………………………………………………………….22 Prerrequisitos…………………………………………………………………………………………………………….25Instalacin de SQL Server……………………………………………………………………………………………26 Componentes de SQL Server…………………………………………………………………………………….28 Seguridad………………………………………………………………………………………………………………29 Reglas de intercalacin (Collation)…………………………………………………………………………….32 Servidor de Informes……………………………………………………………………………………………….35Informe de errores…………………………………………………………………………………………………..36 Progreso de la instalacin…………………………………………………………………………………………37 Actualizacin desde versiones anteriores………………………………………………………………………..40

ec

Introduccin……………………………………………………………………………………………………………………14 Introduccin………………………………………………………………………………………………………………….14 Introduccin a SQL Server 2008………………………………………………………………………………………15 Nuevas Caractersticas……………………………………………………………………………………………………16 Funciones Bsicas………………………………………………………………………………………………………16 Funciones de BusinessIntelligence………………………………………………………………………………..17 Funciones adicionales a SQL Server 2008………………………………………………………………………17 Herramientas de SQL Server 2008……………………………………………………………………………………18 Libros en pantalla……………………………………………………………………………………………………….18 SQL Server Configuration Manager………………………………………………………………………………18 El SQL Server Management Studio……………………………………………………………………………….18

tur a

Indice

Eje

Asistente para la optimizacin del motor de bases de datos……………………………………………….. 120Caractersticas del Asistente…………………………………………………………………………………………..121 Optimizar una base de datos…………………………………………………………………………………………..122 Generar y utilizar un archivo de carga de trabajo……………………………………………………………….125 Anlisis de exploracin…………………………………………………………………………………………………127 Generacin de las estructuras recomendadas…………………………………………………………………….128 Resolucin de bloqueos e interbloqueos……………………………………………………………………………130 Determinar la causa de un interbloqueo……………………………………………………………………………132 Herramientas de anlisis de interbloqueos………………………………………………………………………..133 Minimizar la aparicin de interbloqueos…………………………………………………………………………..138 Utilizar objetos en el mismo orden………………………………………………………………………………138 Pgina |8

mp

Analizador de SQLServer………………………………………………………………………………………………106 Trazas de servidor………………………………………………………………………………………………………..107 Plantillas…………………………………………………………………………………………………………………111 Registros de trazas……………………………………………………………………………………………………113 Programar trazas………………………………………………………………………………………………………114 Reproduccin de trazas……………………………………………………………………………………………..114 Correlacionar contadores del Monitor de Sistema de Windows……………………………………………. 118

lo

Configuracin de Servidores Vinculados……………………………………………………………………………92 Creacin de servidores vinculados…………………………………………………………………………………….93 Vincular dos servidores SQL Server 2008………………………………………………………………………93 Vincular un servidor SQL Server 2008 con otro origen de datos………………………………………… 96 Delegacin ySuplantacin………………………………………………………………………………………………97 Tareas adicionales………………………………………………………………………………………………………..101 Configuracin de proveedores OLE DB……………………………………………………………………….101

de l

Conexiones Remotas……………………………………………………………………………………………….69 Configuracin de Caractersticas…………………………………………………………………………………..69 Consultas ad hoc remotas…………………………………………………………………………………………69 Integracin CLR……………………………………………………………………………………………………..69 Conexin Dedicada del Administrador (DAC)……………………………………………………………..70 Correo Electrnico de Base de Datos………………………………………………………………………….70 SQL Mail………………………………………………………………………………………………………………70 Servicios Web XML Nativos…………………………………………………………………………………….71 Automatizacin OLE……………………………………………………………………………………………….71 Ayudante de Web……………………………………………………………………………………………………71 Xp_cmdshell………………………………………………………………………………………………………….71 Configuracin de las Entidades de Seguridad……………………………………………………………………..72 Entidades de Seguridad de Windows……………………………………………………………………………..72 Entidades de Seguridad de SQL Server…………………………………………………………………………..73 Entidades de seguridad de Base deDatos………………………………………………………………………..77Propiedad de los objetos………………………………………………………………………………………………80 Suplantacin (Impersonation)……………………………………………………………………………………….81 Asegurables………………………………………………………………………………………………………………82 Nivel de Servidor……………………………………………………………………………………………………82 Nivel de Base de Datos…………………………………………………………………………………………….83 Nivel de esquema……………………………………………………………………………………………………84 Encriptacin………………………………………………………………………………………………………………….85 Jerarqua de encriptacin en SQL Server2008…………………………………………………………………85 Encriptacin por Contrasea…………………………………………………………………………………………86 Encriptacin por clave simtrica……………………………………………………………………………………87 Encriptacin por clave asimtrica………………………………………………………………………………….88 Encriptacin por certificados………………………………………………………………………………………..89

ec

tur a

Diagnosticar y resolver errores de servidor………………………………………………………………………140 Registro de SQLServer…………………………………………………………………………………………………141 Conexin a un servidor que no responde utilizando DAC……………………………………………………143

Eje

Instantneas de base de datos………………………………………………………………………………………….172 Creacin de una instantnea…………………………………………………………………………………………..173 Operaciones demantenimiento……………………………………………………………………………………….174 Clculo del tamao de los archivos………………………………………………………………………………174 Revertir el estado de una base de datos…………………………………………………………………………175 Restricciones de una instantnea…………………………………………………………………………………….175 Limitaciones de la instantnea…………………………………………………………………………………….176 Restricciones sobre la base de datos origen……………………………………………………………………176

Servicios Web XMLNativos……………………………………………………………………………………………178 Creacin de ExtremosHTTP………………………………………………………………………………………….179 Pgina |9

mp

Gestin del Registro de Transacciones……………………………………………………………………………..161 Trasvase de registros…………………………………………………………………………………………………….161 Operaciones del trasvase de registros……………………………………………………………………………162 Trabajo de copia deseguridad………………………………………………………………………………….162 Trabajo de copia……………………………………………………………………………………………………163 Trabajo de restauracin………………………………………………………………………………………….163 Trabajo de alerta……………………………………………………………………………………………………163 Opciones de configuracin…………………………………………………………………………………………….163 TSQL……………………………………………………………………………………………………………………..168 Tareas adicionales………………………………………………………………………………………………………..170 Monitorizar el trasvase de registros……………………………………………………………………………..170 Consultas de seleccin sobre el servidorsecundario………………………………………………………..171 Conmutacin por error manual……………………………………………………………………………………171

lo

de l

Creacin de reflejo de base de datos………………………………………………………………………………..145 Alta disponibilidad……………………………………………………………………………………………………….145 DB Mirroring en SQL Server2008………………………………………………………………………………….146 Preparacin de las bases de datos……………………………………………………………………………………147 Modo de recuperacin del registro……………………………………………………………………………….147 Conectividad……………………………………………………………………………………………………………148 Autenticacin basada en Windows……………………………………………………………………………148 Autenticacin basada en certificados………………………………………………………………………..149 Reflejar Base de datos…………………………………………………………………………………………………..151 Asociacin Principal Espejo…………………………………………………………………………………….151 Configuracin adicional de DBMirroring……………………………………………………………………..152 Niveles de seguridad transaccional…………………………………………………………………………..152 Estado de la base dedatos……………………………………………………………………………………….152 Conmutacin porerror……………………………………………………………………………………………153 Iniciar una conmutacin por error…………………………………………………………………………….153 Suspender y reiniciar la sesin de reflejo…………………………………………………………………..154 Finalizar la sesin de reflejo……………………………………………………………………………………155 Creacin de la sesin de reflejo en Management Studio………………………………………………. 155 Modosde operacin……………………………………………………………………………………………………..158 Sesin de reflejo y aplicaciones cliente…………………………………………………………………………158 Monitorizacin de la sesin de espejo…………………………………………………………………………..159 Consideraciones de rendimiento………………………………………………………………………………….159 Instantneas de bases de datos…………………………………………………………………………………….160

ec

tur a

Acortar la duracin de las transacciones……………………………………………………………………….139 Nivel de aislamiento de las transacciones……………………………………………………………………..139

Eje

Rplica de Bases de Datos……………………………………………………………………………………………….215 Conceptos Generales…………………………………………………………………………………………………….215 Publicador……………………………………………………………………………………………………………….216Suscriptor………………………………………………………………………………………………………………..216 Distribuidor……………………………………………………………………………………………………………..216 Tipos de duplicacin…………………………………………………………………………………………………….216 Publicacin Instantnea……………………………………………………………………………………………..217 Publicacin transaccional…………………………………………………………………………………………..217 Publicacin transaccional con suscripcionesactualizables………………………………………………..217 Publicacin de mezcla……………………………………………………………………………………………….217 Objetos de duplicacin………………………………………………………………………………………………….218 Tipos desuscripcin……………………………………………………………………………………………………..218 Suscripciones deinsercin………………………………………………………………………………………….218 Suscripciones deextraccin………………………………………………………………………………………..218 Agentes de duplicacin…………………………………………………………………………………………………219 Agente de instantneas………………………………………………………………………………………………219 Agente de lector del registro……………………………………………………………………………………….220 Agente dedistribucin……………………………………………………………………………………………….220 Agente de mezcla……………………………………………………………………………………………………..220 Agente de lectura de cola…………………………………………………………………………………………..220 Configuracin de la rplica……………………………………………………………………………………………220 Configuracin de la Distribucin…………………………………………………………………………………221

mp

lo

Carga masiva de datos……………………………………………………………………………………………………204 Pasos previos de la recuperacin…………………………………………………………………………………….205 Modelo de recuperacin de la base dedatos…………………………………………………………………..205 Operaciones adicionales…………………………………………………………………………………………….205 Uso de la utilidad BCP………………………………………………………………………………………………….206 Instruccin BULK INSERT…………………………………………………………………………………………..208 Importar datos conOPENROWSET………………………………………………………………………………..208 Uso de los Servicios de Integracin…………………………………………………………………………………209

de l

Service Broker………………………………………………………………………………………………………………185 Arquitectura del Service Broker……………………………………………………………………………………..185 Servicios…………………………………………………………………………………………………………………186Colas………………………………………………………………………………………………………………………186 Mensajes…………………………………………………………………………………………………………………187Dilogos………………………………………………………………………………………………………………….187 Grupos deConversacin…………………………………………………………………………………………….188 Contratos………………………………………………………………………………………………………………..188 El extremo Service Broker…………………………………………………………………………………………188 Enlace a ServiciosRemotos………………………………………………………………………………………..188Rutas………………………………………………………………………………………………………………………188 Aplicaciones de Service Broker………………………………………………………………………………………189 Habilitar el Service Broker…………………………………………………………………………………………190 Crear tipos de mensajes……………………………………………………………………………………………..190 Creacin de Contratos……………………………………………………………………………………………….191 Creacin de colas……………………………………………………………………………………………………..192 Creacin de Servicios………………………………………………………………………………………………..192 Envo y recepcin de mensajes……………………………………………………………………………………….193 Recepcin de mensajes………………………………………………………………………………………………194 Envo de mensajes…………………………………………………………………………………………………….197 Seguridad y Enrutamiento de ServiceBroker…………………………………………………………………….199

ec

tur aP g i n a | 10

Seguridad de Extremos HTTP………………………………………………………………………………………..182 Limitaciones de los extremos…………………………………………………………………………………………184

Eje

Administracin de Directivas………………………………………………………………………………………….268 Trminos clave……………………………………………………………………………………………………………268 Uso de Declarative Management Framework(DMF)………………………………………………………….273 Modos de Evaluacin………………………………………………………………………………………………..277 Modos de evaluacinpermitidos………………………………………………………………………………277 Ejemplos…………………………………………………………………………………………………………………….277 MonitorizarEventos……………………………………………………………………………………………………….281 TrazaPredeterminada……………………………………………………………………………………………………282 Traza SQL………………………………………………………………………………………………………………….283 Arquitectura de trazas SQL………………………………………………………………………………………..283 SQL Server Profiler……………………………………………………………………………………………………..284 ShowplanXML………………………………………………………………………………………………………..284 Notificaciones de Eventos……………………………………………………………………………………………..286 P g i n a | 11

mp

Copias de seguridad de Bases de Datos…………………………………………………………………………….253 El registro de transacciones……………………………………………………………………………………………255 Operaciones no registradas…………………………………………………………………………………………255 Puntos decomprobacin…………………………………………………………………………………………….256 Tipos de copias de seguridad………………………………………………………………………………………….256 Copia de seguridad completa………………………………………………………………………………………256 Copia de seguridaddiferencial…………………………………………………………………………………….256 Copias de seguridad del registro de transacciones…………………………………………………………..257 Copia de seguridad de grupos de archivos…………………………………………………………………….257 Copias de seguridad de archivos………………………………………………………………………………….257 Realizar copias de seguridad………………………………………………………………………………………….257 Formatear el conjunto de medios…………………………………………………………………………………261 Realizar copias de grupos de archivos………………………………………………………………………….261 Realizar copias de seguridad espejo……………………………………………………………………………..262 Restauracin de bases de datos……………………………………………………………………………………….262 Plan de recuperacin de base de datos………………………………………………………………………….265 Mover una base de datos entre servidores…………………………………………………………………………265

lo

de l

Agente de SQL Server……………………………………………………………………………………………………240 Trabajos……………………………………………………………………………………………………………………..241 Pasos de Trabajo………………………………………………………………………………………………………243 Programaciones………………………………………………………………………………………………………..244 Completar la configuracin del Trabajo………………………………………………………………………..245 Monitor de Actividad………………………………………………………………………………………………..246Seguridad……………………………………………………………………………………………………………………248 Alertas y Operadores…………………………………………………………………………………………………….250 Alertas……………………………………………………………………………………………………………………250 Operadores………………………………………………………………………………………………………………251

ec

tur a

Configuracin de la publicacin………………………………………………………………………………….225 Configuracin de la duplicacin de instantneas…………………………………………………………….231 Configuracin de la suscripcin……………………………………………………………………………….231 Configuracin de la duplicacin transaccional……………………………………………………………….235 Configuracin de la suscripcin……………………………………………………………………………….235 Configuracin de la duplicacin transaccional con suscripcionesactualizables …………………… 235 Configuracin de lasuscripcin……………………………………………………………………………….235 Configuracin de la duplicacin de mezcla……………………………………………………………………236 Configuracin de la suscripcin……………………………………………………………………………….236 Administracin de la rplica…………………………………………………………………………………………..236 Administracin de los Agentes de rplica……………………………………………………………………..236 Monitor de Rplica……………………………………………………………………………………………………237

Eje

FILESTREAM………………………………………………………………………………………………………………315 Uso deFileStream………………………………………………………………………………………………………..315 Almacenamiento de FileStream…………………………………………………………………………………..316 Seguridad Integrada……………………………………………………………………………………………….316 Administracin Integrada……………………………………………………………………………………….316 Habilitar FILESTREAM……………………………………………………………………………………………….317 Administrar datos FILESTREAM usando Transact-SQL……………………………………………………. 318Actualizar datos FILESTREAM………………………………………………………………………………….319 Eliminar datos FILESTREAM……………………………………………………………………………………319 Administrar daos FILESTREAM usando Win32……………………………………………………………….319 Leer la ruta de acceso al archivo………………………………………………………………………………….319 Leer el contexto de la transaccin………………………………………………………………………………..320 Obtener un identificador de archivos de Win32……………………………………………………………..320 La API OpenSqlFilestream……………………………………………………………………………………..320Parmetros………………………………………………………………………………………………………..321 FilestreamPath……………………………………………………………………………………………….321 DesiredAccess……………………………………………………………………………………………….321 P g i n a | 12

mp

lo

Optimizacin delAlmacenamiento…………………………………………………………………………………..307 Compresin de Copias de Seguridad……………………………………………………………………………….307 Compresin de Datos……………………………………………………………………………………………………309 Pros y Contras de la compresin de datos……………………………………………………………………..309 Compresin a nivel de Fila…………………………………………………………………………………………310 Compresin a nivel de Pgina…………………………………………………………………………………….312 Estimar el ahorro conseguido mediante la compresin………………………………………………… 313

de l

Rendimiento………………………………………………………………………………………………………………….293 Manejar y Monitorizar Recursos…………………………………………………………………………………….293 Recopilacin dedatos………………………………………………………………………………………………..294 Configurar el Data Warehouse gestionado…………………………………………………………………294 System Data Collection Sets……………………………………………………………………………………….296 Conjunto de Recopilacin Uso de disco…………………………………………………………………….296 Uso de Disco Archivos de Datos………………………………………………………………………..297 Uso de Disco Archivos de Datos………………………………………………………………………..298 Conjunto de Recopilacin Actividad delservidor………………………………………………………..298 Actividad del servidor Instantneas deDMW……………………………………………………….299 Actividad del servidor Contadores de rendimiento……………………………………………….. 299Conjunto de Recopilacin Estadsticas de consultas……………………………………………………. 302Tipos derecopiladores……………………………………………………………………………………………….303 Tipo de recopilador de consultas T-SQL genrico……………………………………………………….303 Tipo de recopilador genrico de seguimiento de SQL…………………………………………………. 303 Tipode recopilador de contadores de rendimiento……………………………………………………… 303Tipo de recopilador Actividad de consulta…………………………………………………………………304 Crear una recopilacin de datos………………………………………………………………………………………304 Aadir tems de recopilacin…………………………………………………………………………………..305 Recopilar Datos…………………………………………………………………………………………………….306

ec

tur a

Eventos Extendidos………………………………………………………………………………………………………287 Componentes de los Eventos Extendidos………………………………………………………………………….288 Paquetes………………………………………………………………………………………………………………….288 Eventos…………………………………………………………………………………………………………………..289 Elementos asociados a los eventos……………………………………………………………………………….290 Acciones…………………………………………………………………………………………………………………290Predicados……………………………………………………………………………………………………………….290 Sesiones de eventos…………………………………………………………………………………………………..290 Ejemplo: Deteccin de Bloqueos…………………………………………………………………………………….290

Eje

mpP g i n a | 13

lo

de l

Resolucin Caso Prctico………………………………………………………………………………………………..330 Despliegue………………………………………………………………………………………………………………330 Monitorizacin del Rendimiento…………………………………………………………………………………331 Alta Disponibilidad…………………………………………………………………………………………………..331 Consumir Datos……………………………………………………………………………………………………….331

ec

Caso Prctico………………………………………………………………………………………………………………..326 Despliegue de SQL Server2008……………………………………………………………………………………..327 Monitorizacin del Rendimiento…………………………………………………………………………………….327 Alta disponibilidad……………………………………………………………………………………………………….328 Consumir Datos…………………………………………………………………………………………………………..328

tur a

OpenOptions………………………………………………………………………………………………….321 FilestreamTransactionContext…………………………………………………………………………..322 FilestreamTransactionContextLength…………………………………………………………………322 AllocationSize……………………………………………………………………………………………….322 Conflictos entre Win32 y Transact-SQL…………………………………………………………………………..322 Ejemplos…………………………………………………………………………………………………………………323 Abrir un BLOB de FILESTREAM para acceso de escritura…………………………………………. 323 Abrir un BLOBde FILESTREAM para acceso de lectura……………………………………………. 323 Abrir ycerrar varios archivos BLOB de FILESTREAM……………………………………………… 324 No sepuede cerrar uncursor……………………………………………………………………………………324

SQL Server 2008 es la ltima versin del Sistema Gestor de Basesde Datos de Microsoft para el mercado empresarial.

SQL Server surgi de la colaboracin entre Microsoft y Sybase,adems de IBM y Ashton-Tate. La primera versin fue desarrollada paraOS/2 en 1988, y no era ms que una pequea base de datos. De hecho,el sistema operativo OS/2 fue desarrollado conjuntamente por IBM yMicrosoft para dar soporte a Sybase SQL Server La primera edicin deSQL Server para Windows fue la 4.2 desarrollada en 1993,(compatible con Windows NT). SQL Server 4.2 era una base de datospara pequeos entornos (desktop database), con funcionalidadlimitada y no demasiado potente. En 1994, Microsoft y Sybasedeciden no continuar su unin con SQL Server. Esto origin una nuevaversin de SQL Server por parte de Microsoft en 1995. La primeraversin independiente de SQL Server fue la 6.05. En esta versin seintrodujeron una serie de mejoras en cuanto a rendimiento yfuncionalidad que permitan considerar a este sistema adecuado paragestionar bases de datos de pequeos negocios o aplicaciones deInternet. La siguiente versin, la 6.5, fue lanzada en 1996.

Eje

mp

Esta ltima versin cuenta con varias ediciones, incluyendo unaversin gratuita (SQL Server Express), todas ellas con ediciones de32 y 64 bit.

lo

Introduccin

de l

ecIntroduccinP g i n a | 14

tur a

Con el lanzamiento de la versin ms reciente de SQL Server,Microsoft ofrece una plataforma para informacin empresarialconfiable, productiva e inteligente. Con nuevas mejoras ycapacidades ingenieriles, SQL Server 2008 permitir que susaplicaciones funcionen mejor y se reduzca la cantidad de tiemponecesario para manejarlas. Si estuvo utilizando aplicacionesexistentes en SQL Server 2000 2005, encontrar un completo set denuevas capacidades para mejorarlas y reducir el soporte necesariogracias a que cuenta con una interfaz familiar. Muchos de estosnuevos atributos pueden proveer beneficios inmediatos sin necesidadde hacer cambios en la aplicacin.

SQL Server 2008 incluye una gran cantidad de nuevascaractersticas que permiten una gestin ms racional y eficaz delmismo, aumentan el rendimiento, la escalabilidad y la estabilidaddel servidor y, permiten una configuracin avanzada a nivel deservicios, seguridad del servidor, etc.

Eje

Adems, nos encontramos con soporte completo para XML, incluyendoun nuevo tipo de dato XML, que permite el almacenamiento dedocumentos de este tipo en formato nativo, y posibilita el uso defunciones de bsqueda y manipulacin en cdigo XML, como XQuery oXPath directamente en el propio campo de la tabla. Tambin permitela validacin de la estructura del propio documento contra esquemasXSD. Las herramientas de configuracin y mantenimiento tambin hansufrido una renovacin completa. El Administrador Corporativo, o elAnalizador de Consultas de SQL Server 2000 dejan paso al SQL ServerManagement Studio (SSMS) ya integrado en la versin anterior SQLServer 2005, que agrupa y amplia la funcionalidad de ambos. Estanueva herramienta permite gestin multiservidor tanto de servidoresOLTP como de servidores OLAP o gestin de funciones adicionales. Unanueva caracterstica muy interesante es la posibilidad de crear unasolucin, lo que permite una gestin ms P g i n a | 15

mp

Entre las nuevas caractersticas, quizs la ms llamativa sea elsoporte para compatibilidad con .NET. Esto permite la programacinde ensamblados en C# o Visual Basic 2008 y su ejecucin en SQLServer, lo que abre un gran abanico de posibilidades complementandola funcionalidad que proporciona T-SQL.

lo

Introduccin a SQL Server 2008

de l

Con SQL Server 2005 fueron capaces de competir con grandessistemas como Oracle o DB2. Muchas organizaciones de gran tamaoadoptaron en su da SQL Server 2000 y lo hacen hoy todava con SQLServer 2005, como Xerox, Nasdaq, Groupama, ING, y un largo etc.Para comprender este movimiento en torno al RDBMS (RelationalDataBase Management System) de Microsoft, hay que unir que lascifras de las pruebas rendimiento (benchmarks) a las que se sometena SQL Server se acercan a las cifras de Oracle, junto con lafacilidad de uso y coste del sistema de Microsoft, en contraposicincon la complejidad y elevado precio del sistema de Oracle.

ec

Con SQL Server 2000, Microsoft termin de consolidar su posicinen el mercado de los Sistemas Gestores de Bases de Datos. Estaversin ya est dirigida al entorno empresarial, debido a surendimiento, escalabilidad y robustez. Lo bueno es que Microsoftconsigui alcanzar estos objetivos sin sacrificar la facilidad deuso y el gran nmero de herramientas de desarrollo, gestin y anlisisincluidas en SQL Server. De hecho, en el ao 2001 Oracle cedi suposicin de dominio, pasando el testigo a SQL Server (34% delmercado, contra el 40%). Esta situacin sigui su curso en 2002,cuando SQL Server aument su cuota al 45% del mercado, mientras quela de Oracle bajaba al 27%.

tur a

En 1998, Microsoft lanz SQL Server 7.0, que supuso un cambio encuanto a su situacin en el mercado de los RDBMS. El gran nmero demejoras en cuanto a rendimiento, potencia y facilidad de uso, ascomo la gran cantidad de caractersticas y aplicaciones auxiliares,incluidas en el producto sin coste adicional, situaron a SQL Servercomo alternativa a otros sistemas tales como Oracle o DB2 en elentorno de negocios de tamao medio.

SQL Server tambin incorpora la herramienta denominada BusinessIntelligence Development Studio, que no es ms que una versinreducida de Visual Studio 2008. Esta herramienta sirve paradesarrollar proyectos de integracin con .NET, o tambin otros comoproyectos de Analysis Services, Integration Services o ReportingServices.

Otra de las nuevas caractersticas la constituye el ServiceBroker, que es un entorno de trabajo diseado para la distribucinasncrona de mensajera. Todas estas caractersticas se agrupan dentrode SQL Server 2008 clasificadas segn sus distintas ediciones, quedescribo a continuacin: Express: Esta edicin es la evolucin delantiguo MSDE. Sigue siendo gratuita y, aunque limitada, incorporaun pequeo entorno grfico de administracin y permite un mximo de 50conexiones concurrentes (suficiente para cualquier entorno pequeo).Workgroup: Est diseada para entornos y departamentos pequeos ymedianos. Posee muchas de las caractersticas de SQL Server, pero nocontiene las de alto nivel. Standard: Esta versin est destinada alentorno medio. Contiene prcticamente todas las caractersticas, comolos Servicios de Anlisis, o los Servicios de Integracin, peroelimina las opciones de alta disponibilidad, como particionado oindexacin online. Developer: Esta versin contiene todas lasopciones, pero al ser una versin destinada a entornos de prueba ylaboratorio, contiene limitaciones en cuanto a CPUs soportadas y alicencias. Enterprise: Esta es la versin completa, la ms potente,escalable y robusta y, por supuesto, la ms cara. Est destinada alentorno empresarial de tamao medio-grande, donde el rendimiento, laalta disponibilidad y la escalabilidad son cruciales.

Nuevas Caractersticas

Las nuevas caractersticas soportadas por SQL Server 2008 sepueden dividir en dos grandes grupos: Funciones Bsicas y BusinessIntelligence. Cada versin soporta algunas caractersticas,exceptuando las versiones Enterprise y Developer, que como hemosvisto antes, las soportan todas. Veamos un resumen de algunas deellas:

Eje

Funciones BsicasTodas las versiones soportan integracin con .NET(CLR), autenticacin y autorizacin avanzada, optimizacin automticade Bases de Datos, importacin y exportacin de datos, el nuevo tipode dato XML, consultas recursivas, gestin de errores conestructuras TRYCATCH, la herramienta Express Manager (indicada parala versin Express y es gratuita), conexin dedicada para eladministrador, adicin de memoria en caliente, P g i n a | 16

mp

lo

de l

ec

SQL Server amplia y mejora los Reporting Services (SSRS), queaunque inicialmente fueron concebidos para aparecer con esta ltimaversin del servidor, Microsoft decidi publicar una versin reducidapara SQL Server 2000. Tambin incluye un mejorado y ampliado entornopara los Servicios de Integracin (SQL Server Integration Services,SSIS), anteriormente conocidos como Data TransformationServices.

tur a

eficaz de proyectos de desarrollo, as como la integracin conVisual Source Safe, que posibilita el trabajo en grupo y el controlde cdigo fuente.

La versin Express no soporta bsqueda de texto completo en camposdefinidos para ello, as como la programacin de trabajos, o eltraslado de los logs de transacciones a otra base de datos (LogShipping).

Funciones de Business Intelligence

Todas las versiones proporcionan soporte nativo para webservices, Reporting Services (incluyendo mltiples orgenes dedatos), funciones analticas y optimizacin de consultas tipoestrella, y el Business Intelligence Development Studio. La versinExpress no soporta integracin con el Management Studio, el profilery otras herramientas, y tampoco soporta el generador de informespara el usuario final.

La versin Standard no soporta cacheo automtico de datos,suscripciones ligadas a datos, writebacks en dimensiones y celdas,cubos particionados, proceso de cubos en paralelo, sincronizacin deservidores y escalado externo de servidores de informes.

Funciones adicionales a SQL Server 2008 Mejor seguridad yrevisin de cuentas: obtenga codificacin de la informacin ycapacidades de revisin de cuentas de bases de datos sin lasaplicaciones existentes. Aumenta las capacidades de administracindel sistema: Los atributos de administracin del servidor a travs depolticas y nuevas herramientas como la coleccin de datos deperformance de los servidores ayudan de manera efectiva alcrecimiento de su formacin. Incrementa el desempeo: se han hechomuchas mejoras de desempeo a travs de la tecnologa, incluyendoincrementos dentro de los servicios de anlisis, de reporte y deintegracin.

Eje

mp

lo

La versin Workgroup no soporta el modelado de datos segn elModelo Dimensional Unificado (UDM), el Data warehousing, y el Datamining.

de l

La versin Standard no soporta particionado de tablas, replicacinOracle, indexacin online de tablas y vistas, restauracin de basesde datos online, operaciones de indexacin en paralelo, ndices envistas, integracin de flujo de datos, disponibilidad de la base dedatos en operaciones de undo durante la restauracin,transformaciones avanzadas como minera de datos o minera de texto,o optimizacin avanzada del rendimiento de modelos de minera.

ec

La versin Workgroup no soporta la funcionalidad de espejo (DBMirroring), el Database Tuning Advisor (sustituye al Index TunningWizard), el failover clustering, los Servicios de Integracin, losServicios de Notificacin, y los web services, o soporte parahttp.

tur aP g i n a | 17

encriptacin de datos, la herramienta Management Studio, vistasde sistema, herramientas de Reporting Services, integracin conMicrosoft Baseline Security Analyzer (MBSA), replicacin(transaccional y de mezcla), Service Broker, procedimientosalmacenados, vistas y desencadenadores, tipos definidos por elusuario, indexacin XML nativa, bsquedas de texto completo en datosXML y manipulacin con XQUERY y el Best Practices Analyzer (se puededescargar en:http://www.microsoft.com/downloads/details.aspx?familyid=b352eb1f-d3ca44ee-893e-9e07339c1f22&displaylang=en)

Desarrollador de productividad: herramientas como EntityFramework y LINQ y nuevas aplicaciones de da/fecha, Filestream y dedatos relativos al espacio, provee un desarrollo ms poderoso y mssimple.

Perfeccione las capacidades de inteligencia de negocios:capacidades de reporte adicionales integradas con las aplicacionesde Microsoft Office y una nueva aplicacin de diseo de reportepermite la creacin de reportes empresariales para permitir a lasaplicaciones actualizarse de manera fluida.

Herramientas de SQL Server 2008

Libros en pantalla

Los libros en pantalla de SQL Server han sufrido una buenarevisin, y ahora utilizan la nueva interfaz de ayuda de .NET 2008,que proporciona nuevos modelos de organizacin de datos, bsquedaspor preferencias, online, en local, y muchas otras opciones.

SQL Server Configuration Manager

El SQL Server Management StudioEl SQL Server Management Studioes la nueva herramienta de administracin de SQL Server, yrepresenta una gran evolucin frente a las versiones anteriores.Hereda su aspecto y algo de funcionalidad de Visual Studio 2008,adems de integrar un gran nmero de funciones que antes estabandisponibles como herramientas independientes.

Eje

mp

lo

Esta herramienta agrupa la funcionalidad de varias en laanterior versin de SQL Server. Bsicamente, su mbito de aplicacin secentra en la gestin avanzada de los servicios de soporte de SQLServer, para los cuales presenta un amplio abanico de opciones, yen la configuracin de red del servidor.

de l

La nueva versin de SQL Server trae consigo un buen puado denuevas herramientas, algunas nuevas, y otras simplemente unaevolucin de las anteriores. Vamos a repasar las ms importantes,para conocer su funcionalidad.

ec

tur aP g i n a | 18

Respuesta de sistema predictiva: Nuevos atributos como la gestinde consultas y la compresin de informacin, junto con mejorasgenerales de la escalabilidad, proveen soluciones escalables msfidedignas para grandes sistemas empresariales

Instalacin de SQL Server 2008

En primer lugar, hay que tener en cuenta los requisitos deinstalacin. Estos, aunque tambin han evolucionado, no presentandemasiada diferencia con los de la versin anterior. El equipo sobreel que se instala SQL Server 2008 debe tener un mnimo de 512MB deRAM, (recomendable 1GB), un procesador PIII o superior con unavelocidad de reloj de al menos 600MHz, (recomendable 1GHz). En elcaso de SQL Server Express Edition, los requisitos de memoria RAMson ms bajos, ya que admite un mnimo de 192MB de RAM. En cuando alespacio libre en el disco duro, el proceso de instalacin de SQLServer 2008 (Windows Installer) crea archivos temporales en launidad del sistema (En general, la unidad C) que ocupanaproximadamente 1,6 GB de espacio, por lo que es conveniente quenos aseguremos de tener libre esa cantidad de espacio en nuestrodisco duro. Esto ocurre as, incluso si vamos a instalar componentesde SQL Server en una unidad distinta. En funcin de la configuracinde sistema y de las caractersticas de SQL Server 2008 queinstalemos en la mquina, dependen los requisitos finales de espacioen disco. La Tabla 1 muestra el desglose de espacio por cadacaracterstica: P g i n a | 19

Eje

mp

Requisitos de Hardware

lo

El proceso de instalacin de SQL Server 2008 ha cambiadoradicalmente en esta versin, equiparndose a los procesos deinstalacin de otras herramientas como Visual Studio y formandoparte del estndar de Microsoft.

de l

ec

tur a

Motor de base de datos y archivos de datos, Rplica y Bsqueda detexto Analysis Services y archivos de datos Reporting Services yAdministrador de informes

Componentes del motor de Notification Services, componentes decliente y componentes de reglas Integration Services Componentes decliente Herramientas de administracin Herramientas de desarrolloEjemplos y bases de datos de ejemplo

Libros en pantalla de SQL Server y Libros en pantalla de SQLServer Mobile

Tabla 1: Espacio en disco de las caractersticas de SQL Server2008 (32 y 64 bits)

SQL Server 2005

Tipo de procesador

Velocidad de procesador

Memoria (RAM)

Requisitos de Software

Eje

Los requisitos de software son algo ms complicados que los dehardware, aunque todos ellos se pueden resumir en dosrecomendaciones: En un entorno de pruebas podremos utilizar WindowsXP sp2 para montar SQL Server 2008 (Edicin Developer, para poderprobar todas sus caractersticas).

mp

lo

Tabla 2: Requisitos de hardware para SQL Server 2008 (64bits)

de lSQL Server 2008 Enterprise Edition SQL Server 2008 DeveloperEdition SQL Server 2008 Standard Edition IA64 mnimo: 1 GHz IA64recomendado: 1 GHz o superior X64 mnimo: 1 GHz X64 recomendado: 1GHz o superior IA64 mnimo: 512 MB IA64 recomendado: 1 GB o superiorIA64 mximo: 32 TB Sistema operativo mximo mnimo: 512 MB X64recomendado: 1 GB o superior X64 mximo: sistema operativo mximo

En las versiones de 64 bits, los requisitos, aunque similares,cambian un poco. La Tabla 2 muestra los requisitos de hardware:

IA64 mnimo: Procesador Itanium o superior X64 mnimo: AMDOpteron, AMD Athlon 64, Intel Xenon compatible con Intel EM64T,Intel Pentium IV compatible con EM64T

ec

tur a150 MB 35 MB 40 MB 5 MB 9 MB 12 MB 70 MB 20 MB 15 MB 390MB

Caracterstica

Espacio en disco

P g i n a | 20

Debemos tener en cuenta que, en muchas instalaciones dedistintas versiones de los sistemas operativos Windows, losservicios de Internet Information Server no se instalan pordefecto. En estos casos es imprescindible comprobar la instalacindel sistema operativo, ya que IIS es necesario para instalar, porejemplo, los Reporting Services de SQL Server 2008.

En la Tabla 3 se resumen los requisitos de software para lasversiones de 32 bits, y en la Tabla 4 para las de 64 bits:

Enterprise Developer Standard Workgroup ExpressEvaluationWindows 2000 Windows 2000 Professional SP4 Windows ServerSP4 Windows Advanced SP4 Windows Datacenter Windows Embedded 20002000 Srvr. 2000 XP No No S S No S S S No S S S No S S S No S S S NoS S S

S No No No No No S S S

de lS S S No S S S S S S S No No S S S S S S No No S S S S S SNo No NoTabla 3: Requisitos de Software para SQL Server 2008 (32bits)

ecS No S S S S S S S S S (IA64) S (IA64) No

Windows XP Home Edition SP2 Windows XP Professional SP2 WindowsXP Media Edition SP2 Windows XP Tablet Edition SP2 Windows ServerSP1 2003

loNo 64-Bit Itanium S (IA64)

mp2003 Ed. 2003

Windows 2003 Enterprise Ed. SP1 Windows Datacenter SP1

Eje

Windows 2003 Web Edition SP1

Enterprise Developer Standard Express EvaluationS (IA64)

Windows

tur aS No No S S S S S S No

En produccin debemos montar SQL Server 2008 sobre un Windows2003 Server, donde podremos aprovechar todas sus caractersticas,sobre todo estando en un entorno de gran empresa, donde factorescomo la alta disponibilidad, fiabilidad o escalabilidad sonfundamentales.

P g i n a | 21

Windows 2003 64-Bit Enterprise Edition SP1

Itanium

S (IA64) No (X64)

S (IA64) No (X64) No (IA64) S (X64) No (IA64) S (X64) No (IA64)S (X64)

Windows 2003 64-Bit X64 Standard Edition SP1 Windows 2003 64-BitDatacenter Edition SP1 Windows 2003 64-Bit Enterprise Edition SP1X64

No (IA64) S (X64) No (IA64) S (X64)

X64

No (IA64) S (X64)

ecNo (IA64) S (X64) WOW64

Tabla 4: Requisitos de Software para SQL Server 2008 (64bits)

Compatibilidad con sistemas extendidos

Las versiones de 64 bits de SQL Server 2008 son compatibles conlos sistemas Windows on Windows (WOW64). Estos sistemas representanuna caracterstica de las ediciones de 64 bits de Windows, quepermiten que aplicaciones de 32 bits se ejecuten en ellos de formanativa en modo 32 bits, aunque el sistema operativo sigafuncionando en 64 bits.

Proceso de instalacin

La primera fase es la de comprobacin de los requisitos mnimos dela mquina e instalacin de los prerrequisitos de SQL Server 2008. Lasegunda fase es la de la propia instalacin de SQL Server 2008.

Estas dos fases se ejecutan siempre, incluso cuando estamoshaciendo una reparacin de la instalacin o actualizando componentes.Al iniciar la instalacin, aparece un asistente de opciones que nospermite elegir varias tareas a realizar (Figura 1), divididas envarias categoras: Las diferentes opciones seran: PlaneamientoInstalacin Recursos Herramientas Avanzadas Opciones

Eje

mp

lo

El proceso de instalacin, como hemos comentado anteriormente, seacerca al estndar en las herramientas y servidores de Microsoft. EnSQL Server 2008 se divide en dos fases:

de l

tur aS (IA64) No S (IA64) No (X64) No (X64) No (IA64) S (X64)WOW64 No (IA64) S (X64) No (IA64) S (X64) WOW64 No (IA64) S (X64)No (IA64) S (X64)

Datacenter Edition SP1

No (X64)

No (X64)

No (X64)

No (X64)

P g i n a | 22

Planeamiento: o o o o o o o o Requisitos de hardware y softwareDocumentacin de seguridad Notas de la versin en lnea Comprobador deconfiguracin en lnea Instalar Asesor de actualizaciones Ayuda enpantalla para la instalacin Documentacin de actualizacin

Instalacin o o o o

Nueva instalacin independiente de SQL Server o agregarcaractersticas a una instalacin existente Agregar nodo a clster deconmutacin por erro de SQL Server Buscar actualizaciones deproducto Actualizacin de edicin Reparar

Mantenimiento o o o

Eliminar nodo de clster de conmutacin por erro de SQL ServerComprobador de configuracin del sistema Actualizar paquetes deIntegration Services Libros en Pantalla de SQL Server 2008 SQLServer TechCenter Centro para desarrolladores de SQL Server SitioWeb de evaluacin del producto de SQL Server Contrato de licenciaRegistrar esta copia de SQL Server 2008 Express Declaracin deprivacidad de Microsoft Comunidad Sitio Web de ejemplos de CodeplexInstalacin basada en un archivo de configuracin Preparacin declster para avanzada

Herramientas o o o

Recursos o o o o o o o o o o o

Eje Avanzadas

mp

lo

Informe de deteccin de caractersticas instaladas de SQLServer

de l

Nueva instalacin de clster de conmutacin por error de SQLServer

ec

Iniciacin en el uso de clsteres de conmutacin por error de SQLServer

tur aP g i n a | 23

Dentro de cada una de estas opciones tambin podemos elegirdiversas categoras:

Para ejecutar la instalacin del servidor, debemos seleccionar lasegunda opcin: Instalacin dentro de sta elegir Nueva instalacinindependiente de SQL Server o agregar caractersticas a unainstalacin existente (Figura 2).

Eje

mpP g i n a | 24

lo

de lFigura 1: Instalacin de SQL Server 2008

ec

tur a

o

Finalizacin avanzada de clster

Prerrequisitos

Eje

mpFigura 3: Instalacin de los prerrequisitos de SQL Server2008

lo

SQL Server 2008 requiere la instalacin de unos cuantosprerrequisitos andes de proceder con la instalacin del producto(Figura 3).

de lFigura 2: Instalacin de SQL Server 2008

ecP g i n a | 25

tur a

Instalacin de SQL Server

Eje

mp

En el primer paso de la instalacin, el asistente lleva a cabo lacomprobacin de la configuracin del sistema (Figura 5), paraasegurarse de que todos los pasos previos se han completadocorrectamente, de que todo el software requerido ha sido instaladoy el sistema cumple todas las condiciones para seguir adelante conla instalacin.

lo

Una vez hemos instalado todos los prerrequisitos, podemoscontinuar con el proceso de instalacin de SQL Server 2008. Aquveremos otra evolucin por parte de Microsoft con respecto aversiones anteriores del producto. Como podemos ver, el asistentenos da la opcin de elegir que componentes son los queremosinstalar. Es decir, en un solo paso podemos elegir instalar elservidor de bases de datos, los Servicios de Anlisis, los Serviciosde Informes, y el resto de componentes.

de lFigura 4: Instalacin de SQL Server 2008

ecP g i n a | 26

tur a

Al terminar la instalacin de los prerrequisitos, el asistente dapaso al proceso de instalacin del servidor (Figura 4).

Figura 5: Comprobacin de la configuracin del sistema

En el paso siguiente, podemos introducir el tipo de instalacin(Figura 6).

Eje

mpFigura 6: Informacin de registro del producto.

loP g i n a | 27

de l

ec

tur a

Componentes de SQL Server

El siguiente paso es el de seleccin de instancia (8). Si es laprimera instalacin que se realiza en la mquina, esta ventana nospermitir dar un nombre a la instancia, o bien instalar la instanciapredeterminada. En caso de que ya exista una predeterminada en lamquina, slo tendremos la opcin de dar un nombre.

Eje

mp

lo

Una vez realizadas todas las comprobaciones, podemos pasar alsiguiente paso del asistente (Figura 7). Es aqu donde podemoselegir instalar todos los componentes de una vez. Si pulsamos en elbotn Avanzadas de ese cuadro de dilogo, pasaremos a la Seleccin deComponentes. Este cuadro de dilogo es un estndar en los procesos deinstalacin de Microsoft, y nos permite seleccionar los componentesque queremos instalar en una nica pantalla (Error! No se encuentrael origen de la referencia.). El nico componente que no estseleccionado automticamente es el motor DTS (Data TransformationServices), que permite ejecutar paquetes DTS de SQL Server 2000.Esta opcin debe ser seleccionada si necesitamos migras paquetes DTSde un SQL Server 2000 a un SQL Server 2005. Adems, las bases dedatos de ejemplo, AdventureWorks (OLTP), AdventureWorksDW(DataWarehouse) y AdventureWorksAS (OLAP), por lo que debemoshacerlo nosotros manualmente, si queremos utilizarlas.

de lFigura 7: Seleccin de componentes para instalar.

ecP g i n a | 28

tur a

Figura 8: Nombre de la instancia de SQL Server 2008

Seguridad

En cuanto a seguridad, SQL Server 2008 presenta un gran nmero defunciones y mejoras, y eso tambin est reflejado en el proceso deinstalacin del servidor (Figura 9). De hecho, podemos dividir estasmejoras en dos categoras en cuanto a la instalacin se refiere.

Eje

mpFigura 9: Seleccin de las cuentas de servicio de SQL Server2005.

loP g i n a | 29

de l

ec

tur a

Figura 10: Personalizacin de las cuentas de servicio.

Eje

En cualquier caso, es recomendable que a cada servicio se leasigne una cuenta de dominio dedicada, incluyendo al servicio deSQL Server, sobre todo si el servicio interacta con otros serviciosde red, como por ejemplo el servicio de Reporting Services, paraenviar informes va web. Al crear estas cuentas, es conveniente quelas contraseas no tengan asignado un periodo de expiracin, sobretodo en servidores en produccin, ya que de lo contrario, podemosencontrarnos con la desagradable sorpresa de que un determinadoservicio deje de ejecutarse. SQL Server 2008 dispone de 10servicios que podemos instalar en una mquina, aunque algunos seinstalan automticamente, y no aparecern directamente en la listasimple de componentes: SQL Server: Es el motor relacional de SQLServer. P g i n a | 30

mp

La razn de que podamos asociar una cuenta a cada servicio es queesto permite a los administradores del sistema configurar losservicios que se ejecutan en un servidor con un conjunto deprivilegios mnimo. De esta manera, cada servicio podr realizarnicamente las tareas que debe, porque no tendr permisos para hacernada ms. Por ejemplo, el servicio de SQL Server necesita unconjunto de privilegios de sistema mnimo para poder llevar a cabosus tareas, por lo que la cuenta local del sistema (Local System)le proporciona el nivel de seguridad necesario (Error! No seencuentra el origen de la referencia.). El servicio del Agente deSQL ejecuta tareas de mantenimiento programadas de todo tipo, porlo que necesitar un conjunto de permisos superior.

lo

Por tanto, es conveniente que antes de comenzar con lainstalacin del servidor, hayamos decidido cuantas cuentasnecesitamos en funcin de los servicios que queramos instalar. Estascuentas sern dedicadas, es decir, no corresponden a ningn usuarioreal, sino que solo sern utilizadas por el servicio que tenganasignado. En cualquier caso, una vez realizada la instalacin de SQLServer 2008, y con el servidor en marcha, tambin se pueden cambiarlas cuentas asociadas a cada servicio.

de l

ec

tur a

Por un lado, el asistente de instalacin permite asociar unacuenta para cada servicio de SQL Server 2008 (Figura 10), mientrasque en versiones anteriores, solo era posible hacerlo con elservicio de SQL Server y el Agente de SQL Server (SQLSERVER &SQLSERVERAGENT).

Analysis Server: Es el motor del servidor OLAP.

Report Server: Se encarga de generar informes. Tambin se encargade gestionar los usuarios que tienen acceso a cada informe y suconjunto de permisos.

Notification Server: Este servicio permite a SQL Server enviarnotificaciones a cualquier suscriptor, va email, Web, PDA, etc.

Integration Services: Es el servicio que permite realizar tareasde manipulacin y transporte de datos. Es la evolucin de lospaquetes DTS.

SQL Browser: Proporciona una lista de las instancias de SQLServer a su alcance, incluyendo el puerto TCP/IP asociado. SQLServer Active Directory Helper : Habilita la integracin con ActiveDirectory, informando de cualquier cambio en el Nombre Principal deServicio.

Un Nombre Principal de Servicio (Service Principal Name, SPN) esel nombre por el que un cliente identifica de manera nica unainstancia de un servicio dentro de un sistema Windows. El serviciode autenticacin Kerberos, utiliza el SPN para autenticar unservicio. El proceso es sencillo: cuando un cliente deseaconectarse a un servicio, primero localiza la instancia delservicio, crea un SPN para dicha instancia y presenta este SPN alservicio de autenticacin. Windows tiene una utilidad llamadasetspn.exe, que permite establecer este nombre para cualquierservicio. Cuando el motor de una instancia se inicia, el serviciointenta registrar su SPN, y cuando se detiene, lo da de baja. ElSPN tiene el siguiente formato: MSSQLSvc/:, donde MSSQLSvc es elnombre del servicio que se registra, FQDN es el nombre completo delservidor, y el tcpport representa el puerto TCP/IP. Para que elregistro del SPN del servicio de SQL Server se produzca de maneraautomtica cada vez que se inicia, este servicio debe ejecutarsebajo la cuenta de sistema local (Local System) o bajo una cuentacon privilegios de administrador de dominio. Si no es as, eladministrador puede hacerlo de forma manual con la utilidadanteriormente mencionada. Otra de las mejoras que se han producidoen la seguridad del servidor es que ahora, el programa deinstalacin de SQL Server 2008, aunque sigue manteniendo al usuariosa, obliga a asignarle una password fuerte (strong password)(Figura 11). Este tipo de password obliga a introducir una longitudmnima de caracteres alfanumricos, al menos uno en maysculas y otroen minsculas, y al menos un carcter especial (@#$&..).

Eje

mp

lo

de l

SQL Writer: permite a los programas de backup, realizar copiasde seguridad de bases de datos de SQL Server.

ec

Full-text search: Permite buscar una determinada cadena de textoen un literal de cualquier longitud.

tur aP g i n a | 31

SQL Server Agent: Se encarga de ejecutar todos los trabajos deSQL Server, es decir, las tareas programadas. Tambin monitoriza alservidor y es el encargado de enviar alertas.

Figura 11: Seleccin del modo de autenticacin de SQL Server2008

Reglas de intercalacin (Collation)

En este paso del asistente, podemos establecer las reglas deintercalacin para nuestra instancia del servidor (Figura 12).

Eje

mpFigura 12: Configuracin de las reglas de intercalacin y ordenpasa SQL Server 2008.

loP g i n a | 32

de l

ec

tur a

En SQL Server 2008 podemos utilizar tipos de datos Unicode(nchar, nvarchar o ntext, este ltimo en desuso), o tipos de datosNo Unicode (char, varchar y text, tambin este ltimo en desuso). Loscaracteres Unicode no se vern afectados por las reglas deintercalacin. Debido a esto, los tipos de datos Unicodeproporcionan un rendimiento muy superior en las consultas omodificaciones de datos, aunque tambin hay que tener en cuenta queesta mejora de rendimiento se produce a costa de espacio ocupado endisco, ya que un carcter Unicode utiliza exactamente el doble deespacio que uno No Unicode.

A nivel de expresin. Se establecen al ejecutar una determinadasentencia, y afecta al conjunto de resultados que devuelve dichainstruccin. Permite realizar una ordenacin de los resultados, detal manera que la clusula ORDER BY sea especfica del lenguajeespecificado en la intercalacin. A nivel de columna. Al crear unacolumna de tipo carcter, podemos especificar la regla deintercalacin asociada a esa columna. Adems, esta caracterstica sepuede modificar una vez creada. Si no se especifica ninguna reglade intercalacin, se tomarn las reglas por defecto para la base dedatos donde se crea la tabla.

Eje

mp

A nivel de Base de Datos. Al crear una nueva base de datos,podemos especificar el juego de caracteres para esa base de datos,que no tiene porqu coincidir con el de otras bases de datosinstaladas en la misma instancia de SQL Server. Tambin se puedemodificar una vez creada. Si no se especifica nada, la base dedatos tomar el juego de caracteres que tenga asignado la base dedatos model. Este juego coincide con las reglas de intercalacin pordefecto de la instancia de SQL Server. A nivel de servidor. Duranteel proceso de instalacin del servidor, podemos establecer lasreglas de intercalacin por defecto. Estas reglas se convierten enlos juegos de caracteres por defecto de las bases de datos desistema (master, model, tempdb, msdb & distribution).

lo

En SQL Server 2008 podemos configurar las reglas de intercalacina distintos niveles:

de l

La tabla de caracteres Unicode fue desarrollada por el ConsorcioUnicode, formado por empresas tales como Microsoft, HP, Apple,Oracle, Sybase, SAP, Sun Microsystems o Google, entre otras. Estaorganizacin se encarga de mantener y promover este estndar. Ladiferencia entre esta y otras tablas de caracteres es que Unicodeutiliza dos bytes para representar cada carcter, en lugar de uno,lo que le permite representar los caracteres de todos los lenguajesescritos que existen en el mundo. Por esta razn, resulta adecuadoutilizar caracteres Unicode cuando necesitamos almacenar datos queprovienen de distintos idiomas o lenguajes.

ec

Las reglas de intercalacin en SQL Server 2008 son importantes siestamos comparando caracteres Unicode contra caracteres No Unicode,ya que al realizar un proceso de ordenacin, las comparaciones decaracteres no funcionan de la misma manera para un tipo decaracteres que para el otro.

tur aP g i n a | 33

Las reglas de intercalacin especifican los patrones de bits querepresentan a cada carcter en un conjunto de datos, y determinanlas reglas utilizadas para ordenar y comparar esos datos, adems dealgunas configuraciones especficas de la localizacin. Estas reglasson fundamentales para el funcionamiento de SQL Server, ya que seutilizan para ordenar los datos almacenados en las bases de datos,en funcin del alfabeto o lenguaje seleccionado cuando eldiccionario de ordenacin se utilice, adems de especificar la pginade cdigo ANSI utilizada para representar caracteres no Unicode. Poresta razn, es fundamental que dentro de cada organizacin seestablezca un estndar para las reglas de intercalacin, ya que sitenemos dos instancias de SQL Server cuyos datos estn almacenadoscon juegos de caracteres distintos, no tendremos posibilidad demover o restaurar bases de datos, al menos de una manera sencilla.De hecho, en estos casos suele ocurrir que los resultados que seobtienen son inconsistentes.

En primer lugar, tenemos dos opciones principales para elegir:Designador de intercalacin y orden. Intercalaciones de SQL

Adems, tenemos una serie de check-boxes que nos permitenseleccionar las opciones y reglas de ordenacin:

Distingue maysculas de minsculas.

Distingue acentos. (Todo tipo de tildes: `~) Distingue tipos deKana. (Slo afecta a los alfabetos Japoneses, ya que existen dostipos de caracteres kana: Hiragana y Katakana) Distingue el ancho.(Se refiere al ancho en bytes del carcter.)

Eje

En SQL Server, una intercalacin para la que seleccionemos elorden Binario, define el conjunto de caracteres y la pgina de cdigoANSI que se utilizarn en operaciones de comparacin y ordenacin decaracteres. Las intercalaciones binarias aportan una mejora delrendimiento debido a su simplicidad. Para tipos de dato No-Unicode(char, varchar, y text), las comparaciones de datos utilizan lapgina de cdigo ANSI. Los tipos de dato Unicode (nchar, nvarchar yntext) utilizan las pginas de cdigos Unicode. En lasintercalaciones binarias con tipos de datos Unicode, laintercalacin no se considera para ordenaciones de datos. Porejemplo, al ordenar datos con tipo Unicode, se obtendran resultadossimilares para las intercalaciones Modern_Spanish_BIN yJapanese_BIN. En versiones anteriores de SQL Server, lasintercalaciones binarias realizaban comparaciones incompletas paradatos Unicode. En SQL Server 2005 y 2008 se mantienen estasintercalaciones por compatibilidad con las versiones anteriores delproducto, y est representada en la opcin de orden Binario. P g i na | 34

mp

lo

Orden Binario.

de l

En cuanto a la otra opcin, tenemos una lista desplegable paraseleccionar la intercalacin de Windows que deseemos escoger. Enesta lista, siempre aparecer seleccionada por defecto laintercalacin asociada a nuestro sistema operativo. Para unaintercalacin de Windows, el algoritmo de comparacin de datosNo-Unicode es el mismo que se utiliza para la comparacin de datosUnicode. Esto ocurre as para que las ordenaciones de datos,utilicen o no las tabla Unicode, sean compatibles con lascomparaciones de cadenas en la versin de Windows sobre la queinstalamos SQL Server, lo que aporta consistencia entre tipos dedatos dentro de SQL Server y, como ventaja adicional, permite a losdesarrolladores utilizar las mismas reglas de ordenacin de cadenasen sus aplicaciones que las que se utilizan en SQL Server. SQLServer lleva a cabo esta tarea llamando a la funcin CompareStringW,que pertenece a la API de Windows.

ec

Las intercalaciones de SQL se utilizan para compatibilidad conversiones anteriores de SQL Server. De hecho, todas lasintercalaciones estn basadas en versiones de SQL Server anteriorespara caracteres No Unicode. Las reglas de ordenacin que nosproporcionan las intercalaciones de SQL para caracteres No-Unicodeno son compatibles con las rutinas de ordenacin proporcionadas porlos sistemas operativos Windows. Sin embargo, las reglas de loscaracteres Unicode s que lo son. Debido a que las intercalacionesde SQL utilizan diferentes reglas de comparacin, en funcin de quelos caracteres sean o no Unicode, para comparaciones entre losmismos datos, podemos encontrar diferencias dependiendo del tipo dedato subyacente.

tur a

Durante el proceso de instalacin de SQL Server 2008 establecemoslas reglas de intercalacin por defecto para la instancia, tal ycomo hemos hablado. En este paso del asistente, llamadoConfiguracin de intercalacin, tenemos a nuestra disposicindiferentes opciones de configuracin.

En general, siempre que sea posible debemos utilizarintercalaciones binarias, debido a su ptimo rendimiento. Aunque hayque tener en cuenta que, las intercalaciones binarias son sensiblesa maysculas, lo que puede constituir un obstculo en ciertassituaciones. De hecho, cuando seleccionamos el check-box de algunade las opciones binarias en el asistente de instalacin de SQLServer 2008, el resto de las opciones se deshabilita.

Servidor de Informes

Una vez hemos configurado la intercalacin del servidor, si hemosseleccionado instalar el Servidor de Informes, el asistente nos darpaso a la siguiente ventana: Opciones de instalacin del servidor deinformes. (Figura 13)

Eje

Los servicios de informes aparecieron en el ao 2003 como uncomplemento para SQL Server 2000, aunque en realidad fueronconcebidos en el ao 2000 para formar parte del servidor Yukon, loque hoy

mpFigura 13: Instalacin del Servidor de Informes.

loP g i n a | 35

de l

ec

Volviendo al asistente de instalacin del producto, si en el pasode seleccin de componentes hemos seleccionado instalar tanto elservidor SQL Server como los Servicios de Anlisis, el paso de laConfiguracin de intercalacin nos mostrar en su parte superior, laopcin de personalizar las reglas de intercalacin para cadaservicio.

tur a

La otra opcin, el orden Binario: punto de cdigo, incluye unnuevo conjunto de intercalaciones para comparacin de punto de cdigoreal. Estas comparaciones son mucho ms rpidas y fiables, y se debenutilizar siempre en proyectos de desarrollo desde cero, en los queno exista migracin de sistemas con versiones anteriores. Esta opcinaade la marca BIN2 a los nombres de las intercalaciones a las quese asocia.

Los servicios de informes utilizan IIS, ya q

Publicaciones Similares