19.11.2014 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!