Información general sobre SQL Server Yukon para el ... - Willy .Net
Información general sobre SQL Server Yukon para el ... - Willy .Net
Información general sobre SQL Server Yukon para el ... - Willy .Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Información <strong>general</strong> <strong>sobre</strong> <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong><br />
<strong>para</strong> <strong>el</strong> administrador de bases de datos (DBA)<br />
Resumen: este documento proporciona información <strong>general</strong> <strong>sobre</strong> las nuevas características<br />
<strong>para</strong> la administración de bases de datos, así como <strong>sobre</strong> la disponibilidad, escalabilidad y<br />
seguridad de las bases de datos. <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> proporciona las tecnologías y las funciones<br />
en las que confían las organizaciones y los administradores de bases de datos. El espectro de la<br />
nueva y mejorada funcionalidad que afecta a la administración de bases de datos es inmenso.<br />
Este documento sólo ha abordado la punta d<strong>el</strong> iceberg. <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> demostrará ser por sí<br />
misma la versión más extraordinaria de <strong>SQL</strong> <strong>Server</strong> hasta <strong>el</strong> momento.<br />
Introducción<br />
La siguiente versión d<strong>el</strong> código de Microsoft <strong>SQL</strong> <strong>Server</strong>, denominada "<strong>Yukon</strong>", proporciona al<br />
sistema Windows <strong>Server</strong> una plataforma de base de datos <strong>para</strong> la próxima generación de<br />
aplicaciones empresariales conectadas, escalables y confiables. El niv<strong>el</strong> de innovación responde<br />
a las necesidades de muchos clientes. Después de leer este documento, los administradores de<br />
bases de datos conocerán las nuevas características y funciones de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong>. Gracias<br />
a las muchas mejoras realizadas en las características existentes y a un mod<strong>el</strong>o de seguridad<br />
totalmente nuevo, la administración de bases de datos se convierte en un proceso más<br />
productivo y adaptado a las necesidades d<strong>el</strong> administrador.<br />
El mundo de los administradores de bases de datos está cambiando. Cada vez más, se les<br />
solicita que administren más sistemas con mayores cantidades de datos y las empresas intentan<br />
contener o reducir ligeramente los costos de IT. Al mismo tiempo, los desarrolladores<br />
corporativos solicitan más tiempo de los administradores de bases de datos <strong>para</strong> que les ayuden<br />
a comprender los mod<strong>el</strong>os de datos y los mejores <strong>para</strong>digmas de acceso a datos <strong>para</strong> crear<br />
aplicaciones confiables que satisfagan las necesidades de la empresa. Debido a estas tensiones,<br />
los administradores de bases de datos necesitan más de las tecnologías de bases de datos en<br />
términos de capacidad de administración, escalabilidad y disponibilidad dentro de la empresa.<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> proporcionará una base sólida en la que los administradores de bases de<br />
datos podrán apostar <strong>para</strong> crear la próxima generación de infraestructura de IT.<br />
En <strong>el</strong> corazón de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> se encuentran nuevas funciones <strong>para</strong> aplicaciones de<br />
infraestructura. <strong>SQL</strong> Service Broker es un marco de trabajo de aplicaciones distribuidas. SSB<br />
ofrece una nueva forma de escalabilidad y confiabilidad <strong>para</strong> la entrega de mensajes asíncronos.<br />
Entre los servicios no nuevos de <strong>SQL</strong> <strong>Server</strong> "<strong>Yukon</strong>", pero sí ampliamente mejorados, se<br />
incluyen Notification Services, Reporting Services y <strong>SQL</strong> <strong>Server</strong> Mobile Edition, anteriormente<br />
denominado <strong>SQL</strong> <strong>Server</strong> Compact Editon.
<strong>SQL</strong> Service Broker<br />
Durante los últimos 10 años, la proliferación de aplicaciones de comercio <strong>el</strong>ectrónico ha hecho<br />
que se necesite una mayor administración de los procesos en las aplicaciones de bases de<br />
datos. Si alguna vez ha creado un sistema de entrada de pedidos o ha realizado algún pedido en<br />
línea, estará familiarizado con la experiencia: un cliente realiza un pedido de un libro. Este<br />
pedido necesita que se confirmen las transacciones en los sistemas de inventario, de envío y de<br />
tarjetas de crédito, así como <strong>el</strong> envío de una confirmación d<strong>el</strong> pedido a través de otra aplicación<br />
Web. Esperar a que tenga lugar cada uno de estos procesos en orden no proporciona<br />
escalabilidad. <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> proporciona una nueva arquitectura escalable <strong>para</strong> crear<br />
enrutamientos de mensajes asíncronos.<br />
La tecnología de <strong>SQL</strong> <strong>Server</strong> Service Broker permite a los procesos internos o externos enviar y<br />
recibir mensajes asíncronos de forma garantizada mediante <strong>el</strong> uso de extensiones en <strong>el</strong> lenguaje<br />
de tratamiento de bases de datos Transact-<strong>SQL</strong>. Los mensajes se envían a una cola situada en<br />
la misma base de datos que <strong>el</strong> remitente, a otra base de datos en la misma instancia de <strong>SQL</strong><br />
<strong>Server</strong> o a una instancia de <strong>SQL</strong> <strong>Server</strong> en <strong>el</strong> mismo servidor o en un servidor remoto. <strong>SQL</strong><br />
Service Broker integra lo mejor de la mensajería asíncrona con la mejor compatibilidad <strong>para</strong><br />
transacciones disponible en <strong>el</strong> motor r<strong>el</strong>acional de <strong>SQL</strong> <strong>Server</strong>.<br />
Reporting Services<br />
Con la versión <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong>, Microsoft amplía un nuevo componente principal de su<br />
plataforma de int<strong>el</strong>igencia empresarial integrada. <strong>SQL</strong> <strong>Server</strong> Reporting Services amplía la<br />
visión de int<strong>el</strong>igencia empresarial de Microsoft facilitando la obtención de la información correcta<br />
a las personas adecuadas en cualquier entorno empresarial.<br />
Reporting Services es una plataforma completa basada en servidor <strong>para</strong> crear, administrar y<br />
enviar informes tradicionales e interactivos. Incluye todo lo necesario <strong>para</strong> crear, distribuir y<br />
administrar informes. Al mismo tiempo, <strong>el</strong> diseño modular d<strong>el</strong> producto y las innumerables<br />
interfaces de programación de aplicaciones (API) permiten que los desarrolladores de software,<br />
los proveedores de datos y las empresas integren la creación de informes con sistemas<br />
heredados o aplicaciones de terceros.<br />
Reporting Services se suministra con <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> e incluye:<br />
• Un conjunto completo de herramientas <strong>para</strong> crear, administrar y ver informes<br />
• Un motor <strong>para</strong> alojar y procesar informes<br />
• Una arquitectura con capacidad de ampliación e interfaces abiertas <strong>para</strong> incrustar<br />
informes o integrar la solución en diversos entornos de IT<br />
Notification Services<br />
Microsoft® <strong>SQL</strong> <strong>Server</strong> Notification Services es una plataforma <strong>para</strong> desarrollar e implementar<br />
aplicaciones <strong>para</strong> la generación y <strong>el</strong> envío de notificaciones a los usuarios. Las notificaciones son<br />
mensajes personalizados que se envían de manera oportuna a una gran variedad de<br />
dispositivos.<br />
Las notificaciones reflejan las preferencias d<strong>el</strong> suscriptor. El suscriptor realiza una suscripción<br />
que expresa su interés por cierta información. Por ejemplo, "notifíquenme cuando <strong>el</strong> precio de la<br />
acción de ADCP alcance los 70 dólares" o "notifíquenme cuando se actualice <strong>el</strong> documento de<br />
estrategia que está redactando mi equipo".
La notificación se puede generar y enviar al usuario tan pronto como se produzca un suceso de<br />
activación o de acuerdo con un programa predeterminado especificado por <strong>el</strong> usuario. La<br />
suscripción d<strong>el</strong> usuario especifica cuándo se debe generar y enviar la notificación al usuario.<br />
Las notificaciones se pueden enviar a una gran variedad de dispositivos. Por ejemplo, se puede<br />
enviar una notificación al t<strong>el</strong>éfono móvil, a un asistente digital personal (PDA), a una cuenta de<br />
Microsoft Windows Messenger o a una cuenta de correo <strong>el</strong>ectrónico de un usuario. Puesto que <strong>el</strong><br />
usuario su<strong>el</strong>e llevar siempre estos dispositivos, las notificaciones son la solución ideal <strong>para</strong><br />
enviar información de máxima prioridad.<br />
<strong>SQL</strong> <strong>Server</strong> Mobile Edition<br />
<strong>SQL</strong> <strong>Server</strong> 2000 se suministraba con <strong>SQL</strong> <strong>Server</strong> Compact Edition, que en esta versión se<br />
denomina <strong>SQL</strong> <strong>Server</strong> Mobile Edition y que se puede desarrollar y administrar mediante <strong>el</strong> nuevo<br />
<strong>SQL</strong> <strong>Server</strong> "Workbench". Los administradores de bases de datos podrán crear ahora una base<br />
de datos de <strong>SQL</strong> <strong>Server</strong> Mobile Edition directamente en <strong>el</strong> escritorio o en <strong>el</strong> dispositivo desde<br />
<strong>SQL</strong> Workbench. Asimismo, podrán manipular directamente <strong>el</strong> esquema de la base de datos de<br />
<strong>SQL</strong> <strong>Server</strong> Mobile Edition desde <strong>SQL</strong> Workbench con independencia de si la base de datos<br />
reside en <strong>el</strong> dispositivo móvil o en <strong>el</strong> escritorio. También podrán crear bases de datos de<br />
suscripción, así como extraer datos de una base de datos de publicación de <strong>SQL</strong> <strong>Server</strong><br />
mediante <strong>SQL</strong> Workbench <strong>para</strong> insertarlos en una base de datos de <strong>SQL</strong> <strong>Server</strong> Mobile Edition<br />
d<strong>el</strong> escritorio o d<strong>el</strong> dispositivo. Por último, los administradores de base de datos podrán ejecutar<br />
consultas mediante <strong>SQL</strong> Workbench cuyo destino sea una base de datos de <strong>SQL</strong> Mobile d<strong>el</strong><br />
dispositivo o d<strong>el</strong> escritorio, además de aprovechar las nuevas características de <strong>SQL</strong> Mobile,<br />
entre las que se incluyen un plan de presentación de XML, que se presentará en un formato GUI<br />
similar al <strong>SQL</strong> <strong>Server</strong> nativo, y la capacidad de usar sugerencias de consultas <strong>para</strong> reemplazar al<br />
optimizador de consultas en <strong>SQL</strong> Mobile. <strong>SQL</strong> Mobile está integrado en DTS. Ahora, los<br />
administradores de bases de datos podrán tener acceso a orígenes de datos no <strong>SQL</strong> e integrar<br />
los datos directamente en una base de datos de <strong>SQL</strong> Mobile d<strong>el</strong> escritorio mediante <strong>el</strong> uso de<br />
objetos DTS en aplicaciones Whidbey. <strong>SQL</strong> <strong>Server</strong> Mobile aprovechará directamente las nuevas<br />
mejoras realizadas en <strong>el</strong> rendimiento de réplica de combinación, lo que aumentará enormemente<br />
la escalabilidad de un servidor individual con miles de bases de datos de suscripción de <strong>SQL</strong><br />
<strong>Server</strong> Mobile conectadas simultáneamente.<br />
Como puede ver, hay muchos cambios en la infraestructura de la plataforma de <strong>SQL</strong> <strong>Server</strong>. El<br />
motor de base de datos proporciona una infraestructura sólida y confiable <strong>para</strong> ofrecer<br />
escalabilidad, confiabilidad y seguridad. Los marcos de trabajo mencionados anteriormente<br />
participan en <strong>el</strong> clúster de conmutación por error, y en <strong>el</strong> registro de copias de seguridad,<br />
restauraciones y transacciones. Además de todo esto, se administran desde <strong>SQL</strong> <strong>Server</strong><br />
"Workbench". <strong>SQL</strong> <strong>Server</strong> disfruta de una gran reputación por su fiabilidad y escalabilidad.<br />
Existen muchos nuevos capítulos que hablan <strong>sobre</strong> la disponibilidad de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong>.<br />
Alta disponibilidad y escalabilidad<br />
<strong>SQL</strong> <strong>Server</strong> "<strong>Yukon</strong>" ha realizado enormes progresos en la disponibilidad y confiabilidad de las<br />
bases de datos. Los tiempos de inactividad se dividen en dos categorías: planeados y no<br />
planeados. Los tiempos de inactividad no planeados se refieren realmente a la recuperación ante<br />
desastres y necesitan un planeamiento y una infraestructura especiales. <strong>SQL</strong> <strong>Server</strong> ha<br />
evolucionado <strong>el</strong> clúster de conmutación por error al mismo tiempo que ha agregado una nueva<br />
tecnología <strong>para</strong> la recuperación ante desastres que afectan exclusivamente a las bases de<br />
datos. Si bien es posible utilizar <strong>el</strong> clúster de conmutación por error <strong>para</strong> mantener <strong>el</strong> sistema<br />
conectado durante <strong>el</strong> mantenimiento planeado, <strong>SQL</strong> <strong>Server</strong> "<strong>Yukon</strong>" incorpora <strong>el</strong> reflejo<br />
(mirroring) de bases de datos. Esta característica de reflejo de bases de datos ofrece una opción
fácil de usar <strong>para</strong> permitir que la base de datos esté disponible. Antes de describir con más<br />
detalle <strong>el</strong> reflejo de bases de datos, echemos un vistazo a algunas de las mejoras d<strong>el</strong> clúster de<br />
conmutación por error.<br />
Clúster de conmutación por error<br />
El clúster de conmutación por error de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> ofrece alta disponibilidad <strong>para</strong> errores<br />
que se producen en <strong>el</strong> ámbito de servidor. El clúster de conmutación por error permite al sistema<br />
operativo y a <strong>SQL</strong> <strong>Server</strong> trabajar coordinados <strong>para</strong> ofrecer protección contra errores. Para <strong>el</strong>lo,<br />
proporciona hardware redundante y un mecanismo automatizado <strong>para</strong> mover <strong>el</strong> servidor de base<br />
de datos al hardware secundario en <strong>el</strong> caso de que se produzca un error en <strong>el</strong> hardware<br />
principal. El clúster de conmutación por error admite hasta ocho nodos, en función de la versión<br />
de Windows 2003.<br />
<strong>SQL</strong> <strong>Server</strong> ha ampliado las características de clúster de conmutación por error a Analysis<br />
Services, Notification Services y Replicación de <strong>SQL</strong> <strong>Server</strong>. En <strong>SQL</strong> <strong>Server</strong> 2000, <strong>el</strong> Agente<br />
<strong>SQL</strong> <strong>Server</strong> y otras funciones de procesamiento y administración de trabajos no admitían <strong>el</strong><br />
clúster de conmutación por error. Ahora, las tecnologías son compatibles con <strong>el</strong> clúster de<br />
conmutación por error y <strong>el</strong> clúster de conmutación por error de <strong>SQL</strong> <strong>Server</strong> es una solución de<br />
redundancia en <strong>el</strong> niv<strong>el</strong> de servidor más completa.<br />
Ampliación de la alta disponibilidad a todas las aplicaciones de<br />
bases de datos<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> amplía la frontera de la disponibilidad de los datos hacia nuevas direcciones<br />
con la tecnología de copia por escritura. <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora una nueva tecnología de<br />
transmisión de transacciones de alto rendimiento <strong>para</strong> ofrecer disponibilidad en <strong>el</strong> niv<strong>el</strong> de base<br />
de datos: <strong>el</strong> reflejo de bases de datos. Las transacciones se envían a otro servidor a medida que<br />
se escriben los registros. Todos los cambios registrados en la instancia de la base de datos<br />
están disponibles rápidamente <strong>para</strong> copiarse en otra ubicación.<br />
Reflejo de bases de datos<br />
Microsoft <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> mejora significativamente la capacidad de trasvase de registros al<br />
proporcionar a los administradores de bases de datos una opción <strong>para</strong> reflejar las bases de<br />
datos.<br />
El reflejo de bases de datos permite la transmisión continua d<strong>el</strong> registro de transacciones desde<br />
un servidor de origen a un único servidor de destino. En <strong>el</strong> caso de que se produzca un error en<br />
<strong>el</strong> sistema principal, las aplicaciones pueden volver a conectarse a la base de datos d<strong>el</strong> servidor<br />
secundario casi inmediatamente, sin esperar a que finalice la recuperación. La instancia<br />
secundaria detecta <strong>el</strong> error d<strong>el</strong> servidor principal en cinco segundos y acepta las conexiones de<br />
las bases de datos en un plazo no superior a los dos segundos después de detectarse un error.<br />
A diferencia de lo que ocurre en <strong>el</strong> clúster de conmutación por error, en <strong>el</strong> servidor reflejado la<br />
información queda almacenada completamente en la caché y <strong>el</strong> servidor está listo <strong>para</strong> aceptar<br />
cargas de trabajo al encontrarse completamente sincronizado con <strong>el</strong> sistema principal.<br />
Un sistema de reflejo de bases de datos necesita tres servidores <strong>SQL</strong> <strong>Server</strong> que realicen<br />
funciones específicas en la arquitectura d<strong>el</strong> sistema. El servidor principal es donde se conectan<br />
las aplicaciones y se procesan las transacciones. El servidor reflejado es <strong>el</strong> destino de los<br />
registros d<strong>el</strong> registro de transacciones que pueden aplicarse de manera sincrónica o asincrónica.<br />
El servidor reflejado existe en un estado que no permite <strong>el</strong> acceso de lectura directa a los datos.
A medida que se aplican las operaciones indicadas en <strong>el</strong> registro de transacciones, estas se<br />
reproducen también en <strong>el</strong> servidor reflejado, creando así un estado en que <strong>el</strong> servidor reflejado<br />
sólo está desfasado, respecto al principal, durante <strong>el</strong> tiempo en que se realiza la operación<br />
indicada por <strong>el</strong> registro escrito en la última escritura d<strong>el</strong> registro. Esto permite duplicar los datos<br />
en ese punto en <strong>el</strong> tiempo.<br />
El testigo es un árbitro dentro de la arquitectura. Proporciona <strong>el</strong> "voto" de desempate <strong>para</strong><br />
determinar qué servidor es "<strong>el</strong> principal" y cuál es "<strong>el</strong> reflejado". Para que un servidor sea<br />
designado como <strong>el</strong> principal y, por tanto, sea <strong>el</strong> destino de todas las transacciones, es necesario<br />
que dos servidores de la arquitectura se pongan de acuerdo. Desde <strong>el</strong> punto de vista de una<br />
aplicación cliente, la conmutación por error de un servidor al siguiente es automática y casi<br />
instantánea. El testigo sólo es necesario en aqu<strong>el</strong>los casos en los que se necesita la<br />
conmutación por error automática.<br />
Una de las cosas más importantes <strong>sobre</strong> <strong>el</strong> reflejo de bases de datos, además de la<br />
extremadamente baja latencia proporcionada durante una conmutación por error d<strong>el</strong> servidor<br />
principal al reflejado, es la capacidad de sincronizar los cambios en ambas direcciones. En <strong>el</strong><br />
caso de que <strong>el</strong> servidor principal se quede sin conexión y la aplicación realice la conmutación por<br />
error al servidor reflejado, este último se convierte en <strong>el</strong> servidor principal de la arquitectura. Una<br />
vez que <strong>el</strong> servidor con errores vu<strong>el</strong>ve a estar conectado, se designa como servidor reflejado y<br />
se aplican los registros d<strong>el</strong> registro de transacciones d<strong>el</strong> servidor principal <strong>para</strong> sincronizarlo con<br />
<strong>el</strong> estado de la base de datos en ese punto en <strong>el</strong> tiempo.<br />
El reflejo de bases de datos funciona en un hardware de servidor estándar y no necesita ningún<br />
almacenamiento ni controladores especiales.<br />
Aunque <strong>el</strong> reflejo de bases de datos ofrece un soporte continuo, en muchas ocasiones se<br />
necesita una "instantánea" de la base de datos como equipo de espera activa o pasiva. La<br />
tecnología de copia por escritura ofrece esta capacidad en forma de una vista de la base de<br />
datos.<br />
Vista de base de datos<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora una capacidad que permite a los administradores generar y usar<br />
una vista estable de sólo lectura de una base de datos. La vista de base de datos ("Database<br />
View") ofrece esta capacidad sin la carga adicional de trabajo que supone crear una copia<br />
completa de la base de datos o <strong>el</strong> requisito d<strong>el</strong> almacenamiento. Como la base de datos principal<br />
difiere de la vista, la vista obtiene su propia copia de las páginas originales cuando ésta se<br />
modifica. La vista puede utilizarse <strong>para</strong> recuperar un cambio involuntario en una base de datos<br />
simplemente volviendo a aplicar las páginas de la vista de base de datos a la base de datos<br />
principal.<br />
Replicación<br />
La replicación está diseñada <strong>para</strong> aumentar la disponibilidad de los datos mediante su<br />
distribución a través de varias bases de datos. La disponibilidad aumenta al permitir a las<br />
aplicaciones escalar verticalmente la carga de trabajo de lectura de <strong>SQL</strong> o sincronizar los datos<br />
sin conexión con las bases de datos de los usuarios móviles que se conectan ocasionalmente.<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> mejora las opciones de disponibilidad en estos dos sentidos. El nuevo mod<strong>el</strong>o<br />
de igual a igual de <strong>Yukon</strong> proporciona una nueva topología que aumenta la disponibilidad de las<br />
bases de datos al permitir una carga de trabajo de "lectura" mayor frente a los datos distribuidos<br />
y ofrecer al mismo tiempo la tolerancia a errores de las bases de datos distribuidas redundantes.<br />
Una nueva opción <strong>para</strong> replicar a través de http:// y https:// aumenta la disponibilidad de los datos<br />
en los escenarios móviles al permitir realizar sincronizaciones por Internet.
Minimización de la ventana de mantenimiento<br />
Uno de los grandes problemas de los administradores de bases de datos es reiniciar <strong>el</strong> servidor<br />
de base de datos <strong>para</strong> realizar cambios en los parámetros d<strong>el</strong> sistema <strong>SQL</strong> <strong>Server</strong>. <strong>SQL</strong> <strong>Server</strong><br />
<strong>Yukon</strong> ha reducido sustancialmente <strong>el</strong> número de parámetros que necesitan que se reinicie <strong>el</strong><br />
sistema. Ahora es posible modificar las afinidades d<strong>el</strong> servidor de bases de datos<br />
correspondientes a la CPU y a la memoria RAM sin que sea necesario reiniciar. Como parte d<strong>el</strong><br />
ciclo de desarrollo, todas las características que antes requerían un reinicio ahora no lo<br />
necesitan. Cuando se produce tiempo de inactividad planeado o no planeado, <strong>el</strong> tiempo<br />
necesario <strong>para</strong> conseguir una recuperación completa es inferior al proporcionarse funciones de<br />
bases de datos "<strong>sobre</strong> la marcha" mediante restauraciones sucesivas. Además, es de vital<br />
importancia la capacidad de administrar índices y objetos de bases de datos sin tener que<br />
desconectar la base de datos. <strong>SQL</strong> <strong>Server</strong> permite crear y administrar índices en línea.<br />
Operaciones con índices en línea<br />
Las capacidades de crear, reconstruir o colocar un índice en línea son nuevas funciones<br />
mejoradas que aumentan las capacidades de indización de versiones anteriores. La opción de<br />
índice en línea permite realizar modificaciones simultáneas (actualizaciones, <strong>el</strong>iminaciones e<br />
inserciones) en los datos de tablas subyacentes o de índices de clúster y en cualquier índice<br />
asociado durante la realización de operaciones <strong>sobre</strong> los índices DDL. Por ejemplo, durante la<br />
reconstrucción de un índice de clúster, puede continuar realizando actualizaciones en los datos<br />
subyacentes y llevar a cabo consultas con los datos. En versiones anteriores de <strong>SQL</strong> <strong>Server</strong>, las<br />
operaciones con índices DDL, como reconstruir bloqueos exclusivos retenidos en los datos<br />
subyacentes y los índices asociados, impedían la realización de modificaciones o consultas<br />
hasta que la operación <strong>sobre</strong> <strong>el</strong> índice finalizase. Gracias a la compatibilidad con operaciones<br />
con índices en línea, <strong>el</strong> administrador puede agregar índices sin que <strong>el</strong>lo interfiera en <strong>el</strong> acceso a<br />
las tablas o a otros índices existentes. Además, la carga de trabajo en <strong>el</strong> servidor permite que las<br />
operaciones con índices se beneficien d<strong>el</strong> procesamiento <strong>para</strong>l<strong>el</strong>o.<br />
Restauración en línea<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora la capacidad de realizar una operación de restauración mientras se<br />
ejecuta una instancia de <strong>SQL</strong> <strong>Server</strong>. La restauración en línea mejora la disponibilidad de <strong>SQL</strong><br />
<strong>Server</strong> ya que son sólo los datos que se restauran los que no están disponibles. El resto de la<br />
base de datos permanece en línea y disponible. En versiones anteriores de <strong>SQL</strong> <strong>Server</strong> era<br />
necesario desconectar la base de datos <strong>para</strong> poder realizar la restauración.<br />
Si utiliza la restauración en línea, puede <strong>el</strong>egir una de estas dos opciones:<br />
• Una restauración en línea en <strong>el</strong> niv<strong>el</strong> de archivos de todo un archivo de base de datos.<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> también admite la restauración en línea de un grupo de archivos, puesto que<br />
un grupo de archivos no es más que un conjunto de archivos.<br />
Recuperación rápida<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> mejora la disponibilidad de las bases de datos de <strong>SQL</strong> <strong>Server</strong> con una nueva<br />
opción de recuperación más rápida. Los usuarios pueden volver a conectarse a una base de<br />
datos de recuperación una vez se ha rehecho <strong>el</strong> registro de transacciones. En versiones<br />
anteriores de <strong>SQL</strong> <strong>Server</strong>, los usuarios tenían que esperar a que todas las transacciones<br />
incompletas se hubiesen deshecho, incluso si no necesitaban tener acceso a las partes<br />
afectadas de la base de datos.
Las operaciones de lectura y escritura pueden continuar de modo <strong>para</strong>l<strong>el</strong>o con la fase de la<br />
recuperación que implica deshacer acciones. Sin embargo, las operaciones que tienen acceso a<br />
los datos bloqueados de la fase que implica deshacer acciones experimentarán <strong>el</strong> bloqueo<br />
normal dentro de la base de datos hasta que la operación que sirve <strong>para</strong> deshacer acciones<br />
desbloquee esos datos.<br />
Copias de seguridad reflejadas<br />
Las versiones anteriores de <strong>SQL</strong> <strong>Server</strong> sólo admitían una copia de una determinada copia de<br />
seguridad. Si <strong>el</strong> medio de copia de seguridad resultaba dañado, rehacer la copia de seguridad<br />
tardaba más o generaba errores. En <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong>, ahora se puede reflejar <strong>el</strong> medio de<br />
copia de seguridad. Por ejemplo, un administrador puede configurar cuatro dispositivos de cinta<br />
<strong>para</strong> realizar copias de seguridad de dos grupos de medios con un reflejo <strong>para</strong> cada uno de los<br />
grupos. Los volúmenes correspondientes de cada reflejo tienen un contenido idéntico, lo que<br />
permite intercambiarlos durante la restauración. Los administradores pueden implementar hasta<br />
cuatro conjuntos de copias de seguridad reflejados.<br />
Suma de comprobación DBCC<br />
Muchos administradores de bases de datos utilizan las funciones actuales de DBCC <strong>para</strong> mirar<br />
dentro d<strong>el</strong> estado de su <strong>SQL</strong> <strong>Server</strong>. DBCC se ha mejorado <strong>para</strong> ofrecer las nuevas<br />
características de <strong>SQL</strong> y, además, se ha agregado más información <strong>para</strong> facilitar la lectura de los<br />
mensajes de error. La nueva instrucción DBCC CHECKSUM permite realizar una comprobación<br />
de datos adicional en <strong>el</strong> niv<strong>el</strong> de página mediante la ejecución de una suma de comprobación de<br />
cada página. Además, DBCC informará <strong>sobre</strong> <strong>el</strong> grado de corrección de las particiones y de las<br />
vistas materializadas en r<strong>el</strong>ación con las tablas base, así como de la presencia de errores en los<br />
ensamblados registrados.<br />
Desarrollo, implementación y administración de bases de datos:<br />
un conjunto de herramientas revolucionarias<br />
Muchas características de <strong>SQL</strong> <strong>Server</strong> han evolucionado, pero hay un área de <strong>SQL</strong> <strong>Server</strong> que<br />
es revolucionaria: <strong>el</strong> conjunto de herramientas. <strong>SQL</strong> <strong>Server</strong> "Workbench" es <strong>el</strong> primer conjunto<br />
de herramientas <strong>para</strong> la administración de bases de datos que permite a los usuarios conectarse<br />
y trabajar con <strong>SQL</strong> <strong>Server</strong>, Analysis Services y una base de datos de <strong>SQL</strong> <strong>Server</strong> Mobile Edition.<br />
Además, <strong>SQL</strong> <strong>Server</strong> Workbench es compatible con las versiones de <strong>SQL</strong> <strong>Server</strong> (a partir de<br />
<strong>SQL</strong> <strong>Server</strong> 7.0). Esta mejora proporciona una ubicación central <strong>para</strong> ajustar y actualizar las<br />
bases de datos de <strong>SQL</strong> <strong>Server</strong>. Tanto si es un principiante como un desarrollador profesional de<br />
Transact-<strong>SQL</strong>, <strong>el</strong> conjunto de herramientas de <strong>SQL</strong> <strong>Server</strong> le proporciona la flexibilidad y la<br />
int<strong>el</strong>igencia que necesita <strong>para</strong> realizar las tareas r<strong>el</strong>acionadas con las bases de datos.<br />
El conjunto de herramientas de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> se concentra en tres situaciones de uso<br />
principales: desarrollo, implementación y administración. Para cada una de estas situaciones<br />
existen herramientas y características exclusivas. Comencemos echando un vistazo a las nuevas<br />
herramientas disponibles <strong>para</strong> <strong>el</strong> desarrollo.<br />
Editor de consultas de <strong>SQL</strong> <strong>Server</strong> Workbench<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> reemplaza <strong>el</strong> Analizador de consultas por <strong>el</strong> Editor de consultas, un<br />
componente de <strong>SQL</strong> Workbench y la herramienta principal <strong>para</strong> diseñar y probar de modo<br />
interactivo instrucciones Transact-<strong>SQL</strong> de secuencias de comandos por lote, consultas, lotes y
secuencias de comandos. El Editor de consultas le permite escribir nuevas secuencias de<br />
comandos en Transact-<strong>SQL</strong>, expresiones multidimensionales (MDX) o XQuery. También puede<br />
editar secuencias de comandos creadas a partir de archivos o generadas automáticamente a<br />
partir de cuadros de diálogo de <strong>SQL</strong> <strong>Server</strong> Workbench o <strong>el</strong> Explorador de objetos.<br />
El Editor de consultas ofrece:<br />
• Finalización automática de instrucciones: una lista de posibles objetos que pueden<br />
seguir a determinadas palabras clave.<br />
• Información <strong>sobre</strong> parámetros de procedimientos almacenados <strong>para</strong> proporcionar una<br />
lista de parámetros que cumplen los parámetros almacenados y las funciones definidas<br />
por <strong>el</strong> usuario.<br />
• Codificación en colores de la sintaxis de Transact-<strong>SQL</strong> y MDX <strong>para</strong> mejorar la lectura de<br />
instrucciones complejas.<br />
• Plantillas <strong>para</strong> ac<strong>el</strong>erar <strong>el</strong> desarrollo de instrucciones Transact-<strong>SQL</strong> <strong>para</strong> crear objetos<br />
de <strong>SQL</strong> <strong>Server</strong>.<br />
• Edición de consultas de ejecución y análisis con palabras clave <strong>SQL</strong>CMD.<br />
• Resultados presentados en una cuadrícula o una ventana de texto de formato libre.<br />
• Diagrama gráfico de la información d<strong>el</strong> plan de presentación, presentando los pasos<br />
lógicos integrados en <strong>el</strong> plan de ejecución de una instrucción de presentación de<br />
interbloqueo gráfica Transact-<strong>SQL</strong>.<br />
Diseñador de consultas XML (XQuery) (XQuery Designer)<br />
Microsoft <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> es compatible con <strong>el</strong> lenguaje de consultas XML (XQuery) que<br />
proporciona un mecanismo flexible <strong>para</strong> realizar consultas y presentar los datos XML<br />
almacenados en las columnas Tipo de datos XML. El lenguaje de consultas XML es un nuevo<br />
lenguaje de consultas muy eficaz que hace un uso importante de otros lenguajes XML como<br />
XML Schema y XPath.<br />
Para ayudar a los desarrolladores a crear consultas XML, Microsoft <strong>SQL</strong> <strong>Server</strong> Workbench<br />
incorpora un nuevo Diseñador de consultas XML (XQuery). El Diseñador de consultas XML<br />
(XQuery) permite la creación de consultas XML simplemente arrastrando y soltando nodos XML<br />
desde la representación de árbol de la columna de datos XML. Puede ejecutar su consulta XML<br />
mediante un clic en <strong>el</strong> mouse (ratón). El editor de texto de consultas XML puede usarse <strong>para</strong><br />
agregar construcciones XQuery más complejas. Puede utilizar <strong>el</strong> Diseñador de consultas XML<br />
(XQuery) <strong>para</strong> crear consultas XML que puede utilizar más tarde dentro de las instrucciones<br />
SELECT, así como <strong>para</strong> la <strong>el</strong>aboración de informes. <strong>SQL</strong> Workbench ofrece un sistema de<br />
proyectos <strong>para</strong> almacenar juntas las consultas XML r<strong>el</strong>acionadas. Para empezar a utilizar <strong>el</strong><br />
Diseñador de consultas XML (XQuery), inicie <strong>el</strong> tutorial <strong>sobre</strong> XQuery desde <strong>el</strong> menú Ayuda <strong>para</strong><br />
que le guíe por la herramienta de trabajo.<br />
Implementación de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong><br />
Herramientas <strong>para</strong> la implementación y configuración<br />
Muchos clientes necesitan tener un mayor control de <strong>SQL</strong> <strong>Server</strong> durante las etapas de<br />
instalación y configuración de las implementaciones de aplicaciones de bases de datos. La<br />
capacidad <strong>para</strong> modificar algunos parámetros básicos y las ubicaciones de los archivos ofrece<br />
una mayor flexibilidad desde <strong>el</strong> punto de vista de la seguridad de las aplicaciones y la
administración de recursos. Echemos un vistazo a algunos de los cambios realizados en la<br />
instalación y configuración.<br />
Windows Installer<br />
La instalación de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> utiliza Windows Installer <strong>para</strong> integrar completamente la<br />
instalación de las características de <strong>SQL</strong> <strong>Server</strong> en un solo árbol de características. Los modos<br />
de instalación mínima y típica ya no se implementan. En su lugar, la instalación muestra un árbol<br />
de características con las opciones predeterminadas s<strong>el</strong>eccionadas; de este modo, los<br />
administradores pueden personalizar la instalación activando y desactivando <strong>el</strong>ementos d<strong>el</strong> árbol<br />
de características y especificando las rutas de acceso de instalación. Esta versión de Windows<br />
Installer también es compatible con la instalación remota y varias configuraciones de instancias.<br />
Comprobador de coherencia<br />
El programa de instalación de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora un comprobador de coherencia de la<br />
instalación (SCC), una nueva característica que se encarga de comprobar y validar <strong>el</strong> equipo de<br />
destino antes de que comience la instalación. Gracias al uso de la tecnología WMI, SCC impide<br />
que se produzcan errores de instalación ocasionados por configuraciones no compatibles en<br />
equipos de destino locales, remotos o en clúster. Si <strong>el</strong> programa de instalación puede re<strong>para</strong>r los<br />
<strong>el</strong>ementos que se ha comprobado que dan errores, <strong>el</strong> usuario puede permitir que <strong>el</strong> programa de<br />
instalación lleve a cabo las acciones que sean necesarias. De lo contrario, SCC guía al usuario<br />
<strong>para</strong> encontrar una solución <strong>para</strong> cada problema de bloqueo antes de que la instalación pueda<br />
continuar.<br />
Informes de errores<br />
El programa de instalación de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incluye características mejoradas de creación<br />
de informes de errores y alertas extensibles. Si se produce un error durante la instalación, <strong>el</strong><br />
programa de instalación determina un código de salida de error, proporciona un mensaje de error<br />
descriptivo, recomienda una acción correctora que debe llevarse a cabo <strong>para</strong> solucionarlo y<br />
remite al usuario al registro de instalación. El programa de instalación también guarda <strong>el</strong> registro<br />
de cada instalación.<br />
Administrador de equipos de <strong>SQL</strong> <strong>Server</strong><br />
El administrador de equipos de <strong>SQL</strong> <strong>Server</strong> es <strong>el</strong> sustituto de la Herramienta de red de cliente,<br />
de la Herramienta de red d<strong>el</strong> servidor y d<strong>el</strong> Administrador de servicios de <strong>SQL</strong>. El administrador<br />
de equipos de <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> permite trabajar con Analysis Services, Reporting Services,<br />
versiones anteriores de <strong>SQL</strong> <strong>Server</strong>, así como con la búsqueda de texto y MS Search. Desde <strong>el</strong><br />
administrador de equipos, puede definir protocolos de red <strong>para</strong> <strong>el</strong> acceso a la red d<strong>el</strong> cliente y d<strong>el</strong><br />
servidor. El administrador de equipos es extensible y accesible mediante WMI.<br />
Herramientas <strong>para</strong> administrar y ajustar <strong>el</strong> rendimiento<br />
Explorador de objetos de <strong>SQL</strong> <strong>Server</strong><br />
El nuevo <strong>SQL</strong> <strong>Server</strong> Workbench integra la funcionalidad d<strong>el</strong> Administrador corporativo y d<strong>el</strong><br />
Analysis Services Manager de versiones anteriores. El Explorador de objetos de <strong>SQL</strong> <strong>Server</strong><br />
ofrece la misma funcionalidad que <strong>el</strong> Administrador corporativo. Entre las mejoras se incluyen
una mayor escalabilidad al explorar objetos de bases de datos y la integración de secuencias de<br />
comandos en las bases de datos OLTP y OLAP. <strong>Yukon</strong> y <strong>SQL</strong> <strong>Server</strong> Mobile Edition también son<br />
compatibles con <strong>SQL</strong> <strong>Server</strong> 7, <strong>SQL</strong> <strong>Server</strong> 2000 y Analysis Services. El Explorador de objetos<br />
proporciona todas las funciones de administración exigidas al Administrador corporativo,<br />
incluidas Seguridad, Agente <strong>SQL</strong>, <strong>SQL</strong>Mail y otros subsistemas de <strong>SQL</strong> <strong>Server</strong> incluidos en<br />
Notification Services y Reporting Services.<br />
Analizador de <strong>SQL</strong> <strong>Server</strong> y Asesor <strong>para</strong> la optimización de bases de datos<br />
(DTA, Database Tuning Advisor)<br />
Microsoft Research ha proporcionado, junto con <strong>el</strong> equipo de desarrollo de <strong>SQL</strong> <strong>Server</strong>, una<br />
nueva herramienta de optimización de índices denominada Asesor <strong>para</strong> la optimización de bases<br />
de datos (DTA, Database Tuning Advisor) que permite sugerir cambios <strong>sobre</strong> particiones de<br />
índices y tablas en la estructura de una base de datos. Además, <strong>el</strong> Analizador de <strong>SQL</strong> <strong>Server</strong> ha<br />
sufrido una gran revisión que ha aportado un mayor rendimiento y una mayor visibilidad d<strong>el</strong><br />
servidor. Estos son los cambios más importantes d<strong>el</strong> Analizador de <strong>SQL</strong> <strong>Server</strong>:<br />
• Crear perfiles de Analysis Services. Ahora, <strong>el</strong> Analizador admite sucesos de captura<br />
suministrados por Analysis Services.<br />
• Guardar como XML una plan de presentación d<strong>el</strong> que se ha realizado un seguimiento.<br />
Los resultados d<strong>el</strong> plan de presentación se guardan en formato XML, que se puede<br />
cargar más tarde <strong>para</strong> ver gráficamente <strong>el</strong> plan de presentación en <strong>SQL</strong> <strong>Server</strong><br />
Workbench. Esto incluye una instrucción de interbloqueo gráfica.<br />
• Guardar resultados de seguimiento como XML. Los resultados de seguimiento pueden<br />
guardarse en formato XML, además de en formatos estándar tales como ANSI,<br />
UNICODE y OEM.<br />
• Vista agregada. Los usuarios pueden <strong>el</strong>egir una opción de agregación y s<strong>el</strong>eccionar una<br />
clave <strong>para</strong> la misma. Esto permitirá a los usuarios ver una vista que muestra la columna<br />
en la que se realizó la agregación junto con un recuento d<strong>el</strong> número de filas que<br />
componen <strong>el</strong> valor de agregación.<br />
• El Analizador puede corr<strong>el</strong>acionar los Contadores d<strong>el</strong> monitor de rendimiento con los<br />
sucesos de <strong>SQL</strong> o Analysis Services. Los administradores pueden s<strong>el</strong>eccionar de un<br />
conjunto predefinido de Contadores d<strong>el</strong> monitor de rendimiento y guardarlos en los<br />
intervalos de tiempo especificados, además de recopilar al mismo tiempo una traza de<br />
<strong>SQL</strong> o Analysis Services.<br />
Mejoras de los planes de presentación<br />
Microsoft <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora mejoras en los planes de presentación y en las trazas de<br />
interbloqueo, lo que proporciona a los administradores más funciones <strong>para</strong> ajustar los servidores<br />
de bases de datos.<br />
Éstas son algunas de las mejoras:<br />
• Representación gráfica de las repeticiones de interbloqueo recopiladas a través de los<br />
sucesos de trazas. La representación gráfica mostrará los ciclos o las cadenas de<br />
interbloqueo, lo que le proporciona un método más intuitivo y sencillo <strong>para</strong> analizar las<br />
repeticiones de interbloqueos que la información recopilada desde los indicadores de<br />
trazas utilizados en las versiones anteriores de <strong>SQL</strong> <strong>Server</strong>.<br />
• Los resultados d<strong>el</strong> plan se presentación se guardan en formato XML, que más tarde se<br />
pueden cargar <strong>para</strong> verlos de un modo gráfico en <strong>el</strong> Editor de consultas.<br />
• La posibilidad de guardar los resultados d<strong>el</strong> plan de presentación en formato XML ofrece<br />
una serie de ventajas a la hora de ajustar <strong>el</strong> rendimiento: los planes de presentación
pueden guardarse y transferirse a otra ubicación, así como verse sin la necesidad de<br />
disponer de una base de datos subyacente.<br />
Los administradores pueden utilizar un plan de presentación exportado <strong>para</strong> ayudar a identificar<br />
las discrepancias entre diferentes bases de datos internas o remotas.<br />
Los administradores pueden recopilar datos de línea de base de un servidor y más tarde<br />
com<strong>para</strong>rlos con los de los servidores a medida que crecen o cambian las características de<br />
rendimiento.<br />
<strong>SQL</strong>CMD<br />
<strong>SQL</strong>CMD es la nueva utilidad de línea de comandos <strong>para</strong> trabajar con <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong>.<br />
Reemplaza a la utilidad O<strong>SQL</strong>. La utilidad <strong>SQL</strong>CMD le permite escribir instrucciones Transact-<br />
<strong>SQL</strong>, procedimientos de sistema y archivos de secuencias de comandos en <strong>el</strong> símbolo d<strong>el</strong><br />
sistema. .<br />
<strong>SQL</strong>CMD utiliza la API OLE DB <strong>para</strong> comunicarse con <strong>SQL</strong> <strong>Server</strong>, mientras que las otras<br />
utilidades utilizan las API de las bibliotecas ODBC o DB. <strong>SQL</strong>CMD es compatible con la<br />
funcionalidad de O<strong>SQL</strong> o I<strong>SQL</strong>, pero también incorpora un conjunto más completo de comandos<br />
que permiten un mejor funcionamiento de las secuencias de comandos de aplicaciones, como<br />
las secuencias de comandos de Microsoft Visual Basic <strong>para</strong> Aplicaciones (VBA).<br />
Conexión dedicada <strong>para</strong> <strong>el</strong> administrador<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora una conexión dedicada <strong>para</strong> <strong>el</strong> administrador que permite tener<br />
acceso a un servidor en ejecución incluso si <strong>el</strong> servidor está bloqueado o no disponible. Esto<br />
permite a los administradores ejecutar funciones de diagnóstico o instrucciones Transact-<strong>SQL</strong><br />
<strong>para</strong> solucionar los problemas de un servidor. La conexión la pueden activar o bien los miembros<br />
de la función sysadmin, con lo que sólo estará disponible localmente a través de la línea de<br />
comando CMD de <strong>SQL</strong>, o bien un equipo remoto.<br />
En versiones anteriores de <strong>SQL</strong> <strong>Server</strong>, no se podía establecer conexión a un servidor que no<br />
respondiese a una conexión de <strong>SQL</strong> <strong>Server</strong>. Para poder utilizar la conexión dedicada, <strong>el</strong><br />
administrador debe ejecutar la herramienta <strong>SQL</strong>CMD en <strong>el</strong> símbolo d<strong>el</strong> sistema usando <strong>el</strong><br />
modificador -A <strong>para</strong> especificar una conexión dedicada. A partir de ahí, <strong>el</strong> administrador de bases<br />
de datos puede diagnosticar y solucionar <strong>el</strong> problema.<br />
Objetos de administración de <strong>SQL</strong><br />
Los objetos de administración de <strong>SQL</strong> (SMO) constituyen un nuevo conjunto de objetos de<br />
programación que muestran la funcionalidad de la administración de replicación y bases de datos<br />
de <strong>SQL</strong> <strong>Server</strong>. SMO de <strong>SQL</strong> se implementa como un ensamblado .NET y usa CLR. SMO puede<br />
utilizarse <strong>para</strong> automatizar tareas administrativas de <strong>SQL</strong> <strong>Server</strong> repetitivas o que se realizan<br />
habitualmente, como la recuperación mediante programación de valores de configuración, la<br />
creación de nuevas bases de datos, la aplicación de secuencias de comandos Transact-<strong>SQL</strong>, la<br />
creación de trabajos d<strong>el</strong> Agente <strong>SQL</strong> <strong>Server</strong> y la programación de copias de seguridad.<br />
El mod<strong>el</strong>o de objetos de SMO amplía y reemplaza los objetos de administración distribuida<br />
(DMO) de <strong>SQL</strong> <strong>Server</strong>, que estaban incluidos en versiones anteriores de <strong>SQL</strong> <strong>Server</strong> (se<br />
proporcionarán con <strong>Yukon</strong>, pero no ofrecerán esta nueva funcionalidad). SMO incluye muchas<br />
mejoras con respecto a DMO, incluido un mod<strong>el</strong>o de objetos .NET, instalación parcial, ejecución
en modo de captura, ejecución d<strong>el</strong>egada, objetos en espacio e integración con .NET Framework.<br />
A continuación, se citan ejemplos en los que puede utilizarse SMO:<br />
• Un ISP necesita d<strong>el</strong>egar la administración de <strong>SQL</strong> <strong>Server</strong> a sus clientes en un entorno<br />
con bases de datos compartidas. El ISP desea proporcionar una interfaz Web y limitar<br />
los tipos de tareas que pueden realizarse. El equipo de desarrollo d<strong>el</strong> ISP desarrolla una<br />
aplicación ASP.NET usando <strong>el</strong> mod<strong>el</strong>o de objetos SMO <strong>para</strong> crear una interfaz<br />
administrativa sencilla, que se proporciona a los clientes d<strong>el</strong> ISP.<br />
• Un administrador de bases de datos desea d<strong>el</strong>egar tareas de administración básicas,<br />
como agregar nuevos usuarios <strong>para</strong> las bases de datos de <strong>SQL</strong> <strong>Server</strong> de la empresa, al<br />
departamento de soporte. Un desarrollador de IT crea una interfaz Web básica con <strong>el</strong><br />
mod<strong>el</strong>o de objetos SMO que se implementa en un área segura de la intranet corporativa.<br />
Agente <strong>SQL</strong> <strong>Server</strong><br />
En Microsoft <strong>SQL</strong> <strong>Server</strong> 2000, los trabajos d<strong>el</strong> Agente <strong>SQL</strong> <strong>Server</strong> se ejecutan en la cuenta que<br />
crea <strong>el</strong> trabajo. Se puede especificar una cuenta proxy <strong>para</strong> ejecutar trabajos CmdExec y<br />
ActiveX.<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora los siguientes cambios en la seguridad d<strong>el</strong> Agente <strong>SQL</strong> <strong>Server</strong>:<br />
• La creación de una función de usuario d<strong>el</strong> agente. Únicamente los usuarios<br />
explícitamente agregados podrán agregar, editar y ejecutar trabajos d<strong>el</strong> Agente <strong>SQL</strong>.<br />
• La posibilidad <strong>para</strong> los administradores de sistemas de crear una o más cuentas proxy e<br />
incluir servidores proxy <strong>para</strong> otros subsistemas de <strong>SQL</strong> <strong>Server</strong>, incluido DTS.<br />
• La posibilidad de asignar usuarios o grupos (grupos <strong>SQL</strong>) <strong>para</strong> que utilicen cuentas<br />
proxy.<br />
Es posible programar la ejecución de cada acción de administración de <strong>SQL</strong> <strong>Server</strong> desde <strong>SQL</strong><br />
<strong>Server</strong> Workbench usando los objetos de administración de <strong>SQL</strong> (SMO) o Transact-<strong>SQL</strong>. <strong>SQL</strong><br />
<strong>Server</strong> <strong>Yukon</strong> proporciona nuevos objetos y contadores <strong>para</strong> <strong>el</strong> Agente <strong>SQL</strong> <strong>Server</strong> que <strong>el</strong><br />
Monitor de sistema puede utilizar <strong>para</strong> supervisar la actividad d<strong>el</strong> Agente <strong>SQL</strong> <strong>Server</strong>. Estos<br />
nuevos contadores incluyen la posibilidad de supervisar varios aspectos de la actividad d<strong>el</strong><br />
Agente <strong>SQL</strong> <strong>Server</strong>, incluidos trabajos activados, alertas activadas, programas activados,<br />
trabajos activos, alertas activas, porcentaje de éxito d<strong>el</strong> trabajo, etc. Los contadores también<br />
permiten configurar las alertas desencadenadas por las condiciones d<strong>el</strong> contador de rendimiento<br />
d<strong>el</strong> Agente <strong>SQL</strong> <strong>Server</strong>.<br />
Mejoras de Transact-<strong>SQL</strong><br />
Las mejoras d<strong>el</strong> lenguaje T-<strong>SQL</strong> reflejan una mayor conformidad con la especificación ANSI-99<br />
<strong>SQL</strong>, así como con las peticiones realizadas por los clientes. Esta sección sólo resalta algunos<br />
de los cambios más conocidos realizados en T-<strong>SQL</strong>. Muchas de las mejoras realizadas en T-<br />
<strong>SQL</strong> se concentran en una mayor expresividad en las consultas.<br />
La nueva funcionalidad Expresión de tabla común (CTE, Common Table Expression) permite<br />
generar lotes de consultas en aqu<strong>el</strong>los casos en los que hoy en día se usaría una tabla derivada.<br />
Una expresión de tabla común (CTE) es un conjunto de resultados temporal con nombre al que<br />
puede hacer referencia una instrucción de definición. De un modo simplificado, puede pensar en<br />
las CTE como una versión mejorada de las tablas derivadas. La referencia a una CTE en una<br />
cláusula FRM de una consulta se realiza de la misma manera que una referencia a las tablas y<br />
vistas derivadas. CTE ofrece un modo flexible y expresivo <strong>para</strong> los datos normalizados y
eorganizados. Una de las grandes aportaciones al T-<strong>SQL</strong> es la consulta recursiva. Esto<br />
aumenta la capacidad de manipular datos r<strong>el</strong>acionales.<br />
Las consultas recursivas son un nuevo tipo de consulta que permite generar una lista de<br />
materiales o un conjunto de resultados jerárquicos. Hay nuevos operadores dinámicos y no<br />
dinámicos. Estos operadores realizan una manipulación en una expresión de valor de tabla de<br />
entrada y generan una tabla de salida como conjunto de resultados. El operador PIVOT gira las<br />
filas en las columnas, posiblemente realizando agregaciones u otros cálculos matemáticos al<br />
mismo tiempo. Amplía la expresión de tabla de entrada según una columna dinámica concreta<br />
<strong>para</strong> generar una tabla de salida con una columna <strong>para</strong> cada valor único de la columna dinámica.<br />
El operador UNPIVOT realiza la operación contraria a la d<strong>el</strong> operador PIVOT, es decir, gira las<br />
columnas en filas. Limita la expresión de tabla de entrada en función de una columna dinámica.<br />
Las consultas recursivas ofrecen un modo de cambiar la forma de los datos. Varias mejoras de<br />
T-<strong>SQL</strong> se centran en la capacidad de formular los resultados en función de la aplicación de un<br />
operador.<br />
El nuevo operador r<strong>el</strong>acional APPLY le permite invocar una función de valor de tabla específica<br />
una vez por cada fila de una expresión de tabla externa. Puede especificar APPLY en la cláusula<br />
FROM de una consulta de modo similar a cuando utiliza <strong>el</strong> operador r<strong>el</strong>acional JOIN. Con <strong>el</strong><br />
operador APPLY, <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> le permite hacer referencia a una función de valor de tabla<br />
en una subconsulta corr<strong>el</strong>ativa. APPLY se presenta de dos formas: CROSS APPLY y OUTER<br />
APPLY. CROSS APPLY invoca una función de valor de tabla <strong>para</strong> cada fila de una expresión de<br />
tabla externa. Puede hacer referencia a columnas de la tabla externa como argumentos de la<br />
función de valor de tabla. CROSS APPLY devu<strong>el</strong>ve un conjunto de resultados unificado de todos<br />
los resultados devu<strong>el</strong>tos por las invocaciones individuales de la función de valor de tabla. Si la<br />
función de valor de tabla devu<strong>el</strong>ve un conjunto vacío <strong>para</strong> una determinada fila externa, esa fila<br />
externa no se presenta en <strong>el</strong> resultado.<br />
OUTER APPLY es muy similar a CROSS APPLY, pero además devu<strong>el</strong>ve columnas de la tabla<br />
externa <strong>para</strong> las que la función de valor de tabla ha devu<strong>el</strong>to un conjunto vacío. Las posibilidades<br />
de cambiar la forma y manipular los datos son mucho mayores de las que se describen en este<br />
documento; consulte los libros en línea de <strong>SQL</strong> <strong>Server</strong>.<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> ha modernizado las funciones transaccionales de las consultas al agregar<br />
una función de control de errores. <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> incorpora un mecanismo de control de<br />
excepciones sencillo pero muy eficaz en forma de una construcción TRY/CATCH T-<strong>SQL</strong>. Ahora<br />
se pueden detectar y controlar errores de anulación de transacciones que solían ocasionar la<br />
terminación de un lote. A continuación se ofrece un ejemplo:<br />
SET XACT_ABORT ON<br />
BEGIN TRY<br />
BEGIN TRAN<br />
INSERT INTO T1 VALUES(1)<br />
/* realizar otra actividad */<br />
PRINT 'After INSERT.'<br />
COMMIT<br />
END TRY<br />
BEGIN CATCH TRAN_ABORT<br />
ROLLBACK<br />
/* realizar actividad correctiva */<br />
PRINT 'INSERT failed.'<br />
END CATCH
Además, hay nuevas construcciones de lenguaje <strong>para</strong> seguridad, replicación, servicios de<br />
notificación, XML y todas las características de .NET Framework. Para obtener más información<br />
acerca de la nueva funcionalidad, consulte los libros en línea de <strong>SQL</strong> <strong>Server</strong>.<br />
Mejoras en la seguridad<br />
<strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> ofrece mejoras significativas en <strong>el</strong> mod<strong>el</strong>o de seguridad de la plataforma de<br />
bases de datos con <strong>el</strong> fin de proporcionar más opciones de administración y seguridad a los<br />
desarrolladores y administradores por igual. Se ha realizado una inversión considerable en varias<br />
características que cubren un amplio espectro, desde hacer cumplir las directivas <strong>para</strong> las<br />
contraseñas de inicio de sesión de <strong>SQL</strong> (en <strong>el</strong> espacio de autenticación) y proporcionar más<br />
granularidad en términos de especificación de permisos en varios ámbitos (en <strong>el</strong> espacio de<br />
autorización) hasta permitir la se<strong>para</strong>ción de propietarios y esquemas (en <strong>el</strong> espacio de<br />
administración de la seguridad).<br />
Asimismo, teniendo presente los principios técnicos de seguridad básicos como "reducción en<br />
área de superficie" y <strong>el</strong> "principio d<strong>el</strong> menor número de privilegios" además de los principios<br />
firmes de "proteger los valores predeterminados y diseños", también se están pre<strong>para</strong>ndo<br />
determinados cambios <strong>para</strong> la versión final d<strong>el</strong> producto.<br />
Dos funciones de escalabilidad especiales<br />
Vale la pena mencionar dos características de escalabilidad que pueden usarse <strong>para</strong> bases de<br />
datos muy grandes. El niv<strong>el</strong> de aislamiento de instantánea permite a los usuarios tener acceso a<br />
la última fila confirmada usando una vista momentáneamente coherente de la base de datos.<br />
Este nuevo niv<strong>el</strong> de aislamiento ofrece las siguientes ventajas:<br />
• Mayor disponibilidad de los datos <strong>para</strong> aplicaciones de sólo lectura<br />
• Posibilidad de realizar operaciones de lectura de desbloqueo en un entorno OLTP<br />
• Detección automática obligatoria de conflictos <strong>para</strong> transacciones de escritura<br />
• Migración simplificada de aplicaciones de Oracle a <strong>SQL</strong> <strong>Server</strong><br />
Por ejemplo, <strong>el</strong> bloqueo puede ocasionar bloqueos entre aplicaciones que estén leyendo y<br />
escribiendo los mismos datos simultáneamente. Si una transacción cambia una fila, no es<br />
posible que otra transacción lea la fila hasta que se confirme la escritura. Con SI, <strong>el</strong> lector puede<br />
tener acceso al valor de la lista confirmado anteriormente. La segunda característica especial de<br />
escalabilidad es la partición de tablas.<br />
Si bien <strong>el</strong> concepto de partición de datos en tablas, bases de datos y servidores no es nuevo en<br />
<strong>el</strong> mundo de las bases de datos, <strong>SQL</strong> <strong>Server</strong> <strong>Yukon</strong> proporciona una nueva función de<br />
infraestructura <strong>para</strong> particionar las tablas en grupos de archivos de una base de datos. La<br />
partición horizontal permite dividir una tabla en agrupaciones más pequeñas según un esquema<br />
de partición. La partición de tablas está diseñada <strong>para</strong> bases de datos muy grandes que ocupan<br />
desde cientos de gigabytes hasta terabytes y más. Las particiones ayudan a mejorar <strong>el</strong><br />
rendimiento de las consultas en bases de datos muy grandes. La partición en un intervalo de<br />
valores de columnas de partición permite administrar subconjuntos de datos y asignarlos a otras<br />
tablas de un modo rápido y eficaz. Para obtener más información acerca de las particiones,<br />
consulte los libros en línea de <strong>SQL</strong> <strong>Server</strong>.<br />
Apéndice
Nuevos tipos de datos<br />
• Tipo de datos XML. Tipo de datos de Lenguaje de marcado extensible (XML) que le<br />
permite almacenar un fragmento o documento XML en bases de datos de <strong>SQL</strong> <strong>Server</strong>.<br />
Algunos ejemplos de tipos de datos xml pueden ser las columnas de una tabla, una<br />
función o argumentos de procedimientos almacenados, así como variables de una<br />
función o procedimiento almacenado. Además, <strong>el</strong> tipo de datos xml puede especializarse<br />
mediante la indicación de un esquema XML asociado que proporcione tanto una<br />
restricción de validación como información d<strong>el</strong> tipo de datos de la instancia d<strong>el</strong> XML.<br />
Las operaciones <strong>sobre</strong> una instancia de tipo de datos xml se realizan utilizando métodos<br />
de consulta XML integrados. Estos métodos aceptan consultas e instrucciones de<br />
manipulación de datos adecuadas <strong>para</strong> los datos XML. Seguidamente, puede especificar<br />
consultas (XQuery) contra <strong>el</strong> XML almacenado en la variable o columna d<strong>el</strong> tipo de datos<br />
xml y aplicar actualizaciones (insertar/actualizar/<strong>el</strong>iminar) a la instancia d<strong>el</strong> XML.<br />
También puede utilizar un XSD <strong>para</strong> crear un índice <strong>para</strong> la columna XML, lo que<br />
mejorará <strong>el</strong> rendimiento de la consulta.<br />
• UtcDateTime es un tipo de datos de fecha y hora que conoce la zona horaria.<br />
UtcDateTime se utilizará en bases de datos de transacciones de origen que abarquen<br />
operaciones globales.<br />
• Date es la parte de fecha de la fecha y la hora, con precisión de un día, y su valor está<br />
comprendido entre 1/1/0001 y 12/31/9999. Time es la parte de hora de la fecha y la<br />
hora, con precisión de 100 NS, y su valor está comprendido entre 0:00:00 y<br />
23:59:59.9999999.<br />
• Varchar(max), nvarchar(max) y varbinary(max) contienen hasta 2 GB de datos y serán<br />
alternativas útiles a los tipos de datos text, ntext e image.<br />
Derechos de autor y renuncia de responsabilidad<br />
Éste es un documento pr<strong>el</strong>iminar y puede sufrir cambios sustanciales antes de la versión<br />
comercial final d<strong>el</strong> software que aquí se describe.<br />
La información que contiene este documento representa la visión actual de Microsoft Corporation<br />
acerca de los temas tratados en <strong>el</strong> momento de su publicación. Dado que Microsoft debe<br />
responder a las condiciones variables d<strong>el</strong> mercado, este documento no debe interpretarse como<br />
un compromiso por parte de Microsoft, y Microsoft no puede garantizar la exactitud de la<br />
información presentada con posterioridad a la fecha de publicación.<br />
La finalidad de este documento es únicamente informativa. MICROSOFT NO OTORGA<br />
GARANTÍAS EXPRESAS, IMPLÍCITAS O ESTATUTARIAS SOBRE LA INFORMACIÓN DE<br />
ESTE DOCUMENTO.<br />
Es responsabilidad d<strong>el</strong> usuario <strong>el</strong> cumplimiento de las leyes de derechos de autor aplicables.<br />
Ninguna parte de este documento puede ser reproducida, almacenada o introducida en un<br />
sistema de recuperación, o transmitida de ninguna forma, ni por ningún medio (ya sea<br />
<strong>el</strong>ectrónico, mecánico, por fotocopia, grabación o de otra manera) con ningún propósito, sin la<br />
previa autorización por escrito de Microsoft Corporation.<br />
Microsoft puede ser titular de patentes, solicitudes de patentes, marcas registradas, derechos de<br />
autor u otros derechos de propiedad int<strong>el</strong>ectual <strong>sobre</strong> los contenidos de este documento. La<br />
posesión de este documento no le otorga ninguna licencia <strong>sobre</strong> estas patentes, marcas
egistradas, derechos de autor u otros derechos de propiedad int<strong>el</strong>ectual, a menos que se prevea<br />
en un contrato de licencia por escrito de Microsoft.<br />
A menos que se indique lo contrario, los nombres de empresas, organizaciones, productos,<br />
dominios, direcciones de correo <strong>el</strong>ectrónico, logotipos, personas y acontecimientos utilizados en<br />
los ejemplos son ficticios y no están asociados ni se deben asociar de ningún modo con ninguna<br />
empresa, organización, producto, nombre de dominio, dirección de correo <strong>el</strong>ectrónico, logotipo,<br />
persona o acontecimiento reales.<br />
© 2003 Microsoft Corporation. Reservados todos los derechos.<br />
Microsoft, Visual Basic, Visual Studio y Windows son marcas comerciales o marcas registradas<br />
de Microsoft Corporation en los Estados Unidos o en otros países.<br />
Otros nombres de productos y compañías reales mencionados aquí pueden ser marcas<br />
registradas de sus respectivos propietarios.