Manual Users - Presentación e instalación de SQL Server.pdf

34
Presentación e instalación de SQL Server Sistemas de Gestión de Bases de Datos Relacionales 16 Los primeras versiones de SQL Server 19 SQL Server 2005 y sus ediciones 23 Funcionalidades disponibles por Edición 25 Instalación de SQL Server 2005 26 Revisión del hardware mínimo requerido 26 Sistema Operativo de la plataforma destino 27 Cuentas de Dominio para el servidor y la instalación 28 Definición de instancias de servidor a instalar 29 Definición del conjunto de caracteres 29 Tipos de instalación disponibles 30 Cómo instalar SQL Server 2005 - Beta 2 1 31 Prestaciones de SQL Server para sistemas OLTP 41 El motor de SQL Server y T-SQL 41 El optimizador de consultas 42 Procedimientos almacenados extendidos 43 Resumen 47 Actividades 48 Capítulo 1 En este capítulo, conoceremos la historia del desarrollo de motores de bases de datos para redes, las diferentes versiones de SQL Server y las funcionalidades disponibles en cada una de ellas. Además, repasaremos los elementos necesarios para instalar un servidor SQL Server 2005 con todas las herramientas precisas para realizar desarrollos. SQL SERVER SERVICIO DE ATENCIÓN AL LECTOR: [email protected]

Transcript of Manual Users - Presentación e instalación de SQL Server.pdf

  • Presentacin e instalacin de SQL Server

    Sistemas de Gestin de Basesde Datos Relacionales 16

    Los primeras versiones de SQL Server 19SQL Server 2005 y sus ediciones 23Funcionalidades disponiblespor Edicin 25

    Instalacin de SQL Server 2005 26Revisin del hardwaremnimo requerido 26Sistema Operativo de la plataforma destino 27Cuentas de Dominio parael servidor y la instalacin 28Definicin de instanciasde servidor a instalar 29Definicin del conjuntode caracteres 29Tipos de instalacin disponibles 30Cmo instalar SQL Server 2005 - Beta 2 1 31

    Prestaciones de SQL Serverpara sistemas OLTP 41

    El motor de SQL Server y T-SQL 41El optimizador de consultas 42Procedimientos almacenadosextendidos 43

    Resumen 47Actividades 48

    Captulo 1

    En este captulo, conoceremos la historia

    del desarrollo de motores de bases de

    datos para redes, las diferentes versiones

    de SQL Server y las funcionalidades

    disponibles en cada una de ellas.

    Adems, repasaremos los elementos

    necesarios para instalar un servidor SQL

    Server 2005 con todas las herramientas

    precisas para realizar desarrollos.

    SQL SERVER

    SERVICIO DE ATENCIN AL LECTOR: [email protected]

    01_SqlServer.qxd 11/14/05 15:38 Page 15

  • SISTEMAS DE GESTIN DE BASES DE DATOS RELACIONALES

    Un Sistema de Gestin de Bases de Datos Relacionales (SGBDR o RDBMS, porsus siglas en ingls) tiene como objetivo servir de interfaz de comunicacin entreuna base de datos y las aplicaciones que la utilizan, de modo de asegurar el cumpli-miento de los siguientes objetivos.

    Abstraer la informacin acerca de cmo se almacenan fsicamente los datos. Mantener la independencia entre la vista fsica y lgica de los datos. Mantener la mnima redundancia, dado que los diseos de bases de datos que so-

    portan (el modelo relacional) no son propensos a representar informacin repetida. Asegurar la consistencia de la informacin. Proveer seguridad ante usos malintencionados, ataques, robos de informacin, etc. Asegurar la integridad de los datos almacenados. Proveer mecanismos de respaldo y recuperacin. Regular y controlar la concurrencia de usuarios. Proveer buen tiempo de respuesta.

    Para evaluar los SGBDR, el doctor E. F. Codd enunci, en 1970, las siguientes re-glas (publicadas en 1969 bajo el ttulo Derivability, Redundancy, and Consis-tency of Relations Stored in Large Data Banks, y un ao ms tarde bajo el ttu-lo A Relational Model of Data for Large Shared Data Banks).

    Regla 0. Para que un sistema se denomine sistema de gestin de bases de datosrelacionales debe utilizar (exclusivamente) sus capacidades relacionales con el pro-psito de gestionar la base de datos.

    Regla 1. Toda la informacin contenida en una base de datos relacional (BDR) serepresenta explcitamente en el nivel lgico de una manera exacta: con valores entablas. Por este motivo, los metadatos (diccionario, catlogo) se representan en for-ma idntica que los datos de usuario y puede usarse el mismo lenguaje (ej., SQL)para acceder a los datos y a los meta datos (Regla 4).Por otra parte, un valor posible es el valor nulo, con sus dos interpretaciones: valordesconocido o valor no aplicable.

    Regla 2. Regla del acceso garantizadoPara todos y cada uno de los datos (valores atmicos) de una base de datos relacio-nales se garantiza que son accesibles lgicamente, utilizando una combinacin denombre de tabla, valor de clave primaria y nombre de columna.

    SQL SERVER

    16 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 16

  • Cualquier dato almacenado en una bases de datos relacionales tiene que poder serdireccionado en forma unvoca. Para hacerlo, se debe indicar en qu tabla seencuentra, cul es la columna y cul es la fila (por medio de la clave primaria).Por lo tanto, se necesita el concepto de clave primaria.

    Regla 3. Tratamiento sistemtico de valores nulosLos valores nulos (aquellos valores que son distintos de la cadena vaca, blancos,0,...) se soportan en los SGBD totalmente relacionales con el objeto de represen-tar informacin desconocida o no aplicable de manera sistemtica, independien-temente del tipo de datos en cuestin.

    Regla 4. Catlogo dinmico en lnea basado en el modelo relacionalLa descripcin de la base de datos relacional se representa lgicamente de la mismamanera que los datos normales, de tal manera que los usuarios autorizados se en-cuentran en condiciones de aplicar el mismo lenguaje relacional a su consulta, igualque lo aplican a los datos normales.

    Regla 5. Regla del sublenguaje de datos completoUn sistema relacional debe soportar varios lenguajes y varios modos de uso de ter-minal (ej., rellenar formularios, etc.). Sin embargo, debe existir al menos un lengua-je cuyas sentencias sean expresables mediante una sintaxis bien definida como ca-denas de caracteres y que sea completo, soportando:

    - definicin de datos;- definicin de vistas;- manipulacin de datos (interactiva y por programa);- limitantes de integridad;- limitantes de transaccin (iniciar, realizar, deshacer) (Begin, commit, rollback);- adems de poder tener interfaces ms amigables para hacer consultas, etc., siem-

    pre debe de haber un modo de hacerlo todo de manera textual, es decir que pue-da ser incorporada en un programa tradicional. Un lenguaje que cumple con es-ta caracterstica medida es SQL.

    Sistemas de Gestin de Bases de Datos Relacionales

    17usr.code

    En la jerga informtica, se entiende por Persistencia de Datos o de Informacin el proceso de

    almacenamiento de datos o de informacin de un proceso de manera que puedan ser recupe-

    rados en cualquier otro momento tal y como fueron almacenados.

    PERSISTENCIA DE DATOS

    01_SqlServer.qxd 11/14/05 15:38 Page 17

  • Regla 6. Regla de actualizacin de vistasTodas las vistas que son tericamente actualizables se pueden actualizar por el sistema.

    Regla 7. Regla de insercin, actualizacin y borrado de alto nivelLa capacidad de manejar una relacin base o derivada como un solo operando seaplica no slo a la recuperacin de los datos (consultas), sino tambin a la insercin,actualizacin y borrado de datos. Esto significa que el lenguaje de manejo de datostambin debe ser de alto nivel (de conjuntos).

    Regla 8. Regla de independencia fsica de datosLos programas de aplicacin y actividades del terminal permanecen inalterados enel mbito lgico independientemente de los cambios que se realicen en las represen-taciones de almacenamiento o en los mtodos de acceso. El modelo relacional es unmodelo lgico de datos y oculta las caractersticas de su representacin fsica.

    Regla 9. Regla de independencia lgica de datosLos programas de aplicacin y actividades del terminal permanecen inalterados enel mbito lgico independientemente de los cambios que se realicen en las tablasbase que preservan la informacin. Cuando se modifica el esquema lgico preser-vando informacin (no valdra, por ejemplo, eliminar un atributo), no es necesariomodificar nada en niveles superiores.

    Regla 10. Regla de independencia de integridadLos limitantes de integridad especficos para una determinada base de datos re-lacional deben ser capaces de definirse en el sublenguaje de datos relacionales, yalmacenables en el catlogo, no en los programas de aplicacin. El objetivo delas bases de datos no consiste nicamente en almacenar los datos, sino tambinen guardar sus relaciones y evitar que estas limitantes se codifiquen en los pro-gramas. Por tales motivos, se deduce que en una base de datos relacional debe serposible definir limitantes de integridad.Como parte de los limitantes inherentes al modelo relacional (formando parte desu definicin) podemos hallar los siguientes:

    SQL SERVER

    18 usr.code

    Cuando hablamos de registro, nos referimos a la mnima unidad cohesiva y coherente de infor-

    macin acerca de una entidad. As, por ejemplo, hablaremos de Registros de Clientes, donde un

    registro nos aporta toda la informacin que necesitamos sobre un cliente en una aplicacin.

    REGISTRO

    01_SqlServer.qxd 11/14/05 15:38 Page 18

  • - una BDR tiene integridad de entidad o, expresado en otros trminos, toda tabladebe tener una clave primaria, y

    - una BDR tiene integridad referencial, es decir, toda clave externa no nula debeexistir en la relacin donde es primaria.

    Regla 11. Regla de independencia de distribucinUna BDR tiene independencia de distribucin. Las mismas rdenes y programas seejecutan igual en una base de datos (BD) centralizada que en una distribuida.Las bases de datos relacionales son fcilmente distribuibles: se parten las tablas enfragmentos que se distribuyen y, cuando se necesitan las tablas completas, se recom-binan por medio de operaciones relacionales con los fragmentos.Esta regla es responsable de los siguientes tres tipos de transparencia de distribucin.

    Transparencia de localizacin: el usuario tiene la impresin de que trabaja conuna base de datos local (aspecto de la regla de independencia fsica).

    Transparencia de fragmentacin: el usuario no se percata de que la relacincon la cual est trabajando se encuentra fragmentada (aspecto de la regla de in-dependencia lgica de datos).

    Transparencia de replicacin: el usuario no advierte que pueden existir copias(rplicas) de una misma relacin en diferentes lugares.

    Regla 12. Regla de la no-subversinSi un sistema relacional posee un lenguaje de bajo nivel (un registro de cada vez),ese bajo nivel no puede ser usado para saltarse (subvertir) las reglas de integridady los limitantes expresados en los lenguajes relacionales de ms alto nivel: una re-lacin (conjunto de registros) de cada vez.

    Los primeras versiones de SQL ServerTanto las organizaciones como los individuos necesitan guardar informacin demanera fiable y segura durante el curso de sus actividades. El volumen de esta in-formacin estar relacionado siempre, de manera directamente proporcional, conel volumen de transacciones que realice.

    Sistemas de Gestin de Bases de Datos Relacionales

    19usr.code

    Un campo es una unidad de informacin incluida en un registro, que por s sola no aporta infor-

    macin. Por ejemplo, Aguas Claras puede ser un nombre propio, una localidad o el nombre de un

    ro. Nada nos aporta por s solo, si no est relacionado directamente con el campo de un registro.

    En un Registro de clientes, Aguas Claras puede ser un dato que contiene el campo Nombre.

    QU ES UN CAMPO?

    01_SqlServer.qxd 11/14/05 15:38 Page 19

  • En este sentido, las principales empresas de tecnologa han contribuido, desde la d-cada de los setenta, con el aporte de mejoras sorprendentes sobre las herramientasde bases de datos y de las aplicaciones de gestin.

    La historia de los Sistemas de Gestin de Bases de datos Relacionales (SGBDR)se remonta al ao 1970, cuando el doctor E. F. Codd public el artculo con suTeora sobre el Modelo Relacional.

    En 1974, IBM desarrolla, sobre la base de las reglas de Codd, el primer lenguajeorientado hacia el modelo relacional: el lenguaje SEQUEL (Structured EnglishQuery Language) para su prototipo System/R. El proyecto se cerr en 1979 (seretomara luego como base de su proyecto SQL/DS), pero dej dos hitos en elmundo de los sistemas de bases de datos relacionales: la visibilidad del modelo re-lacional en un prototipo y un lenguaje estructurado de consultas que ms tarde,por razones legales, cambiara su nombre a SQL.

    Rational Software Inc. (RSI) sale al mercado con Oracle II, basado en el desarro-llo del modelo relacional en el que estuvo trabajando IBM. La firma cambi sunombre por el de Oracle y avanz con las mejoras hasta 1986, cuando sali al mer-cado con la primera versin de bases de datos distribuida.

    En 1986, el comit ANSI (Instituto Nacional Americano para Estndares) public elprimer estndar SQL (Lenguaje Estructurado de Consultas) como el lenguaje de ac-ceso a bases de datos relacionales, basndose en el estndar del proyecto System/Rde IBM. Este estndar fue revisado nuevamente en 1992 y en 1999.SQL Server tuvo sus orgenes en acuerdos comerciales entre las empresas Micro-soft, IBM, Sybase y Ashton-Tate.

    Con la finalidad de ubicarse rpidamente en una posicin competitiva, en 1986Microsoft se asoci con Sybase Inc., que ya tena un producto corriendo en UNIXque se encontraba muy bien conceptuado en el mercado. Tal reputacin se debial haber introducido elementos innovadores como desencadenadores (triggers)

    SQL SERVER

    20 usr.code

    Para beneficio del lector, traduciremos los conceptos que se encuentren en idioma ingls,

    siempre y cuando dicha traduccin no altere el sentido del concepto. La jerga informtica es-

    t poblada de palabras en ingls de difcil traduccin al espaol, dado que representan con-

    ceptos del mundo real ajenos a esta rea.

    IDIOMA

    01_SqlServer.qxd 11/14/05 15:38 Page 20

  • y procedimientos almacenados; estaba diseado sobre el paradigma cliente/servi-dor. Como fruto de esta alianza, surgi Sybase para OS/2.

    En 1988, Microsoft se asoci con Ashton-Tate y anunci un nuevo producto: Ash-ton-Tate/Microsoft SQL Server. La idea era escalar Dbase con el fin de crear unaversin cliente/servidor que permitiera utilizar su lenguaje de consultas para crear apli-caciones que se comunicaran con SQL Server. En 1989, surgi la primera versin deSQL Server para OS/2 bajo el nombre Ashton-Tate/Microsoft SQL Server 1.0.

    El intento de escalar Dbase e integrarlo con SQL Server fracas. Dbase intentaba acceder a los registros de SQL Server mediante la tcnica ISAM(Indexed Sequential Access Method), que desaprovechaba las potencialidades de SQLServer. ste, a su vez, no poda ofrecer la capacidad de navegar registros hacia atrsy adelante como Dbase (los cursores an no se haban desarrollado). Microsoft yAshton-Tate disolvieron la sociedad de comercializacin.

    En 1991, Microsoft ya estaba trabajando en Windows NT (que originalmente se-ra lanzado como OS/2 3.0 por su asociacin con IBM), basado en la interfaz deprogramacin de aplicaciones API Win32 (Application Programming Interfase). Dos aos ms tarde, Microsoft y Sybase anunciaron el fin del desarrollo conjunto.A partir de ese momento, ambas empresas continuaran con sus desarrollos en for-ma independiente (Sybase ya haba lanzado su System10 para Windows NT).

    La siguiente versin de SQL Server, la 6.0, se liber al mercado en 1995. Este pro-ducto ya trabajaba elementos clave, como la duplicacin y los cursores, que dabanla posibilidad de trabajar registros uno a uno.La versin 6.5, liberada en abril de 1996, inclua ms facilidades de uso, la certifi-cacin ANSI-SQL, ms posibilidades a las transacciones distribuidas, y tuvo encuenta la creciente demanda de almacenes de datos.

    Durante el trancurso del ao 1995, Microsoft comenz a desarrollar un nuevoprocesador de consultas al que se le sum el de OLE DB. Se trabaj originalmen-

    Sistemas de Gestin de Bases de Datos Relacionales

    21usr.code

    Notification Services proporciona un entorno para el desarrollo de aplicaciones basadas en subs-

    cripciones, a travs de las cuales se notifica a los usuarios acerca de eventos.

    SERVICIOS DE NOTIFICACIN

    01_SqlServer.qxd 11/14/05 15:38 Page 21

  • SQL SERVER

    22 usr.code

    Figu

    ra 1

    .P

    rim

    eros

    hito

    s en

    el d

    esar

    rollo

    de

    Sist

    emas

    SGB

    DR.

    01_SqlServer.qxd 11/14/05 15:38 Page 22

  • te sobre una nueva versin de SQL Server, que fuese escalable al aprovechar losprocesadores y la memoria disponible, que incluyera la posibilidad de efectuarbloqueos a nivel fila con un administrador de bloqueos inteligente, con un pro-cesador de consultas que facilitase las consultas distribuidas y aplicaciones basa-das en Internet y de almacenes de datos. El producto fue liberado en enero de1999 como la versin 7.0.

    La versin 2000 de este producto, presentada en seis ediciones, introduce las carac-tersticas que se enumeran a continuacin:

    - soporta hasta 32 procesadores y 64 Gbytes de memoria RAM sobre Windows2000 Datacenter Server;

    - se integra con el Directorio Activo de Windows 2000 y aprovecha sus caracte-rsticas de seguridad;

    - provee ayuda al usuario en la creacin de aplicaciones de Almacn de Datos (Da-tawarehouse) y Minera de Datos (Data Mining) mediante asistentes;

    - ofrece soporte nativo al almacenamiento, uso y actualizacin de documentosXML, orientndose hacia el servicio de aplicaciones .NET.

    SQL Server 2005 y sus edicionesSQL Server 2005 es la ltima entrega de este popular SGBDR. Es mucho msque un simple gestor de bases de datos relacionales: Microsoft considera esta edi-cin como la prxima generacin. El producto fue mejorado para:

    - proveer alta escalabilidad y disponibilidad;- suministrar herramientas de anlisis de informacin avanzadas;- proveer un ambiente seguro, escalable y productivo mediante una plataforma de

    administracin mejorada;- reducir los costos de propiedad y aprovechar todas las caractersticas de integra-

    cin disponibles al formar parte del Windows Server System.

    Sistemas de Gestin de Bases de Datos Relacionales

    23usr.code

    En el transcurso de este libro, trabajaremos con la versin Beta 2 de este producto, cuya liberacin

    al mercado est prevista para finales de 2005. Si bien es esperable que no se introduzcan cambios

    mayores de ltima hora, deber consultarse la documentacin tcnica del producto liberado.

    VERSIN DE SQL SERVER

    01_SqlServer.qxd 11/14/05 15:38 Page 23

  • Dentro de las principales caractersticas y prestaciones con que cuenta esta versin,destacamos las siguientes:

    - soporte para varios procesadores, RAID y balanceo de carga de trabajo;- particionado de bases de datos para soportar bases de datos muy grandes;- operaciones de indexado paralelas;- Mirroring (espejado) de bases de datos para proveer proteccin ante fallos y redi-

    reccin automtica de clientes;- optimizacin automtica de bases de datos, herramientas de administracin sen-

    cillas y herramientas de desarrollo avanzadas;- servicios de autenticacin, auditora y autorizacin avanzados;- encriptacin avanzada de datos;- servicio de revisin de buenas prcticas de programacin;- integracin con Microsoft Baseline Security Analizer;- integracin con Microsoft Update;- soporte de consultas recursivas, manejo de errores y nuevos tipos de datos;- integracin con .NET;- tipos definidos por el usuario;- indexado y bsqueda de texto completo sobre XML (Extensible Markup Language);- servicios de notificacin;- transformaciones sencillas y avanzadas mediante una nueva herramienta de ex-

    traccin y transformacin de datos;- replicacin transaccional utilizando un Server Oracle como Publicador;- soporte para Web Services nativos, WSDL y autenticacin web;- herramientas avanzadas para el desarrollo de aplicaciones de inteligencia de negocios.- desencadenadores DDL que pueden ser utilizados para ejecutar procedimientos

    almacenados cuando se emiten sentencias de modificacin de estructuras (ejem-plo: CREATE).

    - conjuntos de resultados mltiples (MARS) que permiten que los clientes tenganms de una peticin por conexin.

    - sentencias TRY y CATCH en T-SQL para manejo de excepciones.- arquitectura de seguridad mejorada a travs de principales, asegurables y permisos. - la funcionalidad de replicacin ha sido mejorada para hacer ms sencilla la confi-

    guracin, y proveer soporte de replicacin transnacional para peer-to-peer, repli-cacin sobre HTTP y mejoras para replicacin heterognea.

    - mejoras en tareas de mantenimiento, con online restore y online index operations.

    El producto se presenta en las siguientes ediciones de 32 bits.

    SQL Server 2005 Express Edition: provee un cliente de bases de datos robus-to, simple de usar e integrado con Microsoft Visual Studio 2005. Permite rpi-

    SQL SERVER

    24 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 24

  • das implementaciones a un amplio rango de usuarios. A la vez, por ser de licen-cia libre, es la mejor eleccin para desarrollos independientes.

    SQL Server 2005 Mobile Edition: extiende las capacidades de gestin de datosempresarios a dispositivos mviles. Tiene la capacidad de replicar datos con SQLServer 2005 y con SQL Server 2000, de manera que en estos dispositivos los da-tos permanezcan sincronizados con la base de datos maestra. Es la nica edicinque provee manejo relacional de los datos para dispositivos mviles.

    SQL Server 2005 Personal Edition: viene incluido en las ediciones Enterprisey Standard. Requiere Licencia de Cliente (CAL) y provee las mismas prestacio-nes que la edicin Standard, con la diferencia de que soporta menor escalabilidad(alrededor de cinco usuarios conectados en forma concurrente). Asimismo, la ca-pacidad de replicacin se encuentra reducida a un solo suscriptor.

    SQL Server 2005 Developer Edition: ofrece la misma capacidad que la edicinCorporativa, pero en modalidad de Licencia Restringida. Se lo utiliza para instalarambientes de desarrollo, pero no puede ser utilizado en ambientes de produccin.

    SQL Server 2005 Desktop Engine: esta edicin ha sido diseada para aplica-ciones que requieren fuerte soporte de almacenamiento local. Ofrece seguridad,escalabilidad y compatibilidad, tanto con SQL Server 2000 como con Micro-soft Access y SQL Server 7.0 Es ideal para mantener situaciones de replicacin donde intervienen slo suscrip-tores. No requiere licencia CAL, excepto si se conecta con un servidor.

    SQL Server 2005 for Windows CE Edition: ofrece las funcionalidades elemen-tales de SQL Server 2005 para dispositivos mviles. Sus componentes slo pue-den ser instalados en estos dispositivos, para accesos de lectura y escritura.

    Funcionalidades disponibles por edicinEn la siguiente tabla se resumen las caractersticas y funcionalidades disponibles encada una de las ediciones de distribucin de SQL Server.

    EDICIN STANDAR PERSONAL DEVELOPER DESKTOPCARACTERSTICACORPORATIVA EDITION EDITION EDITION ENGINE

    CD EDITION

    Mltiples instancias de servidor x x x x

    Conmutacin por fallo x x

    Log Shippping x x

    DBCC paralelo x x

    CREATE INDEX paralelo x x

    Read ahead & scan x x

    Vistas indexadas x x

    Servidores federados x x

    System Area Network x x

    Sistemas de Gestin de Bases de Datos Relacionales

    25usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 25

  • EDICIN STANDAR PERSONAL DEVELOPER DESKTOPCARACTERSTICACORPORATIVA EDITION EDITION EDITION ENGINE

    CD EDITION

    Herramientas grficas de administracin x x x x

    Utilidades grficas de lenguaje x

    Bsqueda de texto completo x x x x

    (No Win 98) x

    Replicacin SnapShot x x x x x

    Replicacin transaccional x x Suscriptor x Suscriptor

    Replicacin de fusin x x x x x Suscriptor

    Actualizacin inmediata de suscriptores x x x x x

    Actualizacin encolada de suscriptores x x x x x

    Analysis Services x x x x

    Particiones OLAP definidas por usuario x x

    Ayudante de particionado x x

    Cubos OLAP vinculados x x

    Soporte para dimensiones ROLAP x x

    Soporte HTTP Internet x x

    Custom rollups x x x x

    Celdas calculadas x x

    Write-back dimensions x x

    Soporte para dimensiones muy grandes x x

    Acciones x x x x

    OLAP en tiempo real x x

    Cubos particionados distribuidos x x

    Minera de Datos x x x x

    English Query x x x x

    Tabla 1. Caractersticas de instalacin a tener en cuenta

    cuando se decide utilizar Microsoft SQL Server 2005.

    INSTALACIN DE SQL SERVER 2005En las lneas subsiguientes, se incluyen algunas consideraciones que se debern te-ner en cuenta antes de instalar SQL Server 2005.

    Revisin del hardware mnimo requeridoExceptuando la edicin para Windows CE, todas las ediciones de SQL Server so-portan la arquitectura comn que se expone en la siguiente tabla, difiriendo ni-camente en las funcionalidades.

    SQL SERVER

    26 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 26

  • CARACTERSTICA TODAS LAS EDICIONES

    Procesador Intel Pentium 166 mhz o compatible

    Memoria RAM 64 MB

    Espacio en disco

    (SQL Server y componentes adicionales seleccionados) 95 Mb - 270 Mb

    Desktop Engine 44 Mb

    Analysis Services 50 Mb - 130 Mb

    English Query Mnimo 80 Mb

    Protocolo de Red TCP/IP

    Microsoft Internet Explorer Versin 5.0 o superior

    Consola de Administracin Depende de su instalacin con Internet Explorer

    Administrador Corporativo y Ayuda HTML Depende de su instalacin con Internet Explorer

    Acceso Web a Analysis Services y SQL Server Requiere Internet Information Server 4.0 o superior

    Instalacin de Conectividad Cliente ActiveX Data Objects 2.6

    Admite Internet Explorer 4.01 SP2

    Tabla 2. Componentes de hardware y software necesarios

    para la instalacin de SQL Server 2005.

    Sistema Operativo de la plataforma destinoLas diferentes opciones de instalacin variarn en torno del sistema operativoutilizado en el equipo donde se pretenda instalar SQL Server. En la tabla que seincluye a continuacin, es posible determinar cules son los sistemas operativossoportados por cada edicin de SQL Server.

    EDICIN STANDAR PERSONAL DEVELOPER DESKTOPCARACTERSTICACORPORATIVA EDITION EDITION EDITION ENGINE

    CD EDITION

    MS Windows NT Server 4.0 - SP 5 o superior X X X X X

    Windows NT Server 4.0 Enterprise Edition -

    SP 5 o superior X X X X X

    Windows 2005 Server X X X X X

    Windows 2005 Advanced Server X X X X X

    Windows 2005 Datacenter Server X X X X X

    Microsoft Windows 98 X X

    Windows Me X X

    Windows NT Workstation 4.0 -

    SP 5 o superior X X X

    Windows 2005 Professional X X X

    Windows 2005 Terminal Server X X

    Windows CE devices X

    Tabla 3. Sistemas Operativos requeridos por cada edicin de SQL Server.

    Instalacin de SQL Server 2005

    27usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 27

  • Cuentas de Dominio para el servidor y la instalacinCuando instale SQL Server 2005 sobre Windows NT o Windows 2005, tantoSQL Server como SQL Server Agent se ejecutarn como servicios y requerirn deuna cuenta en el dominio (usuario y contrasea) para ser iniciados.La cuenta de dominio permitir que puedan autenticarse en las comunicacionesentre servidores que utilizan los servicios de replicacin, los servicios de backupremoto, las consultas distribuidas, SQL Mail y los jobs del SQL Server Agent. Por lo general, se crea una cuenta de dominio especial para ejecutar estos servi-cios (evitemos utilizar cuentas de usuario, debido a que, si en algn momento semodifica la contrasea de la cuenta, los servicios fallarn al iniciarse). Por otra parte, la instalacin de SQL Server deber llevarla a cabo un usuario queposeea una cuenta en el dominio de Windows y que disponga de los serviciosque se enumeran a continuacin.

    Permisos para cambiar el nivel de acceso al directorio de SQL Server 2005 (\Pro-gram Files\Microsoft SQL Server\Mssql).

    Permisos para cambiar el nivel de acceso a los archivos con extensin .MDF,.NDF y .LDF.

    Permisos para iniciar servicios. La cuenta de usuario con la que se intenta instalar el servidor tiene privilegios de

    administrador del sistema.

    Actualizacin de componentes Durante la fase de actualizacin de componentes en la instalacin, el programa de se-tup de SQL Server 2005 analiza e instala, si es necesario, los siguientes componentes:

    Windows Installer 2.0 The .NET Framework 2.0 SQL Server Setup Support Files

    Si la instalacin es cancelada luego de completarse la actualizacin de componen-tes, stos no sern eliminados.

    SQL SERVER

    28 usr.code

    Un caracter no UNICODE ocupa, para SQL Server, 1 byte (8 bits). De esta manera, se podrn re-

    presentar hasta 28 (256) caracteres distintos. Este conjunto es limitado para el total de caracte-

    res que forman un idioma. A su vez, un caracter UNICODE ocupa 2 bytes, y si bien permite alma-

    cenar ms caracteres, ocupa el doble de espacio en disco.

    TAMAO DE LOS CARACTERES

    01_SqlServer.qxd 11/14/05 15:38 Page 28

  • Definicin de instancias de servidor a instalarSQL Server soporta mltiples instancias propias en un mismo servidor. Cada unade ellas tendr un nombre y una configuracin especficos, aunque slo una serconsiderada la instancia por omisin y podr ser referida como localhost; el resto delas instancias ser referenciadas por su nombre.Esta flexibilidad que soporta SQL Server se utiliza para mantener ambientes de desa-rrollo y test en un mismo servidor, para habilitar distintas configuraciones de lengua-jes, testear aplicaciones internacionales y reducir los requerimientos de hardware ne-cesarios para armar ambientes de desarrollo, preproduccin (stagging) y produccin.

    Definicin del conjunto de caracteresDurante la instalacin, ser necesario seleccionar el conjunto de caracteres y el cri-terio de ordenamiento. Debido a que los caracteres NO UNICODE no son capa-ces de almacenar todos los caracteres disponibles para un lenguaje del mundo y aque la utilizacin de caracteres UNICODE requiere el doble de espacio de almace-namiento, se deber elegir, durante la instalacin, el collation (conjunto de carac-teres) que contenga los que deseamos utilizar.

    El conjunto predeterminado para el hemisferio occidental y Europa occidental es elISO, compatible con las instalaciones de Windows (tambin conocido como Con-junto de Caracteres de Windows, ISO 8859-1 o Latin-1). Es necesario, enton-ces, como paso previo a la instalacin de SQL Server, verificar que las estacionesclientes que se conectarn al servidor utilicen el mismo conjunto de caracteres.

    Otro factor de suma importancia que debe tenerse en cuenta es el Modo de Orde-namiento o Secuencia de Intercalado (Sort Order), es decir, de qu manera se vana comparar los caracteres y si dicho orden ser por Diccionario o Binario (ordencultural o por valor binario interno).Esta decisin es muy importante ya que afectar la forma en que SQL Server devol-ver los Conjuntos de Resultados (resultsets), cuando no se especifique una clu-sula ORDER BY, y cmo se asignen los valores de datos.

    Instalacin de SQL Server 2005

    29usr.code

    Las Pginas de Cdigo de MS-DOS (437) y los Conjuntos de caracteres de Windows pueden diferir.

    SQL Server guarda los caracteres en formato binario y en espacios de 1 byte. Cuando una aplicacin

    de MS-DOS accede a ese caracter, el caracter mostrado en pantalla puede diferir del almacenado

    en Windows, si no est entre los 128 primeros caracteres ASCII (caracteres sin signos diacrticos).

    CONJUNTO DE CARACTERES

    01_SqlServer.qxd 11/14/05 15:38 Page 29

  • En algunos diseos de bases de datos se prefiere usar la distincin entre maysculas yminsculas. En varios casos, puede tratarse simplemente de un efecto de visualizacinesttica (que debera eliminarse), aunque existen diseos muy particulares que exigenla coexistencia de tablas con el mismo nombre, pero que refieren a entidades distintas. Segn este criterio, en una base de datos con un conjunto de caracteres con distin-cin de maysculas podramos tener una tabla listaclientes, otra ListaClientes y unatercera LISTACLIENTES, siendo todas distintas para SQL Server. Tambin sucederque al buscar registros con la clusula:

    Where apellido = Perez

    slo recuperaremos las filas (todas) donde el campo apellido contiene Perez capitalizadoen maysculas, no as aquellas donde el campo contiene perez, Prez o PEREZ.

    Por otra parte, los modos de ordenacin son propios de cada Conjunto de Carac-teres. La instalacin predeterminada de SQL Server no distingue maysculas de mi-nsculas a los efectos de comparacin y ordenamiento.Si se selecciona la ordenacin binaria, los caracteres se representarn basndose ensu peso binario interno. Este tipo de ordenacin distingue entre maysculas, mins-culas y caracteres diacrticos. Ello se convierte en un aspecto crtico a la hora de ins-talar SQL Server, puesto que los caracteres con signos diacrticos (como la o la )aparecern despus de la Z.

    El conjunto de caracteres y el modo de ordenamiento seleccionados para la insta-lacin de SQL Server (que pueden seleccionarse en forma independiente para lasbases de datos) tambin afectar las clusulas de manejo de cadenas (LIKE), las devalores mximos y mnimos (MAX, MIN), las de contar valores distintos (COUNTDISTINCT), las de agrupacin y agregacin (GROUP BY, CUBE, UNION, etc.).Como consideracin tcnica de desempeo del motor, la ordenacin binaria re-quiere menos ciclos de procesamiento que la ordenacin por diccionario, por locual es la seleccin ideal si no se necesita ordenacin semntica y se utilizan loscaracteres estndar ASCII. En una ordenacin de tipo Diccionario con distincin de maysculas, las letrasabcABC se ordenarn AaBbCc, mientras que en una ordenacin Binaria lo harnbajo la forma ABCabc.

    Tipos de instalacin disponiblesDurante la instalacin, SQL Server le ofrecer distintas opciones de componen-tes a instalar, segn el sistema operativo detectado.

    SQL SERVER

    30 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 30

  • Los grupos de componentes disponibles para instalar son:

    SQL Server: elementos de la instalacin que nos permitirn instalar y configurarun Servidor de Bases de Datos SQL Server.

    Analysis Services: elementos de la instalacin que nos ofrecern la posibilidad deconfigurar un Servidor OLAP (On Line Analytical Process), es decir, un servidorde Datawarehouse.

    Reporting Services: elementos que nos permitirn instalar el servicio de gene-racin de reportes.

    Notification Services: permite configurar todos los elementos que participarnen los servicios de notificacin como aplicaciones.

    Data Transformation Services: permite instalar la aplicacin para disear pa-quetes de extraccin, transformacin y manipulacin de datos de otras fuentesdesde y hacia SQL Server.

    WorkStation Components: elementos de configuracin de puestos de desarrollo(libreras de red, ayuda, etc.)

    Cmo instalar SQL Server 2005 - Beta 2 1Una vez que efectuada la verificacin de la disponibilidad de la arquitectura dehardware y los aspectos relacionados con el conjunto de caracteres, comenzare-mos a instalar SQL Server Edicin Corporativa.

    La instalacin PASO A PASO

    Introduzca el CD-ROM en la unidad de CD. El programa de instalacin se iniciaren forma automtica mostrando la ventana de bienvenida; si no sucede as, eje-cute el programa setup.exe, situado en el directorio raz del CD de SQL Server.

    Instalacin de SQL Server 2005

    31usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 31

  • Aparecer la pantalla End User License Agreement (Acuerdo de Licencia deUsuario Final): lea los trminos del acuerdo y tilde la opcin I Accept the licen-cing terms and conditions (Acepto los trminos y condiciones de la licencia) ypresione el botn Next (Siguiente).

    La pantalla siguiente, SQL Server Components Update (Actualizacin decomponentes de Servidor) le indica la lista de componentes necesarios parainiciar la instalacin del servidor en s misma. Presione el botn Install (Insta-lar) para continuar.

    SQL SERVER

    32 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 32

  • La prxima pantalla, SQL Server Components Update, le mostrar el progresode la instalacin de los componentes requeridos.

    Una vez concluida la instalacin de los componentes requeridos, se iniciar lainstalacin del servidor propiamente dicha. La ventana Welcome to the Micro-soft SQL Server Installation Wizard (Bienvenido al asistente de instalacin deMicrosoft SQL Server) le ofrece el botn Next para continuar con la instalacin.

    Instalacin de SQL Server 2005

    33usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 33

  • La pantalla System Configuration check (Chequeo de configuracin del siste-ma) ejecuta la verificacin de que se han cumplido los requerimientos de sistemamnimos para ejecutar SQL Server y, por ende, la instalacin. A cada elemento desistema requerido para poder instalar SQL Server, el sistema le muestra un tildeen color verde, con la leyenda Success (requisito cumplido) si su equipo cumple elrequisito; un smbolo amarillo de Warning (advertencia) si se cumple el requeri-miento pero puede resultar insuficiente el recurso requerido y un smbolo en co-lor rojo Not Success (requisito incumplido) si su sistema no cumple un requisito re-querido, por ejemplo un parche de actualizacin sobre el Internet Explorer o re-cursos de hardware. El botn Continue (continuar), pasar a la pantalla de avan-ce en el registro de la instalcin en el Registro de Eventos de Windows.

    La pantalla titulada Microsoft SQL Server Installation le mostrar el avance delregistro de eventos.

    SQL SERVER

    34 usr.code

    Reporting Services permite crear informes de datos de SQL Server, que pueden ser diseados

    usando Visual Studio .NETbased Report Designer y accedidos usando un IIS Web site. Incluye la

    herramienta Report Manager, que puede utilizarse para administrar la seguridad, generacin y

    distribucin de informes segn agenda; y administrar la historia del informe.

    REPORTING SERVICES

    01_SqlServer.qxd 11/14/05 15:38 Page 34

  • Una vez que ha finalizado el registro de la instalacin, la pantalla denominadaRegistration Information (Informacin de Registro) le solicita el ingreso de losdatos de registro de la instalacin.

    La pantalla Components to Install le permite seleccionar los productos a instalar,descriptos en el apartado anterior. Si est ejecutando el instalador en un puestode desarrollo, es decir, sobre un sistema operativo no servidor, el instalador le ofre-cer nicamente instalar la opcin WorkStation Components. Asumimos que estinstalando slo un servidor SQL. Seleccione, por tanto, SQL Server y presione Next.

    Instalacin de SQL Server 2005

    35usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 35

  • En la pantalla siguiente, Instance Name (Nombre de Instancia), defina el nom-bre de la instancia que instalar. Tilde la opcin Predeterminada si instala SQLServer con una sola instancia o asigne un nombre a la instancia que instalar.Ahora, presione el botn Next. Si desea verificar qu otras instancias hay ins-taladas, presione el botn Installed Instances...

    Si tiene instaladas otras versiones de SQL Server, por ejemplo, la versin 2000,SQL le ofrece la posibilidad de migrarla a la versin 2005. Si ya instal una instan-cia 2005 y desea instalar otra, deber asignarle un nombre. Presione el botn Next.

    SQL SERVER

    36 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 36

  • La pantalla Service Account le solicita indicar las cuentas de usuario con lasque se ejecutar la instancia SQL Server. Si tilda la opcin Customize for eachService Account (Personalizar para cada Cuenta), deber especificar para cadaservicio (instancia de SQL Server, OLAP, etc.) la cuenta de usuario con la cualdesea que se ejecute ese servicio en el cuadro inferior.En el caso de que no tilde esa opcin, la cuenta que indique en el cuadro inferior,ejecutar la totalidad de los servicios.La opcin Use the Local System Account (Usar la cuenta de sistema local) ejecu-tar los servicios con la cuenta local con la que se inicia el servidor.La opcin Use a Domain User Account (Usar cuenta de usuario del Dominio)requerir una cuenta vlida del dominio al que est asociado el servidor.La opcin Auto start service (autoiniciar servicio) arrancar los servicios del ser-vidor, es decir, el servidor mismo, cada vez que se inicie el sistema. Presione elbotn Next cuando haya configurado las cuentas.

    Instalacin de SQL Server 2005

    37usr.code

    La unidad de despliegue de aplicaciones para .NET es la assembly, archivo DLL o EXE compila-

    do, que contiene clases de definiciones y cdigo que se puede importar a una base de datos usan-

    do el comando CREATE ASSEMBLY. Los desarrolladores pueden crear objetos de base de datos

    en el entorno de Visual Studio .NET y desplegarlos directamente en la base.

    DEFINIR OBJETOS CON CDIGO ADMINISTRADO

    01_SqlServer.qxd 11/14/05 15:38 Page 37

  • En la pantalla Authentication Mode elija el modo de autenticacin (seguridad) queutilizar la instancia que est instalando. Escoja Windows Authentication Mode (Mo-do de autenticacin de Windows) si desea que slo puedan conectarse al servidorusuarios del dominio de Windows; seleccione Mixed Mode / Windows Authenticat-hion and SQL Server Authentiction (Modo Mixto) si desea permitir las conexionesde usuarios del dominio de Windows y las de usuarios propios de SQL Server. Sielige Mixed Mode, se habilitar el cuadro de texto para asignar la contrasea alusuario sa. Es aconsejable no dejar esta contrasea en blanco ya que dejar el con-trol total de la instancia en manos de cualquier conexin sa. Pulse el botn Next.

    SQL SERVER

    38 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 38

  • La pantalla Collation Settings (Configuracin del conjunto de caracteres) le per-mitir seleccionar el conjunto de caracteres del servidor (que asignar por omi-sin a todas las bases de datos). La opcin SQL Collations le permitir seleccio-nar los conjuntos de caracteres compatibles con versiones anteriores de SQLServer. Seleccione tambin los modos de ordenamiento por medio de las opcio-nes: Binary, Case-sensitive, Accent-sensitive, Kana-sensitive, Width-sensitive.Presione el botn Next.

    La pantalla Error Reporting le solicita la habilitacin de reporte de errores fata-les a Microsoft. Si desea habilitarla, seleccione la opcin Automatically send fa-tal error report to Microsoft. Presione el botn Next.

    La ventana titulada Ready to Install le brindar la posibilidad de visualizar unresumen de las opciones seleccionadas en los pasos anteriores. Presione elbotn Install para continuar.

    Instalacin de SQL Server 2005

    39usr.code

    Microsoft Windows Server 2003 y SQL Server 2005 responden de manera innata a los requeri-

    mientos http, sin la intervencin del Web Server IIS. Esto facilita implementar Web Services ba-

    sados en una base de datos SQL Server.

    USO DE HTTP

    01_SqlServer.qxd 11/14/05 15:38 Page 39

  • La pantalla contigua, denominada Setup progress, le mostrar el avance dela instalacin listando los tems que se encuentran instalados y los tems quese hallan en progreso.

    En ltimo trmino, una vez finalizada la instalacin, podr visualizar los elemen-tos instalados. Para ello, dirjase al men Start (Inicio) / Programs (Programas)/ Microsoft SQL Server 2005.

    SQL SERVER

    40 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 40

  • PRESTACIONES DE SQL SERVER PARA SISTEMAS OLTP

    SQL Server 2005 es un sistema de Gestin de Bases de Datos Relacionales cliente-servidor de alto rendimiento y escalabilidad, diseado para soportar aplicacionescon grandes volmenes de transacciones. Tal es el caso de las aplicaciones OLTP(Online Transaction Processing) y las aplicaciones de anlisis de informacin OLAP(Online Analytical Processing, de minera y repositorios de datos).

    Proporciona tambin herramientas cliente, interfaces para trabajo en red con otrossistemas operativos de Microsoft y una arquitectura abierta que permite a otros sis-temas operativos (como UNIX) interactuar con l.

    El motor de SQL Server y T-SQLConsiste en el componente diseado para soportar aplicaciones OLTP y OLAP al-tamente exigentes basndose en T-SQL, el lenguaje estructurado de consultas de-trs del cual operan los principales componentes del servidor.T-SQL, en su versin de Microsoft, es la implementacin de un sper conjunto deSQL (Structured Query Language) muy potente y flexible, que permite acceder a losdatos almacenados por el motor.

    Prestaciones de SQL Server para sistemas OLTP

    41usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 41

  • El Instituto Americano de normalizacin (ANSI) ha certificado que T-SQL cumplela norma SQL-92, por lo cual el lenguaje dispone del conjunto de instrucciones estn-dares del lenguaje estructurado de consultas y de un conjunto expandido de instruc-ciones que permiten obtener mejores resultados en las consultas a las bases de datos.Este conjunto expandido de instrucciones permite disponer de sentencias SELECTincluidas en la lista de campos de un SELECT inicial, es decir, obtener datos deriva-dos de consultas a otras tablas.

    Proporciona tambin operaciones matemticas, por ejemplo, la raz cuadrada y lautilizacin de sentencias como CUBE y ROLLAP, que permiten obtener anlisis mul-tidimensionales (similares a cortes de control) directamente desde el motor. Por otraparte, como opcin a instrucciones SELECT complejas, se dispone de la instruccinCASE para la sustitucin de valores condicionales.

    La utilidad sqlcmd extiende las caractersticas del osql de la versin 2000, incluyen-do la posibilidad de usar variables, conectarse a servidores dinmicamente para con-sultar informacin y enviar informacin de error al entorno al que est llamando.Tambin provee una Conexin Dedicada de Administrador (DAC), que le permiteal administrador de una base de datos conectarse al servidor y resolver problemas.

    El optimizador de consultasEs uno de los componentes ms tiles del motor, dado que permite que el desarro-llador se concentre en la codificacin de una solucin, delegando al Optimizadorde Consultas la bsqueda de la mejor manera de devolver los resultados.

    El Optimizador determinar cul es el camino ms conveniente para acceder a losdatos, basndose en costes. Para ello, mantiene estadsticas sobre el volumen y ladispersin de los datos con el fin de crear el plan que resulte en menos operacionesde E/S (entrada/salida) para acceder a los datos y cumplir con la operacin solicita-da. Puesto que los optimizadores basados en costes operan con probabilidades sur-gidas de esas estadsticas, es posible omitir, en casos muy particulares, el plan de eje-cucin hecho por el motor.

    La posibilidad de utilizar las recomendaciones del optimizador (optimizer hints)indicando, por ejemplo, qu ndices debe utilizar una consulta cambiarn el plande ejecucin seleccionado por el Optimizador.

    Por otra parte, T-SQL proporciona sentencias de control de flujo como IF-THEN-ELSE, WHILE, bucles y variables. stas ayudan a simplificar el desarrollo de apli-caciones y permiten, de esta forma, entregar al motor de SQL Server la lgica de

    SQL SERVER

    42 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 42

  • aplicacin exclusiva sobre datos, con lo que mejora de manera ostensible el ren-dimiento de las aplicaciones cliente/servidor.Esta caracterstica resulta de suma utilidad al implementar aplicaciones multica-pa, donde cada capa se ocupa de su especializacin. En este tipo de aplicaciones,tienen un rol muy importante los procedimientos almacenados que, comoconjuntos de instrucciones programados en T-SQL, permiten separar el com-portamiento de la capa de datos del de la capa de negocios.Tendramos, por ejemplo, un procedimiento almacenado que devuelve el clculodel monto de un impuesto a partir de la recepcin del monto base y el porcentajecomo parmetros. En este caso, el porcentaje que se quiere aplicar se almacena-ra en la capa de negocios y slo all deberan introducrsele modificaciones a eseporcentaje, y, en el procedimiento almacenado en el motor, permaneceran inva-riables la lgica matemtica y el rango de datos sobre los que operan los clculos.

    Figura 2. Esquema de una implementacin multicapa por medio de una aplicacin web.

    Explorador Web

    IIS

    COM/COM+/MTS

    ADO

    Capa de presentacin

    Capa de gicade negocios

    HTML/DHTML

    Scripting

    Applets/ActiveX

    Capa de datos SQL Server Data Source

    Prestaciones de SQL Server para sistemas OLTP

    43usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 43

  • Procedimientos almacenados extendidosSon recursos exclusivos de SQL Server que permiten ampliar su funcionalidad y acce-der a recursos ajenos a l como mensajera, escritura de archivos HTML y seguridad.Es posible crear procedimientos almacenados extendidos, bajo la forma de bibliote-cas de vnculos dinmicos o DLL (Dynamic Link Library)

    Integridad de datos El motor de SQL Server permite asegurar que los datos almacenados son vlidosmediante tres tipos de integridad. Mediante la Integridad de Dominio, utilizandolas restricciones PRIMARY KEY, se impone la asignacin de una clave primaria invio-lable para cada tabla. Tambin permite la composicin de claves alternativas me-diante las restricciones UNIQUE, garantizando de esta manera la unicidad de una cla-ve compuesta por varios campos.

    Para los casos en los que no es posible determinar la unicidad de un campo por ca-da fila de una tabla, SQL Server dispone de un campo autonumrico exclusivo quese implementa mediante la propiedad identity (identidad).

    SQL Server implementa el segundo tipo de integridad, la Integridad Referencial,mediante las restricciones FOREIGN KEY (clave externa), por la cual una columna deuna tabla hace referencia a un campo de tipo PRIMARY KEY de otra. Luego de defi-nir la relacin, el motor de SQL Server es el encargado de verificar el cumplimien-to de la relacin establecida. Las caractersticas de update y delete en cascada refuer-zan el mantenimiento de la integridad referencial, que en versiones anteriores eranecesario realizar mediante Triggers.

    El tercer tipo de integridad, la Integridad de dominio de Datos, se ocupa de ve-rificar que los datos introducidos en un campo se ajusten al rango y al tipo defini-dos para ese campo. SQL Server implementa esta integridad mediante la verifica-cin de aceptacin de valores nulos y restricciones de nivel campo.

    Triggers (desencadenadores)SQL Server 2005 incluye, a los ya conocidos desencadenadores de la versin 2000,los desencadenadores DDL.Al contrario de los desencadenadores ordinarios que estn asociados con tablas, undesencadenador DDL se ejecuta cuando se emite una sentencia particular, sin im-portar el destino de sta. Por ejemplo, un desencadenador DDL DROP_TABLE sedisparar cuando se elimine cualquier tabla. Algunos desencadenadores DDL ope-ran a nivel de base de datos y slo se disparan cuando el evento correspondienteocurre en una base de datos especfica.

    SQL SERVER

    44 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 44

  • La utilidad sqlcmdNo es siempre posible o deseable usar una herramienta grfica como SQL ServerManagement Studio para ejecutar sentencias de Transact-SQL (por ejemplo, unaserie de trabajos agendados para su ejecucin desatendida). SQL Server 2005 inclu-ye una utilidad llamada sqlcmd para facilitar este requerimiento, que permite eje-cutar sentencias y scripts Transact-SQL desde la lnea de comando y agendar traba-jos agrupados mediante OLE DB.

    IndexadoEl motor de indexado de SQL Server posibilita el escaneo y ordenamiento paralelode ndices, caracterstica de mayor provecho en servidores multiprocesador. Se han mejorado, respecto de la versin 7.0 de SQL Server, las tareas de indexado,al agregar, para la versin 2005, la opcin SORT_IN_TEMPDB que utiliza la basetempdb para almacenar los resultados del ordenamiento durante la creacin de n-dices (esta caracterstica es de mayor utilidad cuando la base tempdb est en otrofilegroup (Grupo de Archivos).

    Procesamiento de transaccionesEl procesamiento de transacciones permite garantizar que las bases de datos permanez-can siempre en un estado coherente y consistente. Est conformado por un conjuntode sentencias T-SQL incluidos entre dos sentencias, BEGIN TRANSACTION y COMMITTRANSACTION, con una tercera sentencia, ROLLBACK TRANSACTION, que da la opcin dedeshacer todas las operaciones sobre los datos ante cualquier situacin de error.SQL Server garantiza las propiedades ACID (Atomicity, Consistency, Isolation, Du-rability) de las transacciones de procesamiento de datos.

    Se entiende por Atomicidad (Atomicity) la accin de tratar las operaciones inclui-das en una transaccin como si fueran una sola, donde se confirman todas las ope-raciones o se cancelan todas (aun aquellas donde no hubo error).Mediante la Consistencia (Consistency) se asegura por redundancia que el sistemano quede en un estado inconsistente, es decir, con transacciones pendientes de sercerradas en el momento de un fallo.

    El Aislamiento (Isolation) es una propiedad que garantiza que, mientras se est rea-lizando una transaccin, se adquiere el nivel de bloqueo necesario para no producirdistorsin en los datos que est visualizando un usuario. El bloqueo adquirido du-rante una transaccin reduce la concurrencia de usuarios sobre los datos, pero asegu-ra que durante el curso de una transaccin no se alteren las filas involucradas en ella.La propiedad Durabilidad (Durability) de una transaccin asegura que, una vez con-firmados los cambios de una transaccin, stos persistan aun ante fallas de hardware.

    Prestaciones de SQL Server para sistemas OLTP

    45usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 45

  • Mejoras en la seguridad de SQL Server 2005SQL Server 2005 implementa mejoras en la arquitectura de seguridad que usa unsistema de jerarquas de objetos asegurables. Al igual que en las versiones anteriores, puede proveer accesos al sistema SQL Ser-ver 2005 a travs de Microsoft Windows logins o de SQL Server logins, pero enesta versin de SQL Server tambin puede aplicar polticas de seguridad a los SQLServer logins. Estas polticas actan de forma similar a las del sistema operativoWindows cuando aplica restricciones mediante principales, asegurables y permisos.

    Alta disponibilidadPara aplicaciones de misin crtica, SQL Server proporciona opciones de alta dis-ponibilidad mediante copias de seguridad en lnea, mantenimiento en lnea, recu-peracin automtica e instalacin de servidores en clusters de discos.Por medio de SQL Server Agent se pueden programar copias de seguridad automti-ca, sin que intervenga un administrador. Tambin se pueden realizar tareas de cambiossobre el diseo de las bases, de mantenimiento y administracin, sin apagar el motor.Asimismo, en la edicin Corporativa, SQL Server provee conmutacin por fallos(failover) sobre instalaciones basadas en clusters.

    Vistas de metadatos estticos y dinmicosPuede usar las vistas de catlogo de SQL Server 2005 para consultar metadatos es-tticos. stas proveen informacin acerca de los objetos en la base de datos de SQLServer, como tablas, procesos almacenados y restricciones. Tambin puede usar vis-tas de administracin y funciones de administracin dinmicas para consultar me-tadatos dinmicos en SQL Server 2005, que proveen informacin del estado actualdel SQL Server, tal como los bloqueos adquiridos dentro de una base de datos.

    ReplicacinEs el procedimiento por el cual un servidor SQL Server propaga copias de datos a otrosservidores en emplazamientos remotos, manteniendo y asegurando la integridad de losdatos. La replicacin se implementa por actualizaciones de una base que se envan aldestino un tiempo ms tarde permitiendo trabajar en ambas bases y fusionando luegolos cambios; por copia de una vistaentera de datos hacia una base de datos en otro des-tino, sobrescribiendo la copia anterior sin veificar actualizaciones y tal como estn losdatos a un determinado momento; y por envo de un conjunto inicial de datos al des-tino con la replicacin de las transacciones INSERT, UDPDETE y DELETE.

    Informacin de sesin compartidaSQL Server permite almacenar hasta 128 Kb de informacin binaria acerca del con-texto de la conexin, asociada a la variable @@SPID, permitiendo el control de flu-jo basado en la actividad anterior de la conexin.

    SQL SERVER

    46 usr.code

    01_SqlServer.qxd 11/14/05 15:38 Page 46

  • Propiedades extendidasPermiten al desarrollador definir comentarios adicionales para los objetos (como co-lumnas e ndices) mediante algunos procedimientos almacenados extendidos. Estaspropiedades pueden ser obtenidas por las aplicaciones cliente para entender el objeto.

    Servicios de metadatosLos servicios de metadatos extienden el Motor de Repositorio Microsoft para la ad-ministracin de metadatos (palabra utilizada para aquellos elementos que guardaninformacin acerca de otros objetos).Estos servicios soportan el modelo OIM (Open Information Model), que consiste en unconjunto de modelos de objetos que pueden ser usados para intercambiar metadatosen formatos comunes con otros sistemas que pueden procesar y utilizar metadatos.

    Soporte XMLSQL Server ofrece soporte nativo para leer, escribir, almacenar, entregar y actualizar do-cumentos XML (Extensible Markup Language), en forma de tags (marcas) y datos. Pro-vee los procedimientos almacenados para el armado de documentos.

    Recuperacin ante desastres en SQL Server 2005 SQL Server 2005 contina soportando clustering, backup y restauracin, y log ship-ping como mecanismo de recuperacin ante desastres. Adems, agrega un nmero demejoras como snapshots de base de datos (copia de slo lectura de la base de datos he-cha en un momento en particular), operaciones online, mirroring, verificacin impro-visada y checksums para verificar backups cuando los datos son restaurados.

    Prestaciones de SQL Server para sistemas OLTP

    47usr.code

    RESUMEN

    La versin revisada del primer informe del Dr. Codd, publicada en 1970 en Communications

    of the ACM, desat una verdadera fiebre de proyectos de investigacin. En aquel tiempo, la

    persistencia de informacin se realizaba mediante el manejo de archivos en mainframes, cu-yos elevados costos en equipos y tiempo de procesamiento abri el mercado al desarrollo del

    paradigma cliente/servidor y a las redes de computadoras.

    Las alianzas empresariales, la fiabilidad de los productos y el uso de un lenguaje de consultas co-

    mn y estandarizado permiti el progreso de estos sistemas, ampliando sus funcionalidades ini-

    ciales. Microsoft fue el participante ms activo y nos brinda su ltima versin: SQL Server 2005.

    01_SqlServer.qxd 11/14/05 15:38 Page 47

  • 48 usr.code

    TEST DE AUTOEVALUACIN

    1 Cundo apareci por primera vez el estu-

    dio del doctor Codd respecto del modelo

    relacional?

    2 Qu es un Sistema de Gestin de Bases de

    Datos Relacionales?

    3 Cules son los objetivos de un Sistema de

    Gestin de Bases de Datos Relacionales?

    4 Cundo enunci el doctor Codd las trece

    reglas para evaluar un Sistema de Gestin

    de Bases de Datos Relacionales?

    5 Cundo se present el modelo semntico

    denominado Diagrama de Entidad/Rela-

    cin y quin fue su autor?

    6 Cul fue el primer proyecto dedicado al

    estudio de la Teora del Modelo Relacional

    de Codd?

    ACTIVIDADES

    7 Cul fue el producto desarrollado por Mi-

    crosoft asociado con Sybase?

    8 Cul es la edicin de SQL Server 2005 que

    permite implementar Conmutacin ante

    fallos (failover)?

    9 Cul es la edicin de SQL Server 2005 que

    se utiliza para implementar servidores de

    desarrollo?

    10 Cul es la ventaja de poder instalar varias

    instancias de SQL Server? Cunta memo-

    ria RAM mnima necesita una instalacin

    de SQL Server?

    11 Por medio de qu mecanismo permite

    SQL Server extraer, manipular y guardar

    informacin de otras fuentes de datos?

    01_SqlServer.qxd 11/14/05 15:38 Page 48

    Sistemas de Gestin de Bade Datos Relacionales Los primeras versiones de ...SQL Server 2005 y sus edicio...Funcionalidades disponibles...Instalacin de SQL Server 2005 Revisin del hardwaremnim...Sistema Operativo de la pl...Cuentas de Dominio parael ...Definicin de instanciasde...Definicin del conjuntode ...Tipos de instalacin disponi...nstalar SQL Server 2005 - ...Prestaciones de SQL Serpara sistemas OLTP El motor de SQL Server y T-SQL El optimizador de consultas Procedimientos almacenados...