Tutorial de SQL Server 2005 Express



Documentos relacionados
WINDOWS : TERMINAL SERVER

ADO.NET. En este artículo vamos a ver el protocolo de acceso a datos en la plataforma.net, ADO.NET y su marco de funcionamiento con ASP.NET.

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS

Toda base de datos relacional se basa en dos objetos

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

TEMA 6. ARQUITECTURA DE ADO.NET 6.1. INTRODUCCIÓN A ADO.NET

Acronis Backup & Recovery 11 Guía de inicio rápido

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD

Curso Online de Microsoft

Configuracion Escritorio Remoto Windows 2003

Programa de Ayuda EMCS Instalación Versión SQL Server Versión Marzo 2010

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

PROYECTO FINAL Manual de Configuración Organización: Juan Lomo

Instalación de OPUS PLANET en red

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Internet Information Server

INSTALACION Y CONFIGURACION DE SQL SERVER MANAGEMENT (EXPRESS) 2008

APOLO GESTION INTEGRAL.

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Notas para la instalación de un lector de tarjetas inteligentes.

Guía de instalación de la carpeta Datos de IslaWin

INSTALACIÓN El Proceso de Instalación. 2.2 El Asistente de Instalación

Tutorial: Primeros Pasos con Subversion

Ministerio de Educación,Cultura y Deporte. Aulas en Red.Aplicaciones y servicios Windows. Módulo 3: Gestión de equipos.

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Guía Rápida de Inicio

MANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

Creación y administración de grupos de dominio

Microsoft Access proporciona dos métodos para crear una Base de datos.

Acronis License Server. Guía del usuario

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

10. El entorno de publicación web (Publiweb)

Puesta en Marcha versión Monousuario

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Índice de contenidos Iniciación a VB.NET Bases de Datos

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

Acronis Backup & Recovery 10 Advanced Editions. Guía rápida de inicio

Oficina Online. Manual del administrador

La compañía Autodesk presenta la nueva versión de su aclamado

HERRAMIENTAS DE ACCESS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Instalación y Registro Versiones Educativas 2013

SMS Gestión. manual de uso

Edición de Ofertas Excel Manual de Usuario

Instalación y configuración de Windows SharePoint Services (WSS) 2003

ECB CONT SISTEMA DE CONTABILIDAD INSTALACIÓN DE BASE DE DATOS

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández

INSTALACIÓN DE MEDPRO

ADO.NET. Arquitectura de ADO.NET

Sección 1: Introducción al Modo Windows XP para Windows 7

Programación páginas web con ASP.NET 3.5 (C#)

CITRIX Citrix Application Streaming

Microsoft SQL Server 2005

Redes de área local: Aplicaciones y servicios WINDOWS

Seminario de Informática

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Migrar una organización Microsoft Exchange 2003 a Microsoft Exchange 2007

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

GESTOR DE DESCARGAS. Índice de contenido

Formularios. Formularios Diapositiva 1

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

Ejecución del programa de instalación de Windows XP

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

WINDOWS : COPIAS DE SEGURIDAD

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

FOROS. Manual de Usuario

Bienvenido a su Software de Base de Datos Microsoft SQL 2005 Express Edition Aprendiendo sobre SQL Server Requerimientos Mínimos...

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Guía de Laboratorio Base de Datos I.

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas.

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

Guía de instalación 1

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

GedicoPDA: software de preventa

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

DataCycle MyVision. La solución web para publicación y ejecución de informes de DataCycle Reporting. Guía de instalación. Versión 8.

VideoSoftPHONE Active Contact

Manual de instalación. BIABLE Great Plains-Dynamics

Novedades de PartSmart 8.11

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

Transcripción:

Tutorial de SQL Server 2005 Express En este tutorial, aprenderá los fundamentos para desarrollar aplicaciones con la versión Express de SQL Server 2005. El objetivo del tutorial no es cubrir en gran detalle todos los aspectos de SQL Server 2005 Express, pero si aportar una idea general del producto y su integración con el resto de herramientas Express (Visual Basic Express, Visual C# Express, y Visual J# Express El tutorial cubrirá los siguientes puntos: Módulo 1: Introducción a SQL Server Express Requisitos del sistema, instalación del producto, y descripción de sus componentes. Integración del producto con otras versiones Express; durante el tutorial se trabajará con la versión Express de Visual Basic; sin embargo todos los ejemplos y demostraciones usados son aplicables a Visual C#, y J#. Proceso de despliegue de aplicaciones desarrolladas con Visual Basic Express. Conceptos XCOPY, instancias de usuario no-administrador, y duplicación de datos. Proveedores de acceso a datos disponibles. A la hora de conectar a un servidor de base de datos como SQL Server 2005 Express, el nexo de comunicación entre el servidor y la aplicación cliente, es el proveedor de acceso a datos; se hablará e introducirá brevemente los proveedores de acceso a datos disponibles. Módulo 2: Creación de bases de datos con Visual Studio Objetos básicos del sistema. Conocerá aspectos de la base de datos como su creación tipos de datos disponibles en SQL Server 2005, creará tablas, restricciones (constraints), relaciones, y teoría relativa a la creación de índices, y su idoneidad. Conocerá como realizar consultas a las tablas de la base de datos, cláusulas de las sentencias, agrupaciones, joins, etc. También conocerá una nueva característica del producto que son las expresiones de tablas comunes (CTE). Además aprenderá a hacer sentencias de inserción, actualización, y borrado. Módulo 3: Programación de base de datos Procedimientos almacenados. Conocerás los fundamentos para crear procedimientos almacenados en la base de datos. Triggers. Introducción al uso de triggers en SQL Server 2005 Express; veremos los triggers "tradicionales" (llamados DML, los que se activan por modificaciones de datos), y también veremos los nuevos triggers que se activan por cambio en el esquema de base de datos (DDL). Funciones definidas de usuario. Veremos como crear UDFs, y los tipos de funciones definidas de usuario que existen. Módulo 4: Conceptos avanzados Conceptos de seguridad de objetos, esquemas, y credenciales de inicio de sesión. Se introducirá el nuevo paradigma de seguridad basado en esquemas. 1

Trasaccionalidad y niveles de aislamiento. Se cubrirán los niveles de aislamiento y cómo SQL Server 2005 garantiza la atomicidad, consistencia, integridad, y durabilidad de las transacciones. Soporte Nativo XML. Conocerá en qué consiste el soporte nativo de XML, uso de las columnas tipo XML, indexación, y consultas XQuery. Integración del CLR. Conocerá la nueva posibilidad de crear objetos en la base de datos usando cualquier lenguaje.net como VB.NET, o C#. Aunque el tutorial no está escrito para un tipo de audiencia determinada, es recomendable que el alumno tenga conceptos de desarrollo de aplicaciones cliente-servidor, y fundamentos de bases de datos que aunque durante el curso se irán cubriendo en mayor o menor profundidad, ayudarán al alumno a una rápida comprensión de las lecciones. En la introducción del tutorial, se verá cómo instalar el producto y los diferentes proveedores de acceso a datos que se pueden utilizar. En el segundo módulo, se verá cómo aprovechar la integración entre las herramientas de desarrollo de Visual Basic Express con el motor relacional de SQL Server 2005 Express para crear bases de datos, tablas, vistas, y otros objetos. En el tercer módulo, aprenderá conceptos básicos sobre procedimientos almacenados, triggers, y UDFs, y para finalizar el tutorial, aprenderá otros conceptos relacionados con seguridad, transacciones, y niveles de aislamiento. A su vez, conocerá nuevas funcionalidades del producto como soporte nativo XML, y la integración del CLR en el motor relacional de SQL Server 2005. Recuerde que si quiere poner en práctica este curso tiene disponibles una versión sin limitaciones de Visual Basic 2005 Express, que incluye la base de datos SQL Server 2005 Express. Que disfrutes del curso! Solid Quality Learning University http://www.sqlu.com Solid Quality Learning Iberoamericana http://www.solidqualitylearning.com Diseñado, y editado por los siguientes mentores de Solid Quality Learning: http://www.solidqualitylearning.com/aboutus.aspx: Miguel Egea (megea@sqlu.com) MVP SQL Server Director de Servicios Corporativos Eladio Rincón (erincon@sqlu.com) MVP SQL Server Director de Tecnologías de Bases de Datos Eugenio Serrano (eserrano@sqlu.com) MVP ASP/ASP.NET Antonio Soto (asoto@sqlu.com) MCT, Director de Formación Agradecimientos Queremos agradecer a Alfonso Rodríguez, David Carmona, y Luís Mazario de Microsoft Ibérica su soporte y colaboración durante las fases de diseño y desarrollo de este curso. Muchas gracias!!! 2

1. Introducción a SQL Server 2005 Express Durante el módulo, verá cuales los requisitos hardware/software necesarios para instalar SQL Server 2005 Express, y cómo realizar la instalación del producto. Se introducirá al alumno brevemente los componentes del producto, enfocado en las necesidades del desarrollador de software. A su vez se verá cómo se integra SQL Server 2005 Express con las herramientas de desarrollo de las ediciones Express. Para finalizar se presentarán los drivers de acceso a datos que se usarán para conectar a SQL Server 2005 Express. 1.1. Instalación de SQL Server 2005 Express y sus componentes En esta lección, conocerá los requisitos para instalar SQL Server 2005 Express; además, verá las diferentes opciones disponibles durante la instalación asistida. A continuación se le introducirá los componentes instalados, explicándose su funcionalidad. Para finalizar la lección se hablará de otros componentes disponibles con el producto como código y bases de datos de ejemplo, y documentación del producto (Libros en pantalla). 1.1.1. Requisitos del sistema La instalación del SQL Server 2005 Express tiene los siguientes requerimientos: - Requisitos previos de software - RAM - Espacio en el disco duro - Procesador - Sistema operativo - Microsoft.NET Framework - SP1 de Microsoft Internet Explorer 6.0 o posterior - Mínimo: 192 MB - Recomendado: 512 MB o más - 600 MB de espacio libre 1.1.2. Proceso de instalación - Compatible con Pentium III o superior - Mínimo: 500 MHz - Recomendado: 1 GHz o más - Windows Server 2003 Standard Edition, Enterprise Edition, Datacenter Edition - Windows XP Professional, Home Edition (SP2 o posterior) - Windows 2000 Professional, Server, Advanced Server, Datacenter Server (SP4 o posterior) La instalación de SQL Server 2005 Express se puede realizar de dos formas: 1.1.2.1. Como parte de la instalación de algún producto Express. Si se instala como parte de la instalación de algún producto Express (por ejemplo Visual Basic Express), el proceso de instalación le pedirá si desea incluir SQL Server 2005 Express en la instalación: en la imagen puede ver la ventana en la que se le solicita la opción (la instalación por defecto no incluye instalar SQL Server 2005 Express). 3

4

1.1.2.2. Como instalación independiente. Si se instala de forma independiente, el proceso de instalación requiere los siguientes pasos: El primer paso de la instalación consiste en instalar Microsoft.NET Framework 2.0 que es uno de los requisitos de la instalación; si ya está instalado previo al proceso de instalación, este paso será omitido. La actualización desde versiones anteriores de.net Framework está soportada hasta la versión 1.1, en caso de haber instalado una versión posterior, deberá desinstalarla antes de instalar SQL Server 2005 Express; en otras palabras, la actualización se puede realizar sólo desde versiones soportadas de.net Framework. 5

Ventana de condiciones de EULA; aceptar los términos de la licencia y condiciones y pulsar Siguiente. 6

Ventana de bienvenida de instalación de los prerrequisitos necesarios para SQL Server 2005 Express; pulsar Instalar. 7

Ventana de finalización de instalación de los prerrequisitos; pulsar Siguiente. 8

Ventana de bienvenida al asistente de instalación de SQL Server 2005 Express; pulsar Siguiente. 9

Ventana de comprobación de requerimientos del sistema; si la comprobación ha sido satisfactoria, todas las opciones aparecerán con la opción de verificación en color verde, en caso de haber algún requerimiento no severo, aparecerá en color amarillo; si hay algún requerimiento crítico que no se cumple, aparecerá en color rojo y no podrá seguirse con el proceso de instalación. Pulsando en el botón Report, podrá ver cuales son los requisitos no cumplidos para poder preparar al sistema para cumplirlos; por ejemplo, si no se cumplen los requerimientos de ASP.NET, podrá salir de la instalación, actualizar ASP.NET, y volver a realizar la instalación. Si la comprobación ha sido satisfactoria, pulse Siguiente. 10

Introduzca la información de registro, desmarque la opción Ocultar opciones avanzadas de configuración, y pulse Siguiente. 11

Seleccione los componentes que desea instalar; en éste caso, seleccione instalar todos los componentes y pulse Siguiente. 12

Seleccione el nombre de la instancia de SQL Server 2005 Express (por defecto SQLExpress), y pulse Siguiente. 13

Seleccione el nombre de la cuenta que arrancará el servidor de SQL Server 2005 Express (Network Service por defecto), y habilite que el servicio de SQL Server se arranque al finalizar la instalación; a continuación pulse Siguiente. 14

Seleccione el modo de autenticación (por defecto autenticación integrada de Windows), y pulse Siguiente. 15

Seleccione el collation de la instancia de SQL Server. Como es una instalación nueva, y no se va a trabajar con bases de datos de versiones anteriores de SQL Server, se seleccionará Latin1_General, en caso de migraciones o posibilidad de trabajar con bases de datos importadas de SQL Server 2000 (o MSDE 2000), considere la opción por defecto (SQL Collations, Dictionary-order, case insensitive, for use with 1252 Character Set); a continuación pulse Siguiente. 16

Seleccionar la opción de configuración de la instancia de SQL Server sobre la posibilidad de permitir a usuarios no-administradores de crear instancias. Por defecto habilitado; durante las siguientes lecciones se hablará de ello, habilítelo y pulse Siguiente. 17

Opciones para informar a Microsoft sobre los errores no esperados sucedidos en la aplicación, y para enviar automáticamente información sobre las características usadas del producto; por defecto están deshabilitadas, pero se recomienda habilitarla para mejorar el producto enviando automáticamente información del uso que se hace del producto; a continuación se pulsa en Siguiente. 18

Comienza el proceso de instalación informando de las características que se van instalando. 19

Finalización del proceso de instalación con estado de casa funcionalidad instalada; en caso de haber algún error durante la instalación, aparecerán botones en color Rojo indicando el error; pulsando en la casilla correspondiente de la columna Status, podrá ver información del error producido; pulse Siguiente. 20

Informe final de la instalación de SQL Server en el que se podrá ver todas las características instaladas, y un fichero de resumen con cada paso realizado durante la instalación. Pulse Finalizar, y ya está preparado para poder utilizar SQL Server 2005 Express. 21

1.1.3. Componentes instalados Para acceder a los componentes instalados en SQL Server 2005 Express, deberá hacer click en Inicio, Todos los Programas, Microsoft SQL Server 2005, Herramientas de configuración como ve en la siguiente imagen: 22

Las opciones disponibles son las siguientes: 1.1.3.1. Administrador de configuración Componente basado en Microsoft Management Console (MMC), con el que se puede administrar la configuración de los servicios SQL Server, protocolos de red utilizados, y configurar el cliente nativo de acceso a SQL Server. Es una herramienta que realiza todas las modificaciones haciendo uso de las nuevas APIs de administración SMO (sustituto de SQL-DMO). El hecho de usar tales APIs nos da la posibilidad de poder crear aplicaciones personalizadas para configurar el servidor; por ejemplo, se podría crear una aplicación basada en SMO que implemente o extienda las funcionalidades expuestas a través de la aplicación MMC. La aplicación tiene la siguiente apariencia: 23

Al igual que desde el administrador de servicios del sistema operativo, se pueden cambiar las propiedades del servicio; la gran diferencia, es que mientras las llamadas de la aplicación MMC de los servicios realiza llamadas a las APIs del Kernel de Windows, el Administrador de Configuración, realiza las llamadas a través de las APIs de SMO. 24

Se pueden configurar, habilitar o deshabilitar protocolos; configurar, o modificar puertos TCP/IP como se ve en la imagen: 25

Así como establecer el orden de los protocolos de Red; en el siguiente ejemplo, están habilitados los protocolos Shared Memory, TCP/IP, y Named Pipes, mientras que el protocolo VIA está deshabilitado: Nota: Recuerde que la mayoría de estos cambios no tendrán efecto hasta que el servicio de SQL Server haya sido reiniciado. 26

1.1.3.2. Informes de uso y errores de SQL Server La utilidad permite modificar las opciones de configuración relativas al feedback que se envía a Microsoft en cuanto al uso de las características del producto, e informe de errores no esperados. El nivel de detalle llega hasta el nivel de instancia, es decir, podemos decidir qué instancias envían información sobre los errores no esperados, o sobre el uso de las funcionalidades del producto: 27

1.1.3.3. Configuración de superficie de SQL Server El aplicativo configuración de superficie de SQL Server es un asistente que ayuda a configurar cuales son las partes de SQL Server que se encuentran expuestas a interactuación desde el exterior. La filosofía del aplicativo es ayudar a configurar de manera sencilla y rápida los puntos de acceso al servidor. El aplicativo expone al usuario funcionalidades tales como configuración de servicios, y configuración de características de SQL Server; por ejemplo, CLR habilitado o no, soporte HTTP habilitado o no, endpoints configurados en el servidor, etc. 28

El aplicativo permite modificar la configuración del servicio de SQL Server. 29

También permite configurar el tipo de conexiones permitida sobre el servidor. Por ejemplo, SQL Server 2005 Express permite por defecto sólo conexiones locales; esto quiere decir que no se pueden realizar conexiones desde equipos externos a menos que se configure de servidor para permitirlo. Desde la aplicación, se podrá habilitar la posibilidad de conexiones de equipos remotos, y los protocolos de conexión permitidos. En cuanto a las opciones de configuración de funcionalidades del motor de base de datos, se incluyen: Posibilidad de habilitar o deshabilitar la ejecución de consultas con OPENROWSET y OPENDATASOURCE: lo que estas funciones permiten es realizar consultas a servidores remotos (servidores expuestos a través de un origen de datos del que se provea drivers de acceso como ODBC, OLEDB, etc.) sin la necesidad de tener que crear un servidor vinculado. Habilitar el soporte del CLR: creación de objetos de base de datos con cualquier lenguaje.net Framework. Habilitar el soporte nativo de Servicios Web: opción sólo disponible en la versión Enterprise de SQL Server 2005 que permite exponer SQL Server 2005 sin necesidad de implementar Servicios Web expuestos por IIS. Habilitar el uso de Automatización OLE con sentencias T-SQL: posibilidad de realizar llamadas a objetos COM desde Transact-SQL con los procedimientos almacenados de 30

sistema sp_oacreate, sp_oagetproperty, sp_oasetproperty, sp_oamethod, sp_oastop, y sp_oadestroy. Automatización OLE entrará en desuso debido a la integración del CLR y su consiguiente facilidad para implementarlo mediante.net Framework en lugar de objetos COM. Habilitar el uso del procedimiento almacenado de sistema xp_cmdshell que permite ejecutar comandos de sistema en el servidor (tales como DIR, DELETE, COPY, etc.) Habilitar el uso de endpoints de Service Broker. 1.1.3.4. SQLCMD SQL Server 2005 Express no incluye la herramienta SQL Server Management Studio como el resto de versiones de SQL Server 2005. Para poder conectarse a SQL Server, el producto incluye una utilidad de línea de comando que permite conectarse a una instancia de SQL Server y realizar operaciones de manera similar a las herramientas gráficas. Evidentemente, la funcionalidad que nos proveen Management Studio no puede ser alcanzada con la utilidad de línea de comando, pero si provee lo necesario para conectarse e interactuar con la instancia. Típicamente esta utilidad suele ser utilizada para realizar tareas administrativas básicas. Por ejemplo, un ISV que desarrolla una aplicación y necesita ejecutar un script contra la instancia de SQL Server; imagínese que el ISV no ha desarrollado sus propias herramientas para ejecutar consultas ad-hoc contra el servidor; en este caso, puede utilizar SQLCMD para conectarse a la instancia de SQL Server y ejecutar el script deseado. Incluso, el ISV tiene la posibilidad de crear el script con SQL Server 31

Management Studio en sus equipos de desarrollo porque Management Studio incorpora la posibilidad de ejecutar scripts en modo SQLCMD. La documentación del SQLCMD la puede encontrar en los Libros en Pantalla en "SQL Server 2005 Express Edition", "Working with SQL Server Express", "Using the sqlcmd Utility (SQL Server Express)". La funcionalidad más novedosa implementada en SQLCMD es la posibilidad de utilizar variables a la hora de ejecutar scripts; por ejemplo: Dado el siguiente script llamado copia.sql: BACKUP DATABASE $(db) TO DISK = "$(path)\$(db).bak" WITH INIT donde $(db) es una variable que referenciará a un nombre de base de datos, y $(path) la ruta donde se guardará la copia. Si se ejecuta desde línea de comando SQLCMD -ic:\copia.sql -vdb="adventureworks" path="c:\data" lo que SQLCMD ejecutará será: BACKUP DATABASE AdventureWorks TO DISK = "c:\data\adventureworks.bak" WITH INIT lo cual quería decir que con un script de copia de seguridad, se podrían reutilizar con bastante facilidad distintas estrategias de copia de seguridad. Esto está muy bien, pero se limita la capacidad a la instancia en uso. Sin embargo, SQLCMD también permite cambiar de conexión tras haber conectado a un servidor con la palabra clave :connect; por ejemplo: desde línea de comando, se conecta a una instancia de la siguiente manera: SQLCMD -E -S(local)\SQLEXPRESS A continuación aparece el prompt, y puede ejecutar lo siguiente: :connect (local)\sqlexpress_2 que conectaría a una segunda instancia de SQL Server 2005. Otras opciones disponibles son :r para ejecutar un script, y :setvar para definir variables, por lo que el ejemplo anterior del backup se podría ejecutar de la siguiente forma: SQLCMD -E -S(local)\SQLEXPRESS :setvar db AdventureWorks :setvar path c:\data :r c:\copia.sql GO 1.1.4. Componentes opcionales Las bases de datos de ejemplo y el código de ejemplo son un buen comienzo para conocer las nuevas funcionalidades del producto. La base de datos AdventureWorks se ha creado para sustituir a las anteriores Northwind, y Pubs que pecaban de ser bases de datos poco reales en cuanto a volumen de datos. Se ha tenido más cuidado en el diseño relacional de la base de datos AdventureWorks, y se ha aprovechado para incluir nuevas funcionalidades como soporte XML, novedades Transact-SQL, nuevos tipos de datos, etc. La otra fuente de conocimiento a mencionar son los Libros en Pantalla (BOL): la versión incluida en SQL Server 2005 Express es una versión "reducida" de la versión completa, pero en todo momento, da acceso a la Web de Microsoft para acceder a documentación y ayuda incluida en la versión completa de los Libros en Pantalla. A su vez, los Libros en Pantalla, incluyen la posibilidad de acceder directamente a los grupos de noticias para obtener 32

respuesta a casos concretos, y también realizar búsquedas en sitios de la comunidad como CodeZone, ElGuille.info, GotDotNet.com, SSUG.com, SQLIS.com, etc. 1.2. Integración con versiones Express En esta lección, conocerá cómo se integran la versión Express de SQL Server con Visual Studio, y cómo ayuda la versión Express de SQL Server en el proceso de despliegue de aplicaciones de bases de datos. Se le introducirá a nuevos conceptos como instancias de nombre para noadministradores, y se le enseñará a desplegar aplicaciones de bases de datos con la versión Express de SQL Server 2005. Uno de los objetivos de la versión Express de SQL Server 2005, es simplificar el proceso de despliegue de aplicaciones de bases de datos; a diferencia del resto de versiones de SQL Server (Workgroup, Standard, Enterprise) en el que las bases de datos se cambian de lugar poco o casi nunca, la versión Express está pensada para aplicaciones de bases de datos que requieren en cierto modo que los ficheros de base de datos sean dinámicos. Esta movilidad de los ficheros se consigue durante la fase de despliegue. En qué ayuda al despliegue la versión Express? Los Vendedores de Software Independientes (ISV s) generalmente desarrollan aplicaciones comerciales que requieren de un instalable, y a su vez requieren instalar una base de datos; La versión Express viene a solucionar los problemas que surgían en el proceso de instalación en este tipo de aplicaciones. 1.2.1. Compatibilidad con versiones "mayores" de SQL Server La versión Express de SQL Server se pone en la línea de las versiones MSDE de anteriores versiones de SQL Server; esto quiere decir que una base de datos de SQL Server 2005 para la versión Express, es totalmente compatible con el resto de versiones de SQL Server (Workgroup, Standard, Enterprise). El proceso de migración entre versiones es tan sencillo como hacer una restauración de la copia de seguridad de la base de datos (comando RESTORE, o usando las herramientas gráficas), o usando la opción de adjuntar bases de datos (comando sp_attach_db, o con las herramientas gráficas). 1.2.2. Instancias de nombre para usuarios no-administradores Uno de los problemas que tienen los ISVs que distribuyen aplicaciones con MSDE es que el usuario que realiza la instalación de la aplicación debe pertenecer al rol de administradores de SQL Server. Este es un requisito que en la versión Express de SQL Server 2005 se elimina con la aparición de las instancias de usuario. El objetivo de las instancias de usuario, es acercar a SQL Server al concepto de base de datos de escritorio; es una base de datos que sólo admite conexiones locales a través del protocolo de red "named pipes", no se pueden realizar conexiones a través de la red. El concepto de las instancias de usuario es similar al modelo de las bases de datos Access: una vez conectado al fichero de base de datos, el usuario tiene derechos administrativos sobre la base de datos, sin necesidad de la intervención de un usuario administrador. 1.2.2.1. Cómo funciona? En primer lugar, para habilitar el uso de instancias de usuario, en la cadena de conexión de la aplicación cliente deberás añadir la cadena "User Instance=true". De esta forma se indica a SQL Server Express, que la conexión se realizará sobre una instancia de usuario. En caso de que no existiera la instancia de usuario, SQL Server automáticamente, creará la instancia de usuario; consiste en crear una nueva instancia de SQL Server para el usuario requerido, en el que: Se copiarán las bases de datos de sistema de la instancia por defecto de SQL Server 2005 Express, y 33

Se iniciará otra "copia" del servicio de SQL Server Express; el nombre de la instancia es un valor aleatorio, por ejemplo (2E67C75A-1693-4D), y se debe considerar a la nueva instancia hija de la instancia principal de SQL Server Express. Nota: Conectándose a la instancia \SQLEXPRESS, con la vista sys.dm_os_child_instances se pueden consultar cuales son las instancias de usuario activas. La diferencia fundamental con las instancias tradicionales es que a la instancia de usuario solamente puede conectar el usuario para el que se ha creado la instancia. Además, por diseño, sólo se puede conectar mediante canalización por nombres, y no se puede conectar a la instancia de forma remota. Después de crear o iniciar la instancia de SQL Server Express, automáticamente, el proceso de conexión se encargará de adjuntar la base de datos que se ha especificado en la cadena de conexión a la instancia recién creada. A su vez, cuando la aplicación cliente cierra conexión con la base de datos, la base de datos se "desadjunta" de la instancia de SQL Server. En realidad, SQL Server tiene configurado un tiempo de espera antes de desadjuntar la base de datos de la instancia porque en caso contrario, el proceso de adjuntar/ desadjuntar podría causar problemas de rendimiento en la aplicación. Un ejemplo de cadena de conexión que deberá usarse para trabajar con instancias de usuario podría ser el siguiente: conn string = "Data Source=.\\SQLExpress;" + "Integrated Security=true;" + "attachdbfilename= DataDirectory \\mi_bd.mdf;" + "User Instance=true;" En.NET 2.0, aparece la palabra clave DataDirectory, que representa un path relativo a la instalación de la aplicación; por ejemplo, distribuimos una aplicación que admite personalizar la ruta de instalación, con DataDirectory podemos especificar rutas relativas. A su vez, también se puede especificar el valor de DataDirectory de la siguiente manera: AppDomain.CurrentDomain.setData( DataDirectory, C:\ruta_por_defecto\ ); 1.2.3. Consideraciones Como la instancia de usuario es hija de la instancia SQLEXPRESS, si la instancia SQLEXPRESS no está arrancada, la instancia de usuario no arrancará. Un usuario sólo puede tener una instancia de usuario. Las bases de datos de la instancia de usuario se crean en la ruta: \Documents and Settings\nombre_usuario\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS La réplica se deshabilita. La instancia de usuario no admite Autenticación de SQL Server. Sólo se admite la Autenticación de Windows. La compatibilidad de protocolo de red con las instancias de usuario sólo es posible mediante canalizaciones con nombre locales. La instancia de usuario comparte las entradas de registro de la instancia primaria. No se admiten instancias de usuario con código nativo. Esta característica sólo se admite con ADO.NET. 34

1.2.4. Despliegue de la aplicación El objetivo principal de las instancias de usuario, es disponer de un fichero de base de datos, que se utiliza en una instancia cuando el usuario necesita acceder a la base de datos. Cuando no se está usando, la base de datos se desadjunta. Qué se consigue con esto? Acercar la base de datos al concepto de base de datos de escritorio (como si fuera Access). De esta forma, el despliegue de la aplicación relacionada con la base de datos consistirá en: Copiar los binarios de la aplicación. Copiar el fichero de base de datos. Nota. Fíjate que sólo hay que copiar el fichero de base de datos; no se necesita adjuntar la base de datos a ninguna instancia de SQL Server, porque la propia aplicación se encarga de hacerlo por nosotros. Por lo tanto, para desplegar la aplicación deberemos incluir en la distribución la copia de la base de datos de la aplicación. Para ello lo podremos hacer de dos formas: Usar el concepto de XCOPY copiando el contenido del directorio \bin\release de la aplicación generada en el directorio destino. Usar la nueva tecnología ClickOnce, cuyo objetivo es facilitar el despliegue de la aplicación, y a su vez, gestionar las actualizaciones; en el proceso de instalación, además de la realizar la propia instalación, se podrá configurar la aplicación para actualizar automáticamente la aplicación cuando existan nuevas versiones. 1.3. Acceso a datos Sin lugar a dudas uno de los ámbitos más importantes de un lenguaje o entorno de programación es su capacidad de acceso a datos. Prácticamente todas las aplicaciones conllevan la realización de accesos a datos. Le gustará saber que la plataforma.net, y por lo tanto ASP.NET, ofrecen un potente modelo de acceso a fuentes de datos. Se le conoce con el nombre genérico de ADO.NET. Nota: No se deje engañar por el nombre: ADO.NET no tiene casi nada que ver con el anterior ADO utilizado en los tiempos de ActiveX y COM. Sí, dispone de conexiones, comandos e incluso una clase que recuerda a los Recordset, pero créame cuando le digo que es mejor que se olvide para siempre de todos ellos. Tanto la filosofía de trabajo como la tecnología son diferentes por completo y es mejor que utilice una estrategia de "ojos limpios" para acercarse correctamente a la nueva tecnología. Los conocimientos adquiridos en este módulo le servirán para cualquier tipo de desarrollo con.net, no sólo para aplicaciones Web. Los conceptos explicados son válidos también para cualquier versión de.net no sólo para la 2.0. 1.3.1. Introducción a ADO.NET Como cualquier otro modelo de acceso a datos, ADO.NET es un conjunto de clases relacionadas entre sí que están especializadas en ofrecer toda la funcionalidad que un programador necesita para realizar acceso a datos y manejarlos una vez los ha obtenido. Las clases genéricas expuestas por ADO.NET se encuentran bajo el espacio de nombres System.Data. Este espacio de nombres define clases genéricas de acceso a datos que posteriormente son extendidas para ofrecer características y funciones específicas de cada proveedor. El objeto más importante a la hora de trabajar con el nuevo modelo de acceso a datos es el DataSet. Sin exagerar demasiado podríamos calificarlo casi como un motor de datos 35

relacionales en memoria. Aunque hay quien lo asimila a los clásicos Recordsets su funcionalidad va mucho más allá como se verá en breve. 1.3.1.1. Arquitectura de ADO.NET El concepto más importante que hay que tener claro sobre ADO.NET es su modo de funcionar, que se revela claramente al analizar su arquitectura: Figura 4.1.- Arquitectura de ADO.NET Existen dos capas fundamentales dentro de su arquitectura: la capa conectada y la desconectada 1.3.1.2. La capa conectada La capa conectada de ADO.NET contiene objetos especializados en la conexión con los orígenes de datos. Así, la clase genérica Connection se utiliza para establecer conexiones a los orígenes de datos. La clase Command se encarga de enviar comandos de toda índole al origen de datos. Por fin la clase DataReader está especializada en leer los resultados de los comandos. La clase DataAdapter hace uso de las tres anteriores para actuar de puente entre la capa conectada y la desconectada como veremos después. Estas clases son abstractas, es decir, no tienen una implementación real de la que se pueda hacer uso directamente. Es en este punto en donde entran en juego los proveedores de datos. Cada origen de datos tiene un modo especial de comunicarse con los programas que los utilizan, además de otras particularidades que se deben contemplar. Un proveedor de datos de ADO.NET es una implementación concreta de las clases conectadas abstractas que hemos visto, que hereda de éstas y que tiene en cuenta ya todas las particularidades del origen de datos en cuestión. Así, por ejemplo, las clases específicas para acceder a SQL Server se llaman SqlConnection, SqlCommand, SqlDataReader y SqlDataAdapter y se encuentran bajo el espacio de nombres System.Data.SqlClient. Es decir, al contrario que en ADO clásico no hay una única clase Connection o Command que se use en cada caso, si no que existen 36