PUBLICADO POR Microsoft Press
Una división de Microsoft Corporation Una manera Microsoft
Redmond, Washington 98052-6399
Copyright © 2009 por Mike Hotek
Todos los derechos reservados. Ninguna parte del contenido de este libro puede ser reproducida o transmitida en cualquier forma o por cualquier medio sin el permiso por escrito del editor.
Biblioteca del Congreso Número de control: 2008935428
Impreso y encuadernado en los Estados Unidos de América.
1 2 3 4 5 6 7 8 9 QWT 3 2 1 0 9 8
Distribuido en Canadá por H.B. Fenn y Company Ltd.
Un registro de catálogo CIP para este libro está disponible en la Biblioteca Británica.
Los libros de Microsoft Press están disponibles a través de librerías y distribuidores en todo el mundo. Para más información sobre ediciones internacionales, póngase en contacto con su oficina Microsoft Corporación local, o contáctese con Microsoft Press International directamente por fax al (425) 936-7329. Visite nuestro sitio Web en www.microsoft.com / MSPRESS. Envíe sus comentarios a mspinput@microsoft.com.
Microsoft, Microsoft Press, Active Directory, ActiveX, Excel, Internet Explorer, MSDN, PowerPoint, SQL Server, Visio, Visual Basic, Visual C #, Visual Studio, Windows, Windows Server y Windows Vista son marcas comerciales registradas o marcas comerciales del grupo de compañías Microsoft. Otros nombres de productos y compañías mencionados aquí pueden ser las marcas comerciales de sus respectivos propietarios.
Los ejemplos de compañías, organizaciones, productos, nombres de dominio, direcciones de correo electrónico, logotipos, personas, lugares y eventos mencionados son ficticios. No se pretendió y no se debería deducir asociación con ninguna compañía, organización, producto, nombre de dominio, dirección de correo electrónico, logotipo, persona, lugar o evento real.
Este libro expresa las visiones y opiniones del autor. La información contenida en este libro se proporciona sin ninguna garantía expresa, estatutaria o implícita. Ni los autores, Microsoft Corporation, ni sus revendedores o distribuidores se hacen responsable de los daños y perjuicios causados o presuntamente causados directa o indirectamente por este libro.
Adquisiciones Editor: Ken Jones Editor de desarrollo: De Sally Stickney Editor del proyecto: Denise Bankaitis
Producción editorial: S4Carlisle Publishing Services
Revisor técnico: Randall Galloway, los servicios de revisión técnicos fueron prestados por “Content Master”, un miembro del CM Group, Ltd.
Cubierta: Tom Diseño Draper
Para Genilyn,
Mapa de contenidos
Parte I
Introducción a Microsoft SQL Server 2008
Descripción general de Microsoft SQL Server. . . .. . 3
Instalación y configuración de SQL Server 2008. . . ……...…. 15
Uso de las herramientas de SQL Server 2008. . . . 31
1
2
3
Parte II
Diseñar bases de datos
Creación de bases de datos. . . .. . . 51
Diseñar tablas. . . .. . 63
Índices. . . 87
Particiones. . . ..103
4
5
6
7
Parte III
Recuperar y manipular datos
Recuperación de datos. . . . 121
Recuperación de datos avanzada. . . .137
Manipulación de datos. . . .. .153
8
9
10
Parte IV
Diseñar avanzado de objetos de base de datos
Vistas. . . .. . . .
Procedimientos almacenados. . . ... . .
Funciones. . . .. . . . .
Triggers. (Desencadenadores). . . . . . .
Instantáneas de base de datos. . . .. . .
Service Broker (Intermediario) . . . . . . . . . .
Indexado de Full-Text (texto completo). . .
. . . .
179
185
199
213
219
225
247
11
12
13
14
15
16
17
Parte V
Base de Datos
18 Seguridad. . . .. . . ... . . 259
19 Administración basada en directivas. . . .. . . .. . . 289
20 Recuperación de datos . . . .. .. . . 301
vi Mapa de contenidos
21 Agente SQL Server. . . .. . . 319
22 Vistas de administración dinámica. . . 333
Parte VI
Visión general de alta disponibilidad
23 Alta disponibilidad. . . .. . . 345
Parte VII
Inteligencia de Negocios
24 SQL Server Integration Services. . . 377
25 SQL Server Reporting Services. . . . . . 413
26 SQL Server Analysis Services. . . .. . . 451
Tabla de contenidos
Agradecimientos. . . .
. . . .
. . . . xviiIntroducción. . . .
. . . . .
. . . XixParte I
Introducción a Microsoft SQL Server 2008
Descripción general de Microsoft SQL Server. . . .. . . 3
Motor de base de datos. . . 3
Motor de almacenamiento. . . 4
Subsistema de seguridad. . . . . . 4
Interfaces de programación. . . 5
Service Broker. (intermediario) . . . 6
Agente SQL Server. . . .. . . ... . . . 6
Replicación. . . .. . . . . 6
Alta disponibilidad. . . .. . . . . 7
El motor relacional de SQL Server 2008. . . .. . . 8
Business Intelligence (Inteligencia de negocios) . . . 9
Servicios de integración (Integration Services) . . . 10
Servicios de Reporte (Reporting Services) . . . 12
Servicios de Análisis (Analysis Services). . . 13
Capítulo 1 Referencia rápida. . . . . . 14
1
2
Instalación y configuración de SQL Server 2008. . . .. . . 15
Ediciones de SQL Server 2008. . . 15
Requisitos de infraestructura. . . 17
Cuentas de servicio. . . 17
Secuencias de intercalación. (Collation Sequences) . . . .
.
. . . 19Modos de autenticación. . . .. . . . 19
Instancias de servidor SQL. . . . . . 20
Actualización a SQL Server 2008. . . …… ….20
Actualización “En el lugar” (in-place) . . . . . 20
Actualización “Al lado del otro” (Side-by-Side). . .. . . 21 ¿Qué piensa usted de este libro? Queremos escucharlo!
Microsoft está interesado en escuchar sus comentarios así podemos mejorar continuamente nuestros libros y los recursos de aprendizaje para usted. Para participar en una breve encuesta en línea, por favor visite:
www.microsoft.com/learning/booksurvey/
viii Tabla de contenidos
Instalación de SQL Server 2008. . . .. . . 22
Instalar bases de datos de ejemplo. . . 28
Capítulo 2 Referencia rápida. . . 29
3
Uso de las herramientas de SQL Server 2008. . . .. . . 31
Documentación de SQL Server. . . .. . . . . . 31
Herramientas de administración de SQL Server 2008. . . . . . . . . . 34
Gestor de configuración de SQL Server (Configuration Manager) . . . . . . . 35
SQL Server Management Studio. . . 38
Correo de Base de datos . . . . 42
Herramientas de gestión del rendimiento. . . 44
Analizador (Profiler) . . . 44
Asistente de puesta a punto (tuning) del motor de base de datos.. . . . . . . 44
Estudio de rendimiento. . . 45
Herramientas de Business Intelligence. . . 46
Business Intelligence Development Studio. (BIDS).. . . . . . 46
Capítulo 3 Referencia Rápida. . . .. . . .. . . 47
Parte II
Diseño de bases de datos
Creación de bases de datos. . . . .. . . 51
Bases de datos del sistema SQL Server. . . 51
Estructura de bases de datos de SQL Server . . . .. . . 53
Los archivos de base de datos. . . .. . . 53
Los grupos de archivos. . . .. 56
Creación de una base de datos. . . . . . 57
Mover bases de datos. . . ... .. . . . 59
Separar (detach) una base de datos. . . . . . 59
Adjuntar (attach) una base de datos. . . . .. . . 60
Capítulo 4 Referencia Rápida. . . 62
4
5
Diseñar tablas. . . 63
Nombrar objetos. . . .. . . 64
Esquemas. . . .. . . 64
Tipos de datos. . . .. . . 67
Los datos numéricos. . . .. . . 67
Los datos “carácter”. . . 69
Datos Fecha y hora. . . .. . . 71
Datos del tipo binario . . . .. . . . . . . 72
Tabla de contenidos ix
Los datos FILESTREAM. . . 74
Tipo de datos espaciales. . . . 74
Tipo de datos “hierarchyID” (jerarquía) . . . . . . 75
Propiedades de columna. . . 75
Creación de tablas. . . .. . . 76
Columnas calculadas. . . .. . . 77
Columnas “sparse” (espacio escaso). . . .. . . 78
Restricciones. . . 79
Claves principales. . . 79
Restricciones UNIQUE. (valor único) . . . .. . . 81
Restricciones CHECK. (de verificación).. . . 82
Restricciones predeterminadas. . . 82
Las claves externas o foráneas .. . . 83
Diagramas de bases de datos. . . 85
Capítulo 5 Referencia Rápida. . . .. . . 86
6
Índices. . . .. . . 87
Estructura de índice. . . . . . 87
Los árboles balanceados (B-trees). . . .. . . . . . . 88
Niveles de indexación. . . .. . . . . . 89
Índices agrupados. (cluster). . . . . . 91
Los índices no agrupados. . (nonCluster). . . .. . . . . . 93
Mantenimiento de Índices . . . .. . . . . . 93
Columnas incluidas. . . .. . . . . 95
Cobertura de los índices. . . . . . .. . . 95
Índices filtrados. . . . . . .97
Creación de índices en línea. . . . .. . . . . . . . . . 98
Gestión y Mantenimiento de Índices. . . ... . . . . . . . . . 99
Fragmentación de índices. . . .. . . . . . 99 Factor de llenado. . . .. . . . . . 99 Desfragmentación de un índice. . . . .. . . . . . 100 Deshabilitar un índice. . . .. . . . . . 100 Índices XML. . . . . . 100 Índices espaciales. . . .. . . . . . 102
Capítulo 6 Referencia Rápida. . . .. . . 102
7
Particiones. . . .. . . 103
Funciones de partición. . . .. . . 103
Esquemas de partición. . . . . . 105
x
Tabla de contenidos
Particionar tablas e índices. . . .. . . 106
Copia de seguridad y restauración parcial. . . 107
Creación de un índice con particiones. . . 107
Gestión de particiones. . . .. . . 110
Operadores Dividir y combinar. (SPLIT y MERGE). . . . . . 110
Modificación de un esquema de partición. . . . . . 110
Alineación de Índice. . . 110
Operador Conmutar (SWITCH). . . .. . . 111
Capítulo 7 Referencia rápida. . . .. . . 117
Parte III
Recuperar y manipular datos
Recuperación de datos. . . .. . . .. . . . 121
Declaración General de SELECT. . . .. . . 121
Ordenar Resultados. . . .. . . 126
Filtrar datos. . . .. . . 127
Recuperación de más de una tabla. . . . . .. . . 131
Recuperación de resultados únicos. . . 134
Capítulo 8 Referencia Rápida. . . .. 135
8
9
Recuperación de datos avanzada. . . 137
Declaración General de SELECT. . . 137
Agregación de datos. . . 138
Agregación de permutaciones múltiples. . . 140
Filtrado de Agregados. . . .. . . . . . 143
Ejecución de Agregados. . . .. . . .. . . 144
Cálculo de tablas dinámicas. . . 145
Clasificación de datos. (ranking). . . 146
Agregación de conjuntos de resultados. . . . . . 147
Expresiones de tabla comunes. . . .. . . .. . . 149
Consulta de datos XML. . . 150
Capítulo 9 Referencia rápida. . . 152
10 Manipulación de datos. . . 153
Inserción de datos. . . 153
INSERT. . . 153
SELECT INTO. . . 159
Actualización de los datos. . . 159
Eliminación de datos. . . .. . . 161
Tabla de contenidos xi
Sentencia “combinar” (MERGE) . . . 164
Cláusula “salida” (OUTPUT) . . . 166
Manejo de transacciones. . . 167
Seguimiento de cambios. . . .. . . 171
Seguimiento de cambios. .. . . 171
Captura de datos modificados. . . . 173
Capítulo 10 Referencia Rápida. . . 176
Parte IV
Diseñar objetos avanzados de base de datos
Vistas. . . .. . . 179
Creación de una vista. . . 179
Sustitución de consultas. . . 180
Modificar datos mediante una vista. . . 181
Creación de una vista indexada. . . .. . . 182
Sustitución de consultas. . . .. . . 184
Capítulo 11 Referencia rápida. . . 184
11
12
Procedimientos almacenados. . . 185
Crear procedimientos almacenados. . . .. . . 185
Comentando Código. . . .. . . 186
Variables, parámetros y códigos de retorno. . . .. . . 186
Variables. . . . . . . 186
Parámetros. . . . 188
Códigos de retorno. . . . . . 188
Ejecutar procedimientos almacenados. . . . . 189
Construcciones de flujo de control. . . . . .189
Manejo de errores. . . . . . 192
Ejecución dinámica. . . . . . 193
Cursores. . . .. . . 194
Procedimientos CLR. . . .. . . 196
Construyendo un procedimiento administrativo. . . 196
Capítulo 12 Referencia rápida. . . 198
13
Funciones. . . .. . . 199
Funciones del sistema. . . .. . . 199
Crear una función. . . .. . . . .. . . . 200
Recuperando datos desde una función. . . .. . . . 204
xii Tabla de contenidos
14
Triggers.(Desencadenadores) . . . . 213
Desencadenadores DML. . . . . . 213
Desencadenadores DDL. . . ... . . 215
Capítulo 14 Referencia rápida. . . 218
15
Instantáneas de base de datos. . . .. . . 219
Creación de una instantánea de base de datos. . . .. . . 219
Tecnología “copiar al escribir” (Copy-on-Write). . . 220
Revertir datos utilizando una instantánea de base de datos . . . 222
Capítulo 15 Referencia rápida. . . .. . . 223
16 Servicio Broker (Intermediario).. . . .. . . 225
Arquitectura de servicio Broker. . . 226
Descripción de mensajería. . . 226
Componentes de Service Broker. . . .. . . 227
Interacción de aplicación. . . .. . . 228
Tipos de mensajes y Contratos. . . .. . . 229
Tipos de mensajes. . . 229 Contratos. . . .. . . 232 Colas y Servicios. . . .. . . . . . 233 Colas. . . . . . 233 Servicios. . . .. . . . . . 234 Conversaciones. . . . . . 235
Enviar y recibir mensajes. . . .. . . .. . . 236
Envío de mensajes. . . . . 236
Recepción de mensajes. . . .. . . .. . . 237
Cola de activación. . . .. . . 242
Priorización. . . 245
Capítulo 16 Referencia rápida. . . .. . . 246
17
Indexación de texto completo.(full-text) . . . .. . . . . 247
Catálogos de full-text. . . .. . . 247
Índices de texto completo. . . 249
Consulta de datos de texto completo. . . 251
FREETEXT (texto libre).. . . .. . . . . 252
CONTAINS (contiene). . . . . . 252
Tabla de contenidos xiii
Parte V
Base de Datos
Configuración de la superficie de ataque. . . 259
Puntos finales (Endpoints) . . . .. . . 260
Tipos de endpoints y cargas útiles (payloads).. . . 261
Acceso de Endpoint. . . .. . . 261
Endpoints TCP. . . 262
Principales (Principals), elementos que pueden protegerse (Securables) y permisos. . . . . 264
Principales. . . .. . . 264
Suplantación de identidad (Impersonation).. . . 273
Elementos que pueden protegerse (Securables).. . . .. . . 273
Permisos. . . 274 Cadenas de propiedad. . . . . . 277 Seguridad CLR. . . .. . . 279 Cifrado de datos. . . .. . . 280 Llaves maestras. . . .. . . 281 Algoritmos hash. . . .. . . 282 Claves simétricas. . . .. . . 284
Certificados y claves asimétricas. . . .. . . 285
Encriptación de datos transparente. . . 286
Administración de claves de encriptación . . . 287
Capítulo 18 Referencia rápida. . . 288
18 Seguridad. . . .. . . 259
19
Administración basada en directivas. . . .. . . 289
Descripción general de administración basada en directivas. . . 289
Facetas. . . 290
Condiciones. . . 290
Objetivos de la política. . . .. . . 293
Políticas. . . 295
Categorías de políticas. . . .. . . 297
Política de cumplimiento (compliance).. . . 298
Capítulo 19 Referencia rápida. . . 300
20
Recuperación de datos. . . 301
Copias de seguridad de las bases de datos. . . .. . . .. .. . . 301
Tipos de copia de seguridad. . . .. . . .. . . 302
Corrupción de página. . . .. . . 308
Modelos de recuperación. . . 309
xiv Tabla de contenidos
Restaurar una copia de seguridad completa. . . . .. . . 311
Restaurar una copia de seguridad diferencial. . . .. . . .. . . 314
Restaurar una copia de seguridad del registro de transaccioness. . . . .. . . 315
Capítulo 20 Referencia rápida. . . 317
21
Agente SQL Server. . . .. . . . 319
Crear trabajos. (jobs) . . . .. . . . . 319
Pasos de los jobs. . . .. . . . . . 319
Programación de jobs. (Schedules) . . . . . . 320
Operadores. . . .. . . .. . . . 321
Creación de planes de mantenimiento. . . .. . . .. . . 325
Creación de alertas. . . .. . . . . . 329
Capítulo 21 Referencia rápida. . . . . . 332
22 Vistas de administración dinámica. . . .. . . 333
Listado de “vistas de gestión dinámica” DMV (Dynamic Management Views)... . . 333
Recuperar metadatos de objetos. . . .. . . 334
Diagnóstico de base de datos. . . 336
Tamaño del objeto. . . .. . . 336
Índices. . . .. . . .. . . 337
Estadísticas de ejecución de consultas. . . .. . . .. . . .. . . 339
Capítulo 22 Referencia rápida. . . 341
Parte VI
Visión general de alta disponibilidad
Alta disponibilidad. . . 345
Failover Clustering.(Agrupamiento a prueba de fallos) . . .. . . 345
Componentes de la instancia Cluster a prueba de fallos. . . .. . . .. . . 345
Configuración de la red. . . .. . . 346
Configuración de disco. . . 346
Configuración de seguridad. . . 346
Controles “de salud”. (Health) . . . 347
Clúster a prueba de fallos . . . .. . . .. . . 348
Espejado de la base de datos (Database Mirroring). . . .. . . 348
Roles del espejado de base de datos . . . 349
Endpoints del espejado de base de datos. . . 350
Modos de operar . . . 351
Almacenamiento en caché. . . . .. . . .. . . 353
Redirección transparente de Cliente (Transparent Client Redirect). .. . . 354
Páginas corruptas. . . .. . . 354
23
Tabla de contenidos xv
Instantáneas de base de datos. . . .. . . .. . . 354
Inicialización de Database Mirroring. . . 355
Envío de registros (log shipping).. . . . . . 356
Componentes de log shipping. . . 356
Inicio de log shipping. . . 357
Replicación. . . .. . . 363
Componentes de replicación. . . 364
Roles de replicación. . . .. . . 365
Agentes de replicación. . . .. . . 365
Métodos de replicación. . . .. . . 366
Capítulo 23 Referencia rápida. . . 373
Parte VII
Inteligencia de Negocios
24 SQL Server Integration Services. . . .. . . 377
Descripción del BIDS. . . .. . . 378
Tareas. . . 380 Transforma. . . .. . . 382 Construcción de un paquete . . . 385 Conexiones. . . .. . . 386 Flujo de control. . . .. . . 390 Flujo de datos. . . .. . . 394 Conversión de datos. . . 401 Manejo de excepciones. . . .. . . 403 Configuración. . . .. . . 406 Implementación. . . 409
Capítulo 24 Referencia rápida. . . 411
25 SQL Server Reporting Services. . . .. . . 413
Configuración de Reporting Services. . . .. . . 413
Sitio web de Reporting Services. . . .. . . 417
Creación de informes. . . 418 Creación de un informe. . . .. . . 418 Formato. . . 423 Cálculos. . . 429 Elementos interactivos. . . .. . . 431 Parámetros. . . .. . . 434 Implementar informes. . . .. . . 439 Suscripciones a informes. . .. . . .. . . 441 Informes vinculados. . . 443
xvi Tabla de contenidos
Cache de Informes e instantáneas. . . .. . . .444
Capítulo 25 Referencia rápida. . . .. . . 449
26
SQL Server Analysis Services. . . 451
Data Warehousing Visión general. . . .. . . 451
Procesamiento analítico en línea (OLAP). . . . . . 452
Modelo Dimensional. . . . . . 453
Cubos. . . .. . . .. . . . 454
Dimensiones, medidas y cálculos. . . .. . . . 462
Jerarquías. . . 467
KPIs, Particiones, perspectivas y traducciones. . . .. . . 470
Los indicadores clave de rendimiento (KPI). . . 470
Particiones. . . .. . . 471
Perspectivas. . . .. . . 471
Traducciones. . . 471
Data Mining. . . 472
Algoritmos. . . 473
Modelos y estructuras de minería. . . .. . . .. . . 474
Minería de Datos desmitificada. . . 483
Capítulo 26 Referencia rápida. . . 485
Indice (en inglés).. . . 487
¿Qué piensa usted de este libro? Queremos saber de usted!
Microsoft está interesado en escuchar sus comentarios así podemos mejorar continuamente nuestros libros y los recursos de aprendizaje para usted. Para participar en una breve encuesta en línea, por favor visite:
Agradecimientos
Gracias a todos mis lectores de más o menos la última década, es difícil creer que este será el octavo libro que he escrito y no sería posible sin ustedes. Me gustaría dar las gracias al talentoso e increíblemente paciente equipo editorial de Microsoft Press - Denise Bankaitis y Sally Stickney. Especialmente me gustaría agradecer a Ken Jones, que ha pasado por cuatro libros conmigo y tiene un talento excepcional para mantener las cosas en movimiento sin problemas, a través de todas las diversas pruebas que se presentan durante los procesos de creación y edición. Mis palabras y pensamientos, probablemente serían un caos ininteligible sin la ayuda de Randall y Cristian, que no sólo suaviza las asperezas, sino que además le da sentido a muchas de mis misivas de las 3 A.M., que seguramente habrían cuestionando mi cordura.
Introducción
Microsoft SQL Server ha sido la base de datos insignia de Microsoft durante más de 15 años. Antes de que se lance la próxima versión de SQL Server, SQL Server 2008 estará celebrando el cumpleaños número 20 de SQL Server. En este momento, SQL Server ha crecido desde manejar pequeñas tareas departamentales hasta dar servicio a las mayores bases de datos en el planeta. El lanzamiento de SQL Server 2000 produjo una evolución dramática de Microsoft SQL Server. Ya no es una simple "base de datos", Microsoft SQL Server es ahora una completa solución de arquitectura de datos, capaz de gestionar el almacenamiento de datos y las necesidades de cualquier organización.
SQL Server 2005 amplió la plataforma de datos con nuevas e impresionantes capacidades en programación, Integración con . NET, alta disponibilidad, la instrumentación de administración e inteligencia de negocios. Tan dramáticas fueron las mejoras en las funciones, que al tiempo que conserva el mismo "look and feel" de Microsoft SQL Server, Microsoft puso en producción una plataforma de datos completamente nueva.
SQL Server 2008 recoge la rápida innovación mediante la mejora de cientos de características existentes, mientras que al mismo tiempo agrega cientos de más. SQL Server 2008 también presenta una altamente escalable y adaptable plataforma de arquitectura de datos contra la que se puede construir cualquier aplicación imaginable. Sin embargo, con estas características nuevas y mejoradas vienen los desafíos para Los profesionales de TI. Sé por casi dos décadas de experiencia trabajando con y enseñando Microsoft SQL Server en organizaciones de todos los tamaños y abarcando todas las industrias, que si los usuarios no entienden cómo usar el producto de manera eficaz, ellos y su organización no serán capaz de obtener los beneficios completos de este producto de gran alcance.
Al mismo tiempo, el rol y el conjunto de habilidades de un DBA están cambiando rápidamente.
Aunque puede ser aceptable para un consultor enfocarse en un área muy específica, como en el ajuste del rendimiento (tuning), en el motor de almacenamiento, o la creación de informes; la mayoría de las empresas están empezando a insistir, en que sus DBAs sepan cómo diseñar, codificar y administrar soluciones que utilicen todas las características que se incluyen en SQL Server - desde la construcción de una tabla a hasta la construcción de un modelo de minería de datos.
Escribí este libro porque quería proporcionar, el primer tour completo de las características enteras disponibles en Microsoft SQL Server, a partir de las bases de datos relacionales que están en el núcleo de toda organización, a través de las capacidades únicas de gestión, y terminando con un conjunto de plataformas de análisis extraordinariamente poderosas que comprenden el núcleo de la Plataforma Microsoft Business Intelligence. Armado con esta información, usted será capaz de:
Ser Arquitecto, proteger y administrar bases de datos relacionales Recuperar y manipular datos.
Expandir las capacidades de su aplicación con objetos programables Asegurar y recuperar los datos de su empresa
Asegurarse que la plataforma de base de datos funcione bien y sea resistente. Transformar sus datos de negocio en inteligencia de negocios
xx Introducción
¿Para quién es este libro?
El objetivo de este libro es enseñar los fundamentos de la plataforma de datos SQL Server 2008.
SQL Server contiene características que atraen a cualquier persona involucrada con el almacenamiento o manipulación de datos dentro de una organización.
Este libro está dirigido a los profesionales de TI, quienes pueden ser nuevos en SQL Server o nuevos en SQL Server 2008. Los profesionales experimentados en SQL Server van a encontrar una gran cantidad de
información que es aplicable a sus puestos de trabajo.
Ningún libro puede posiblemente incluir todas las complejidades de SQL Server 2008. En su lugar, el foco está en proporcionar una visión general de cada función con la suficiente profundidad para que pueda construir aplicaciones SQL Server.
A medida que avance a través de este libro, usted aprenderá cómo instalar cada uno de los componentes, configurar y gestionar instancias, y construir bases de datos. Se le guiará a través de cada una de las “herramientas cliente” que se suministran con SQL Server, y voy a explicar cómo cada herramienta le permite desarrollar y administrar su entorno de base de datos. Usted aprenderá a manipular datos, asegurar sus bases de datos, gestionar y proteger sus datos, y distribuir su plataforma de datos para que sea más escalable, redundante y tolerable a fallos. Usted aprenderá a integrar sus datos de SQL Server con una variedad de fuentes, elaborar informes para servir a sus líneas de negocio, y, finalmente, alimentar todos estos datos dentro de un poderoso sistema de análisis y minería de datos para ofrecer información “para la acción” a las líneas de negocio, en tiempo casi real.
¿Cómo está organizado este libro?
Este libro está organizado en siete partes, junto con tres artículos en línea que le permiten centrarse en porciones específicas dentro de la plataforma del servidor SQL, así como funciones específicas de trabajo, de la siguiente manera:
La primera parte describe los componentes básicos disponibles en SQL Server junto con las instrucciones sobre la instalación de cada componente. También obtendrá una visión general de cada herramienta que se incluye en SQL Server y que se van a utilizar durante todo el libro.
La segunda parte muestra cómo crear y configurar bases de datos para proporcionar la base para las estructuras de tablas e índices que forman la columna vertebral de cada aplicación de base de que se va a crear.
La tercera parte le enseña a manipular y recuperar datos.
La cuarta parte es una introducción a las estructuras fundamentales de programación disponibles: procedimientos almacenados, vistas, funciones y disparadores.
La quinta parte explica cómo asegurar, gestionar, realizar copias de seguridad y recuperar bases de datos.
La sexta parte proporcionará una introducción a las tecnologías de alta disponibilidad que se incluyen con SQL Server, como agrupación (clustering), copia de base de datos y traspaso de registros (log shipping).
La séptima parte abarca las tres tecnologías de inteligencia de negocios - Servicios de integración (SSIS), Servicios de Reportes (SSRS) y Servicios de Análisis (SSAS).
Introducción xxi El material extra está disponible en línea en tres artículos, “Performance Analysis and Tuning”, ("Análisis de rendimiento y Afinación"), “Performance and Data Capture Tools” ("Herramientas para rendimiento y captura de datos ") y “Performance Analysis Tools” ("Herramientas de análisis de rendimiento"); en el sitio web de la “Prensa online de Microsoft Windows Server y Cliente”: www.microsoft.com/aprendizaje/books/online/ ServerClient
¿Cómo encontrar su mejor punto de partida en este libro?
Este libro está diseñado para ayudar a desarrollar habilidades en varias áreas esenciales. Puede utilizar este libro, tanto si usted es nuevo en SQL Server como si está cambiando desde otro sistema de base de datos. Utilice la siguiente tabla para encontrar el mejor punto de partida.
Si usted es un (a) Siga estos pasos
1. Instale los archivos de prácticas que se describen en la siguiente sección, "Instalación y uso de los archivos de práctica. "
2. Trabaje con los capítulos de las partes uno a la cuatro secuencialmente. 3. Complete las partes cinco a siete, junto con los tres artículos en línea, según lo dicte su nivel de experiencia e interés.
1. Instale los archivos de prácticas que se describen en la siguiente sección, "Instalación de y uso de los archivos de práctica. "
2. Repase (sin entrar demasiado en detalle) los capítulos de la primera parte para tener una visión general de la instalación SQL Server y las herramientas disponibles, y luego concéntrese en los capítulos de las Partes dos a cuatro. 3. Complete las Partes cinco a siete, junto con los 3 artículos en línea según lo marque su nivel de experiencia e interés.
DBA, arquitecto de base de datos, desarrollador de bases de datos, ingeniero de base de datos, o analista de datos
Application Developer (Desarrollador de aplicaciones) Administrador de sistemas, Administrador de red, o administrador de seguridad
1. Instale los archivos de prácticas que se describen en la siguiente sección, "Instalación y uso de los archivos de práctica. "
2. Trabaje con los capítulos de la primera parte.
3. Repase (sin entrar demasiado en detalle) los capítulos de las Partes 2 a 4. 4. Trabaje con los capítulos de la quinta parte.
5. Complete con las Partes Seis y Siete, junto con los tres artículos en línea, según lo marque su nivel de experiencia e interés.
Analista de negocios (B.A.) 1. Instale los archivos de práctica que se describen en la siguiente sección, "Instalación de y uso de los archivos de práctica. "
2. Repase (sin entrar demasiado en detalle) los capítulos de las partes 1a 6. 3. Trabaje con los capítulos de la Parte 7 según lo dicte su nivel de experiencia e interés.
4. Complete con los tres artículos en línea según lo dicte su nivel de experiencia e interés.
IT Management (Gerente TI)
1. Trabaje con el Capítulo 1.
2. Repase el resto de los capítulos y artículos en línea según su nivel de experiencia y de interés.
Hace referencia al libro después de trabajar a través de los ejercicios
1. Utilice el índice o tabla de contenidos para encontrar información acerca de temas particulares.
2. Lea las secciones de referencia rápida al final de cada capítulo para encontrar una breve revisión de la sintaxis y técnicas presentadas en el capítulo.
xxii Introducción
Convenciones y características en este libro
Este libro presenta la información utilizando las convenciones diseñadas para hacer que la información sea legible y fácil de seguir. Antes de comenzar, lea la siguiente lista, que explica las convenciones que verá a través de todo el libro y que señala características útiles que es posible que desee utilizar.
Convenciones
Cada ejercicio es una serie de tareas. Cada tarea se presenta como una serie de pasos numerados (1, 2, y así sucesivamente). Una viñeta redonda (•) indica un ejercicio que tiene un solo paso.
Notas etiquetadas como "Tip" (consejo), proporcionan información adicional o métodos alternativos para completar satisfactoriamente un paso.
Notas etiquetadas con "importante" lo alertan sobre información que usted necesita comprobar antes de continuar.
El texto que usted “escribe” aparecerá en negrita.
Un signo más (+) entre dos nombres de teclas significa que debe pulsar las teclas al mismo tiempo. Por ejemplo, "Pulse Alt + Tab" significa que usted mantenga pulsada la tecla Alt mientras se presiona la tecla Tab.
Otras características
Las barras laterales en todo el libro, proporcionan información con mayor profundidad sobre el ejercicio. Las barras laterales pueden contener información de referencia, consejos de diseño o características relacionadas con la información que se discute.
Cada capítulo termina con una sección de referencia rápida. La sección de referencia rápida contiene recordatorios rápidos sobre cómo realizar las tareas que aprendió en el capítulo.
Requisitos del sistema
Usted necesitará el siguiente hardware y software para realizar los ejercicios de práctica en este libro:
Microsoft Windows Vista Home Basic Edition o superior, Windows Server 2008 Standard
edition o superior, Windows Server 2003 SP2 o superior, o Windows XP Professional SP2 o superior.
Introducción xxiii Microsoft SQL Server 2008 Evaluation Edition, SQL Server 2008 Developer Edition, o
SQL Server Enterprise Edition 208.
Nota Puede utilizar otras ediciones de SQL Server 2008, sin embargo, estará limitado al conjunto de características soportadas por la edición de SQL Server que tenga instalada.
Procesador Pentium III 2,0 GHz o más rápido 1 GB de RAM física disponible
2 GB de espacio disponible en disco
Videos (800 × 600 o mayor resolución) monitor con 256 colores como mínimo CD-ROM o DVD-ROM
Ratón Microsoft o dispositivo compatible
También tendrá que tener acceso de administrador en el equipo para configurar SQL Server 2008.
Bases de datos de ejemplo
Todos los ejemplos en este libro utilizan las bases de datos de muestra AdventureWorks y
AdventureWorksDW. Dichas bases de datos de ejemplo ya no se incluyen con SQL Server sino que deben ser
descargadas desde el sitio web de CodePlex en http://www.codeplex.com/SQLServerSamples
Consejo: Además de las bases de datos de muestra, el sitio de CodePlex contiene decenas de jemplos, muestras de aplicaciones y add-ons (complementos) que en gran medida pueden mejorar su experiencia en SQL Server.
Ejemplos de código
El CD que acompaña el interior de este libro contiene los ejemplos de código que utilizará mientras realiza los ejercicios. Mediante el uso de los ejemplos de código, no perderá tiempo creando ficheros ya que no es relevante para el ejercicio. Los archivos y las instrucciones paso a paso en las lecciones le permiten aprender haciendo, que es una forma fácil y eficaz para adquirir y recordar las nuevas habilidades.
Contenidos Digitales para lectores de libros digitales: Si usted compró una edición exclusivamente digital de este libro, puede disfrutar de los contenidos de selección de CD que acompaña la edición de impresión Visite http://go.microsoft.com/fwlink/?LinkId=129790 para obtener su contenido descargable. Este contenido está siempre actualizado y disponible para todos los lectores.
xxiv Introducción
Instalación de los ejemplos de código
Siga estos pasos para instalar los ejemplos de código y el software requerido en el equipo para utilizarlo con los ejercicios.
1. Retire el CD que acompaña el paquete dentro de este libro e insértelo en su lectora de CD-ROM o DVD.
Nota Un acuerdo de licencia de usuario final se abrirá automáticamente. Si este acuerdo no aparece, abra Mi PC en el escritorio o en el menú Inicio, haga doble clic en el icono de la lectora de CD-ROM y, a continuación, haga doble clic en StartCD.exe.
2. Revise el contrato de licencia de usuario final. Si acepta los términos, seleccione “aceptar” y luego haga clic en Siguiente.
Aparecerá un menú con las opciones relacionadas con el libro. 3. Haga clic en Instalar ejemplos de código.
4. Siga las instrucciones que aparecen.
Los ejemplos de código se instalan en la siguiente ubicación en el equipo:
Documents\Microsoft Press\SQL Server 2008 Step by Step.
Usando los ejemplos de código
Cada capítulo de este libro explica cuándo y cómo utilizar las muestras de código para ese capítulo.
Cuando llega el momento de utilizar un ejemplo de código, el libro listará las instrucciones sobre cómo abrir los archivos.
Desinstalación de los ejemplos de código
Siga estos pasos para eliminar los ejemplos de código de la computadora.
1. En el Panel de control, abra Agregar o quitar programas si se ejecuta Windows XP o “Programas\Desinstalar un programa” si se ejecuta Windows Vista.
2. En la lista de programas instalados actualmente en Windows XP, o de la lista de “desinstalación o cambiar un programa” en Windows Vista, seleccione <Microsoft SQL Server 2008 Paso a Paso>.
3. Haga clic en “Quitar” en Windows XP o haga clic en “Desinstalar/Cambiar” en Windows Vista.
Introducción xxv
Buscar contenido adicional en línea
A medida que surja nuevo material o se actualice el existente, que complementa este libro, se publicarán en línea en el sitio de “Microsoft Press Online Web Developer Tools”.
El tipo de material que se puede encontrar incluye actualizaciones de contenido de libros, artículos, enlaces a contenido complementario, erratas, capítulos de ejemplo, y más. Este sitio Web está disponible en www.microsoft.com/learning/books/online/ServerClient, y se actualiza periódicamente.
Soporte para este libro
Cada esfuerzo, se ha hecho para asegurar la exactitud de este libro y del contenido del CD complementario. A medida que se realicen correcciones o cambios, se añadirán en artículos de la base de conocimientos de Microsoft.
Microsoft Press proporciona soporte para libros y CDs en el siguiente Sitio web:
http://www.microsoft.com/learning/support/books/default.mspx.
Preguntas y comentarios
Si tiene comentarios, preguntas o ideas sobre el libro o el CD que acompaña, o bien preguntas que no son contestadas al visitar los lugares web arriba mencionados, por favor envíe un e-mail a Microsoft Press:
mspinput@microsoft.com
O por correo postal a: Microsoft Press
Atención: Editor de la serie “Programación de Microsoft SQL Server 2008 paso a paso”. Redmond, WA 98052-6399.
Por favor tenga en cuenta que el soporte del producto de software de Microsoft no se ofrece a través de las direcciones arriba mencionadas.
Parte I
Introducción a Microsoft
SQL Server 2008
En esta parte:
Capítulo 1: Descripción general de Microsoft SQL Server. . . . . . 3 Capítulo 2: Instalación y configuración de SQL Server 2008. . . . . 15 Capítulo 3: Uso de las herramientas de SQL Server 2008. . . . . . 31
Capítulo 1
Descripción general de MS SQL Server
Después de completar este capítulo, usted será capaz de:Elegir los componentes de SQL Server apropiados para las necesidades de su negocio. Conocer el alcance de la instalación y la arquitectura de componentes.
En un pasado no muy lejano, muchas personas que trabajaban dentro de los departamentos de TI tuvieron que luchar interminables batallas dentro de sus organizaciones para obtener financiación para los sistemas, implementación de proyectos y contratación del personal para gestionar toda la tecnología. El primer punto del siempre presente “hacha” al presupuesto era todo el departamento de TI. Esta precaria situación era el resultado de ejecutivos miopes viendo la infraestructura de TI estrictamente como un centro de costo que drena fondos de las operaciones de negocios "más importantes".
Mientras que los departamentos de TI se encuentran todavía en una continua batalla para su financiación, al menos se torció su imagen, y así es que las organizaciones consideran ahora su infraestructura de TI como un factor necesario en la conducción de sus ventajas competitivas. Con las "recién descubiertas" ventajas en la Infraestructura de TI, ha llegado una proliferación de aplicaciones y sistemas que necesitan almacenar grandes cantidades de datos a la vez que requieren un acceso rápido a los datos con el fin de dar servicio a los requerimientos del negocio. Las demandas de las aplicaciones de negocio han impulsado una explosión de tecnología SQL Server.
SQL Server solía ser un producto razonablemente sencillo que consistía en un motor de base de datos para el procesamiento de transacciones en línea (OLTP), junto con los componentes de réplica para distribuir los datos. Durante varios ciclos de producción, SQL Server se ha convertido en una plataforma de largo alcance de datos, capaz de dar servicio de almacenamiento de datos, manipulación y presentación de las necesidades de una empresa.
En este capítulo, usted aprenderá acerca de los componentes principales de la plataforma de datos SQL Server.
Usted también aprenderá cómo cada componente entra en un plan de arquitectura de datos general para satisfacer necesidades de su negocio.
Motor de base de datos
El motor de base de datos es el servicio principal que proporciona el servidor SQL, el cual le permite almacenar, recuperar, procesar y proteger los datos. Los servicios del Motor de base le permiten crear aplicaciones de alto rendimiento de base de datos para el procesamiento de transacciones en línea (OLTP) y el soporte en línea de procesamiento analítico (OLAP).
4 Parte I Introducción a Microsoft SQL Server 2008
Motor de Almacenamiento
El motor de almacenamiento se encuentra en el corazón de SQL Server, controlando cómo se almacenan los datos en el disco y estando a disposición de las aplicaciones. A pesar que el motor de almacenamiento es un componente interno con el que usted no interactúa directamente, contiene componentes vitales para el almacenamiento y la gestión de sus datos.
El motor de almacenamiento administra el almacenamiento de datos basado en las definiciones los tipos de datos de tabla y columna. Para mejorar el rendimiento de las consultas, puede crear y mantener índices. Puede dividir grandes tablas e índices a través de múltiples estructuras de almacenamiento, aprovechando el particionamiento. Las instantáneas de bases de datos le permiten generar rápidamente una copia de la base de datos en un punto en el tiempo y de sólo lectura. El acceso multiusuario a los datos es arbitrado a través de las capacidades de bloqueo y gestión de transacciones, para garantizar el acceso consistente de datos. Para proteger los datos contra pérdidas catastróficas, puede realizar una copia de seguridad de toda o parte de una base de datos y tener la capacidad para restaurar los datos que han sido dañados.
Aunque no es una lista exhaustiva, algunos de los elementos del motor de almacenamiento que se explican en este libro se muestran en la Tabla 1-1.
TABLA 1-1 Características del motor de almacenamiento
Capítulo referencia 4 5 6 7 7 10 15 20 Descripción de características
Bases de datos, grupos de archivos y archivos.
Tablas, tipos de datos y propiedades de almacenamiento de datos Índices
Particionamiento
Arquitectura interna de datos Bloqueo y gestión de transacciones Instantáneas de base de datos
Copia de seguridad de datos y recuperación
Subsistema de seguridad
SQL Server 2008 incluye una infraestructura de seguridad muy potente y flexible que asegura que sus datos e instancias estén protegidos de intrusión.
SQL Server puede controlar la manera que a los clientes se les permite autenticar, mediante la aplicación de las credenciales de Windows o permitir inicios de sesión de SQL Server internos. Puede activar o desactivar varias funciones del motor de SQL Server para garantizar que sólo el subconjunto de características necesario para soportar sus aplicaciones, esté disponible. Puede establecer permisos en múltiples niveles para controlar la capacidad de lectura/escritura de datos, así como manipular los objetos dentro de una instancia de SQL.
Capítulo 1 Descripción general de Microsoft SQL Server 5 Puede proteger los datos almacenados en sus bases de datos mediante el cifrado a través de una variedad de mecanismosincluyendo soporte integrado de cifrado de clave, para productos de terceros.
Un sistema completo de auditoría se encuentra disponible para realizar el seguimiento del uso de los permisos elevados, así como cualquier cambio de permisos que pueda asignar. Por último, puede implementar políticas dentro de su entorno, no sólo para estandarizar las instalaciones y configuraciones, sino también para hacer cumplir los elementos de sus políticas de seguridad.
Usted va a interactuar con el subsistema de seguridad desde el momento en que comience la instalación y configuración de instancias de SQL Server en el Capítulo 2, "Instalación y configuración de SQL Server 2008". Va a separar objetos en grupos lógicos de seguridad en el capítulo 5, "Diseño de tablas". Una vez que usted ha conseguido estar cómodo con muchas de las funciones de programación y almacenamiento de SQL Server, estará listo para tomar el tour de punta a punta de las capacidades de seguridad restantes que se describen en el Capítulo 18, "Seguridad" y en el Capítulo 19, "Administración basada en directiva".
Algunos de los elementos del subsistema de seguridad que se explican en este libro se enumeran en la Tabla 1-2.
TABLA 1-2 Características de la seguridad
Capítulo de referencia 2 2 2 5 18 18 18 18 19 Descripción de características Métodos de autenticación Cuentas de servicio
Activación y desactivación de funciones (Configuración de superficie) Esquemas
Principios, elementos que pueden protegerse y permisos Cifrado de datos
Firmas de código Auditoría
Configuración de política, gestión y aplicación
Interfaces de programación
A través de Transact-SQL (T-SQL), usted tiene acceso a una programación rica, simple y potente. Si el lenguaje T-SQL no satisface sus necesidades, puede ampliar las características del servidor mediante el aprovechamiento de las capacidades de los lenguajes de programación dentro del “common language runtime” (CLR) tales como Microsoft Visual Basic o Microsoft Visual C #.
Las capacidades del lenguaje XML se integran directamente en el motor, lo que le permite almacenar y consultar datos XML, así como devolver conjuntos de resultados en una variedad de formatos XML. El código puede ser modularizado, almacenado en el servidor, y accedido desde sus aplicaciones mediante el aprovechamiento de vistas, procedimientos almacenados, funciones y desencadenadores.
Las capacidades de búsqueda de texto-completo le permiten construir interfaces de consulta a través de grandes volúmenes de datos de texto no estructurados.
6 Parte I Introducción a Microsoft SQL Server 2008
La Tabla 1-3 enumera algunos de los elementos de programación que se utilizan en este libro. TABLA 1-3 Características de programación del servidor SQL.
Capítulos de Referencia 10 10 8 y 9 9 9 9 11 12 13 14 15 17 Descripción de características
INSERT / UPDATE / DELETE / MERGE Seguimiento de cambio de datos
SELECT / JOINS / Criterios de QUERY / SORTING / Subconsultas Funciones del sistema / Agregados / expresiones de tabla comunes Datos espaciales
CUBE / ROLLUP / EXCEPT / INTERSECT / XML Vistas
Procedimientos almacenados Funciones
Disparadores
Instantáneas de base de datos Texto completo
Service Broker (Servicio “agente o intermediario”)
Service Broker se introdujo en SQL Server 2005 para proporcionar un sistema de cola de mensajes integrado en la plataforma de datos SQL Server. Basado en los mensajes definidos por el usuario y las acciones de procesamiento, se puede aprovechar Service Broker para proporcionar capacidades de procesamiento de datos asíncronos. Service Broker se trata en detalle en el Capítulo 16, "Service Broker".
Agente de SQL Server
El Agente de SQL Server es el motor de programación y alertas. Uno de los componentes básicos del Agente SQL Server es la capacidad de crear “Jobs” flexibles que pueden tener varios pasos y dependencias entre los pasos del job que se puede ejecutar en varios “schedules” (programaciones). Puede configurar alertas basadas en una variedad de condiciones que pueden llevar a cabo acciones automatizadas o enviar mensajes a los registros (logs) de errores u operadores configurados. En el capítulo 21, "Agente SQL Server" aprenderá mucho más sobre él.
Replicación
Casi desde su inicio, SQL Server ha sido capaz de distribuir copias de datos, así como mantener todas las copias sincronizadas con el conjunto de datos maestros. A través de los años, la capacidades de distribución de SQL Server se han expandido desde el mantenimiento de múltiples copias de sólo lectura a ser capaz de hacer los cambios de datos en toda la red de bases de datos al tiempo que el motor de replicación sincroniza todos los cambios en el ambiente.
Capítulo 1 Descripción general de Microsoft SQL Server 7
A través de la replicación de “instantáneas”, el motor de replicación incluye soporte para hacer periódicamente instantáneas de un conjunto de datos que se aplican a múltiples máquinas. Después de la aplicación de una instantánea inicial, la replicación transaccional transfiere los cambios incrementales de datos desde el publicador hacia cada suscriptor. La replicación transaccional también tiene capacidades adicionales: permitir que los cambios sean hechos a un suscriptor y sincronizado de nuevo a un publicador (editor), y dejar que una arquitectura peer-to-peer sea implementada por medio de muchas instancias de SQL Server se pueden replicar entre sí como iguales. La replicación de mezcla (merge) permite a los usuarios móviles, desconectados, tomar conjuntos locales de datos, realizar cambios a nivel local, y luego sincronizar todos los cambios con el servidor.
Libros enteros se pueden hacer y se han escrito sobre el motor de replicación de SQL Server, y mientras que la cobertura completa de este tema va más allá del alcance de este libro, aquí recibirá una introducción a sus características en el Capítulo 23, "Alta disponibilidad".
Alta disponibilidad
Para satisfacer las necesidades de la mayoría de los exigentes requisitos de tiempo de actividad de las aplicaciones, SQL Server proporciona varias tecnologías para garantizar la disponibilidad de los datos: la conmutación por error, la copia de base de datos, el envío de registros, y la replicación.
Las instancias de SQL Server en clúster por conmutación por error, las cuales se construyen en la parte superior de los servicios de clústeres de Windows (y aprovecha sus capacidades), proporcionan capacidades de falla de hardware automatizado.
Con la conmutación por error, la instancia está protegida en caso de una falla de hardware.
El espejado (Mirroring) de base de datos se basa en los procesos internos de gestión de registro (logs) en el motor de almacenamiento, para mantener una segunda copia de una base de datos con una latencia extremadamente baja. La base de datos espejada se puede ejecutar en un modo sincrónico, lo que garantiza que las transacciones no se pierden nunca si ocurre un fallo en la base de datos primaria.
El traspaso de registros se basa en la “copia de seguridad/restauración” del motor junto con el Agente SQL Server, para programar aplicaciones automatizadas de copias de seguridad del registro de transacciones en un servidor secundario.
La replicación aprovecha las capacidades compatibles con el motor de replicación, descriptos anteriormente, que le permite mantener una copia de la totalidad o una parte de una base de datos. En una instancia, se puede aplicar el espejado de base, el traspaso de registros (logs), y la réplica para proporcionar copias redundantes de bases de datos completas o subconjuntos de bases de datos, que pueden ser utilizadas en el caso de una falla en la plataforma de base de datos primaria.
Las características de alta disponibilidad disponibles en SQL Server 2008 se explican con más detalle en el capítulo 23.
8 Parte I Introducción a Microsoft SQL Server 2008
El motor relacional de SQL Server 2008
En la tabla 1-4 se enumeran algunos de los cambios en SQL Server 2008, junto con los capítulos en los que estas características se tratan en mayor detalle.
TABLA 1-4 Nuevas características en el motor relacional
Capítulos Referenciado 5 5 5 5 y 9 6 6 7 y 23 10 10 10 9 12 y 13 16 17 18 Descripción de características
Tipo de datos “Jerarquía” (Hierarchy) para permitir el almacenamiento de datos jerárquicos Tipo de datos FILESTREAM para almacenar datos de gran tamaño, no estructurados en el sistema operativo, mientras que permanecen bajo el control transaccional de SQL Server Tipos de datos DATE y TIME para almacenar sólo los componentes necesarios para una aplicación, en lugar de ambos.
Los tipos de datos espaciales GEOMETRY y GEOGRAPHY permiten el almacenamiento de datos basados en Geometría euclidiana y en un sistema de coordenadas GPS, respectivamente.
Las columnas SPARSE y los conjuntos de columnas, permiten la optimización en el almacenamiento de columnas que aceptan valores NULL.
Se pueden crear índices filtrados en un subconjunto de filas de una tabla
SWITCH permite particiones en una tabla que está participando en replicación transaccional para ser “conmutada” (switched)
El seguimiento de cambios proporciona un mecanismo asíncrono para capturar un registro de los cambios. Y consultarse más tarde por las aplicaciones interesadas sólo en lo que ha cambiado
Los constructores de registros (Row constructors) permiten valores múltiples en una sola instrucción de inserción
La sentencia MERGE permite llevar a cabo operaciones INSERT, UPDATE, y DELETE en una sola sentencia.
Los conjuntos de agrupación permiten la agregación de datos en múltiples niveles dentro de una sola declaración S ELECT.
Los parámetros de valores de tabla permiten que las tablas sean pasadas como parámetros de entrada a las funciones y procedimientos almacenados.
Las conversaciones pueden ser priorizados, para permitir que mensajes de mayor prioridad sean distribuidos antes que los de menor prioridad.
El motor de “texto completo” que permite consultas en texto no estructurado, ha sido completamente reconstruido.
La administración de claves extensibles permite a otros proveedores registrar sus dispositivos de gestión de claves dentro de SQL Server para que se puede así acceder directamente a través de T-SQL.
El cifrado de datos transparente permite a los administradores de bases de datos (DBAs) cifrar los datos en el disco y dentro de copias de seguridad automáticamente, sin impacto a las aplicaciones Un subsistema de auditoría configurable por el usuario tiene todas las capacidades necesarias para almacenar, administrar y revisar los rastros de la auditoría.
La gestión basada en políticas permite a los DBA’s configurar un conjunto de mejores prácticas y configuraciones que se comprueban, aplican, controlan, e informan.
Los servidores de configuración se pueden crear para simplificar la gestión de los grupos de instancias de SQL Server.
18
18
19
Capítulo 1 Descripción general de Microsoft SQL Server
TABLA 1-4
9 Nuevas características en el motor relacional
Capítulos Referenciado 20 22 Artículo Online Artículo Online Descripción de características
Las copias de seguridad pueden ser comprimidas así como encriptadas.
Nuevas vistas de administración dinámica (DMV) ayudan en la solución de problemas y en el monitoreo del sistema.
El filtrado optimizado de mapas de bits permite que los filtros de mapas de bits sean dinámicamente colocados dentro de planes de consultas en paralelo.
Las “guías de planificación” fueron introducidas en SQL Server 2005 para permitir a los administradores especificar un plan para ser usado por el optimizador. SQL Server 2008 mejora la función “guías de planificación” con un mejor seguimiento, eventos de perfil, contadores del sistema y la validación.
SQL Server Extended Events le permitirá configurar puntos de seguimiento dentro de un proceso de host de servidor para diagnosticar problemas
El regulador de recursos le permite restringir la cantidad de recursos, como por ejemplo memoria o CPU, que las peticiones entrantes pueden utilizar.
Mirroring de base de datos tiene varias mejoras en el rendimiento del buffer de registro de envío y recepción, junto con la capacidad de recuperar automáticamente las páginas dañadas en el espejo
La replicación Peer-to-peer (punto a punto) ahora incluye capacidades de detección de conflictos. Para las plataformas de hardware compatibles con el agregado de un procesador “en caliente”, SQL Server 2008 puede dinámicamente reconocer los nuevos procesadores que están disponibles
Las características designados como “artículos en línea” están disponibles para su descarga gratuita desde Microsoft Press On line Windows Server y el sitio Web cliente en www.microsoft.com/learning/books/online/ServerClient.
N / A indica que una característica que está más allá del alcance de este libro
Artículo Online Artículo Online 23 23 N / A
Inteligencia de negocios
La lista de los servicios de inteligencia de negocios (BI) es relativamente nueva en el servidor SQL Server. A medida que el papel de las TI se ha disparado en las empresas, también lo han hecho el número y el alcance de aplicaciones de almacenamiento de datos. El desafío para cada organización es que cada línea de aplicación de negocio generalmente tenga sistemas de almacenamiento de datos diseñado específicamente para una aplicación.
Si bien la especificidad de la línea de diseños de negocio permite a las aplicaciones un servicio rápido para necesidades específicas, se crea un problema a nivel de organización.
Es posible que haya información de clientes repartidos en decenas o cientos de bases de datos en diversas plataformas de sistema de gestión de base de datos (DBMS). También puede haber información de apoyo de ventas almacenada en una variedad de hojas de cálculo y la comunicación con el cliente podría extenderse a través de varios sistemas de correo electrónico y aplicaciones de gestión de contactos. Los programas de fabricación podrían existir dentro de varios sistemas de gestión de proyectos y de planificación de recursos empresariales (ERP).
Para utilizar todos los datos operativos producidos dentro de cualquier organización, hay una necesidad de traer grandes cantidades de información (que está distribuida a través de sistemas dispares), en un único y coherente, conjunto de datos.
10 Parte I Introducción a Microsoft SQL Server 2008
El objetivo de los servicios prestados por la plataforma de inteligencia de negocios es permitir a los departamentos de TI, crear potentes aplicaciones de análisis de datos al tiempo que consolida la información corporativa en un sistema único análisis.
Las capacidades de BI abarcan tres componentes que permiten a las empresas: Integrar, depurar y transformar datos de múltiples fuentes
Construir reportes ad hoc o automatizados
Proporcionar exploración y análisis de datos de gran alcance
Búsqueda para patrones de optimización de negocio dentro de grandes volúmenes de datos
Servicios de integración
Con SQL Server 2005 se incluye la primera versión de Microsoft de la próxima generación en la plataforma de integración de datos: “SQL Server Integration Services” (SSIS). Mientras que su predecesor, Data Transformation Services (DTS), fue usado ampliamente en muchas organizaciones para mover la información, SSIS tomó esta utilidad a un nuevo nivel, permitiendo a las organizaciones construir plataformas potentes y flexibles de integración de datos y aplicaciones que iban mucho más allá de las simples tareas de movimiento de datos que se hacían con DTS.
SSIS incluye todas las capacidades de clase empresarial que se pueden encontrar en aplicaciones de extracción, transformación y carga (ETL), al tiempo que permite a las organizaciones construir aplicaciones que puedan gestionar bases de datos, recursos del sistema, responder a los eventos de la base de datos y del sistema, e incluso interactuar con los usuarios.
SSIS tiene una variedad de tareas para permitir a los paquetes cargar o descargar archivos mediante el protocolo (FTP), manipular archivos en directorios, archivos de importación entre bases de datos o bien exportación de datos hacia los archivos. SSIS también puede ejecutar aplicaciones, interactuar con servicios web, enviar/recibir mensajes de Microsoft Message Queue (MSMQ), y responder a eventos de Windows Management Instrumentation (WMI). Los “contenedores” le permiten a SSIS ejecutar tareas enteras (flujos de trabajo) dentro de un bucle con una variedad de entradas (inputs) a partir de un simple contador de archivos en un directorio o a través del resultado de una consulta (query). Se incluyen además tareas especializadas para copiar objetos de SQL Server en un determinado entorno, así como gestionar las copias de seguridad de la bases de datos, re-indexación y otros tipos de operaciones de mantenimiento. Si SSIS no viene con una tarea ya diseñada para satisfacer sus necesidades, usted puede escribir sus propios procesos mediante “Visual Studio Tools for Applications” (VSTA), o incluso diseñar sus propias tareas personalizadas que se pueden registrar y utilizar dentro de SSIS.
Las restricciones de precedencia permiten configurar flujos de trabajo más complicados donde el procesamiento se puede dirigir en base a si un componente tiene éxito, falla, o simplemente finaliza su ejecución. Además de la ruta estática basada en el estado de finalización de una tarea, puede también combinar expresiones para hacer rutas de flujo de trabajo condicional. Los controladores de eventos le permiten ejecutar flujos de trabajo completos en respuesta a los acontecimientos que ocurren a nivel de paquete o de tarea, como también ejecutar automáticamente un flujo de trabajo que mueve un archivo a un directorio cuando no se puede procesar, registrar los detalles del error y enviar un correo electrónico a un administrador.
Capítulo 1 Descripción general de Microsoft SQL Server 11 Las configuraciones de paquetes le permiten a los desarrolladores mostrar las propiedades internas que pueden ser modificadas para los diversos ambientes en los que un paquete será ejecutado. Al exponer propiedades en una configuración, los administradores tienen una forma sencilla de re-configurar un paquete, como en el caso de un cambio de los nombres de las bases de datos o directorios del servidor, sin necesidad de modificar el paquete.
Más allá de las tareas de flujo de trabajo, SSIS viene con amplia cantidad de componentes para el movimiento y manipulación de datos. Si bien es posible que usted pueda simplemente mover los datos de un lugar a otro dentro de una tarea de flujo de datos, también se pueden aplicar una amplia variedad de operaciones a los datos a medida que mueven a través del motor. Usted puede depurar datos no válidos, realizar cálculos extensos, y convertir los tipos de datos cuando los datos se mueven a través del flujo.
Puede dividir los flujos de datos entrantes a múltiples destinos en base a una condición. La tarea de flujo de datos tiene la capacidad de realizar búsquedas (lookups) de datos contra las fuentes, ya sea para validar los datos entrantes, incluir información adicional o validar los datos que se envían a un destino. La aplicación de búsquedas difusas (fuzzy lookups) y agrupación difusa (fuzzy grouping) le permite usar las capacidades flexibles de "coincidencia" (matching) y agrupación más allá de los simples “caracteres comodín” (wildcards). También puede combinar varios flujos de datos entrantes y enviarlos a un solo destino.
Así como múltiples flujos entrantes se pueden combinar, también se puede tomar un flujo de datos único y difundirlo a múltiples destinos. Dentro de una tarea de flujo de datos SSIS, también puede: reasignar caracteres (remap), conjuntos de datos “pivote/un-pivote”, calcular los agregados, ordenar datos, obtener datos de muestra y realizar minería de texto. Si SSIS no tiene un adaptador de datos capaz de manejar el formato de los datos origen o destino o no tiene una transformación adaptable a la lógica que necesita llevar a cabo, existe un componente de script que se incluye y que le permite obtener las capacidades completas de Visual Studio Tools para Aplicaciones para aplicar en sus datos.
Usted aprenderá acerca de las diversas capacidades de SSIS en el capítulo 24.
Integration Services en SQL Server 2008
Tan poderoso y amplio como SSIS fue en SQL Server 2005, SQL Server 2008 expande todas las capacidades de esta plataforma de integración de datos de clase mundial. Algunas de las nuevas características de SQL Server 2008 aparecen en la Tabla 1-5.
TABLA 1-5 Nuevas características de Integration Services Descripción de las características
VTSA admite secuencias de comandos para que pueda utilizar Visual Basic.NET o C #. NET para crear scripts El mecanismo de captura de datos modificados del motor de almacenamiento se integra directamente en SSIS para permitir a los paquetes extraer y manipular sólo los datos que han cambiado.
Nuevos tipos de datos fecha y hora te permiten aplicar precisión definida por el usuario, o desplazamientos de zona horaria
El componente de origen y destino ADO.NET le permite enviar/recibir desde cualquier proveedor ADO.NET compatible
Las transformaciones de búsqueda (Lookup transform) aprovechan las caches de datos para mejorar el rendimiento de las operaciones de búsqueda.