1. Instalación de SOL Server 2005
Lo rupo de ornponenres di P nibl para in cal r n:
• QL Server: 1 m neo d la in talacién qu no P zrmitirán instalar configurar
un ervidor de B de ar Q, eFV r,
• AnaJysis Services: el mene de la insta! ció n que nos ofrecerán la po ibiJidad d
configurar un ervidor OLAP (011 Line AnalyticaL Process) es decir, un servidor
de Datawarehouse.
• Reporting Services, el m nro que nos permitirán in raiar el servicio d g ne-
ración d r p rte.
• Notification Services; permite configurar cod s los el memo que paró iparán
FI los ervicio d notif cién como aplicaciones.
• Data Transformation Services: p rrnire in talar la aplicación para diseñar pa-
quete de extra i6n tran formación y manipula ión de dato d otra fuente
d d Y hacia Q e rve r.
• Wo.rkStation Compone:nts: elem mas de configuración de puesto de desarrollo
(Iibr rfas d red ayuda rc.)
Cómo instalar SQL Server 2005 • Beta 2 1
na vez qu f¡ cruada la verificación de la disponibilidad de la arquitectura de
hardware y los aspecto relacionad e n el conjunto de cara r re , e rnenzare-
mo in calar QL Servar Edición Corporativa .
• La instalación PASOA PASO
Introduzca el CO-ROM en la unidad de CO, El pl'9Qrama de il15'talacién se Iniclará
en forma actemáttca mostrando la ventana de bienvenida; si no sucede así. eJe-
cute el fi)rogl'an1asetup.exe, situado en el directoria ralz del CD de SQL Servar.
SQL Server2005
a2
usr.code 31
2. SOLSERVER
Aparecerá la parttalla End User License Agreement (Acuerdo de licencia de
Usuarío Rnal); lea los términos del acuerdo y tilde la opción 1 Accept the lícen-
dng terma and conditions (Acepto los térmlnos y condlclones de la Iicencla),:Y
. presione- el botón Next (Siguiente);
I I
ms"SOf11lAJII alnUD FVlICTIQIA11TY ílIlT .:J
r •••••••••••••••.••••••
11 La pantalla siguiente, SQL Server Components Update (Actualización de
componentes de Servidor) le Indica la lista de componentes necesarios paré!
iníciar la instalación del servidor en sr misma. Presione el botón InstaU (Insta-
lar) para continuar.
c-.-
-
SOL S.,,,,,, Updol_
1(U1III ~I'''''''''; """' ~SOl
•••••
,/El ~2.o
SQl
Ml:t'owII lMl
Ml:rooo SQ.~200S lleliI2 se '" 5l.qxrt F¡1es
32 usr.code
3. ~
I La próxima pantalla, SQl 8erver Components Updafe, le mostrara él pr0gfeSO
ee la instalaclsh de loo componentes requeridos.
B Una vez concluida la lnstalaoíón de los eomponentes requeridos, se iniciará la
instalación del servidor propiamente dieha. La.ventana Welcorne lo the P.IIicro-
50ft SQl 8erver Installation Wizard (~ienvenido al asistente de instalaci.6n de
Microsoft Sal Server) le ofrece el botón Next para contlnua con la ihStalaclcm.
33
4. La. paAtalla System Configuration check (Chequeo de configuración oel siste-
ma) ejeeuta la veriflcaoión de que se han ourn~lid0 los requenrnlentss de sistema
rrtínírnP$ para e]~ufat SQL Sefver 'f; por 'ende, Iª instalaciérr. A cada elemento de
sj'stem~requ~do pai';apooerin'síalarSQ[ SertE;lJ" l sistema le muestra un tilde
e
en ooloÍ" verde; con I~ 'leyenda Success (requlsit(}úljI1lP!ida) si su equipo cumple el
requjsitq; un S'Ím9010 'amarillo de Warning tadvertenci'a) si se cujnple el requert-
mien,to, psro ~lJede resultar insuflo'ente: el recurso requerido y un símbold en co-
lor 1'010 Not SUccess requisito ineumpfidG) si su sistema no C1;wmple n requisito r~
u
q:leriElo, por ejemplo un parche de .actualiZación sobre. él lhtemet EXplorer o re-
: ~cursQs,de hardware" El bofó~ C9ntínue {eontiniJar} pasará a la pantalla de avan-
ce en e! r~jstro de la ir,¡stalci6M en el Registro oe, Eventos de '~ihcfows.
.. , " ,
System CQnfigutllliDl1Ched<~
w •••"",¡.lIIe~.m it.cl>eclced 101 poI.,,¡¡,¡ In<lollelion
pt'Clbl'ernt.
la pal'lta"~ titl;llªda Microsoft SQ!.: Se.rver Insta ratic;m le mostrará el avance del
r-egistr:ode e,(e(lto:s,
, ,
5. , . ~II
Microsoft SQLServer Installation
:
5etupls pri!ROtllg toco<1tiluo WJththe_Ion,
Una vez que ha finalizadQ el registro' de .Ia ínstalaetón, la pantalla denominada
Registrafion Information (fhformación de ReglstrdJ le solicita el ¡ngres€>de los
datos de r~gistro de l-afnstalaoi0Q. <
La pantalla ComponeAts to Jnstallle permite selecGI0na't los ~rodi;.lctos a ¡n~tálar.
descriptes en !3J apartado an em@1': Si está ejecutando el instalador en Lltí 'pu~sto
de desarrollo, es'decir, sobre un sistema operativo ñaservidor, el lnstaladetts ofre-
cerá únicamente instalar laopción 'ÑodcStatio'n
instalalfld0 selo urrservlder SOL.
., . .
Coil'uionents, Asumnrrss que 'esta
Se1é'cdoTie. pertarntG, Ql. Server'y' preskmeNext,
usr.code
35
6. Sal SERVER
DI En la pantalla siguiente, lnstanee Name (Nombre de Instancia), defina el nom-
bre de la instancia que instalará. Tilde la opci6n Predeterminada si instala SQl
Server con una sola Instancia 'e asigne un nombre a la instancia que instalará.
Ahora. presione el Dot6n Hext. Si desea verificar qué otras instancias hay ins-
taladas, presione el botón lnIta1ted Instances •••
•
-
InstilflCe Neme
't ••• """"" ••• lloI••••.••••••••• '" )'OUCjIR-'y.o-<!
,~,
Si tiene Instaladas otras versiones de SQl Servar, par ejemplo, la versión 2000,
SQl le ofrece la posibilidad de migrarla a la versión 2005. Si ya instaló Ufla instan-
Gia2005 y desea InsJalar otra, deberá as gnarle un nombre. Presione el botón Hext.
36 usr.code
7. Instalación de SQl Server 2005
•• ~ - II ;..
Instance Name
vcu can InstaUa default rnstance or you can specify a named
instance.
11 La pantalla Service Account le solicita indicar las cuentas de usuario con las
que se ejecutará la instancia Sal Server. Si tilda la opción Customize for each
Service Account (Personalizar para cada Cuenta), deberá especificar para cada
servicio (instancia de Sal Server, OLAp, etc.) la cuenta de usuario con la cual
desea que se ejecute ese servicio en el cuadro inferior.
En el caso de que no tilde esa opción, la cuenta que indique en el cuadro inferior,
ejecutará la totalidad de los servicios.
La opción 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 opción Use a Domain User Account (Usar cuenta de usuario del Dominio)
requerirá una cuenta válida del dominio al que está asociado el servidor.
La opción Auto start service (autoiniciar servicio) arrancará los servicios del ser-
vidor, es decir, el servidor mismo, cada vez que se inicie el sistema. Presione el
botón Next cuando haya configurado las cuentas.
DEFINIR OBJETOS CON CÓDIGO ADMINISTRADO
La unidad de despliegue de aplicaciones para .NET es la assembly, archivo Dll o EXE compila-
do, que contiene clases de definiciones y código que se puede importar a una base de datos usan-
do el comando CREATE ASSEMBlY. los desarrolladores pueden crear objetos de base de datos
enel entorno de Visual Studio .NET y despLegarlos directamente en la base.
usr.code 37
9. Instalación de SQl Server 2005
~
ID La pantalla Collation Settings (Configuración del conjunto de caracteres) le per-
mitirá seleccionar el conjunto de caracteres del servidor (que asignará por omi-
sión a todas las bases de datos). la opción SQL CoUations le permitirá seleccio-
nar los conjuntos de caracteres compatibles con versiones anteriores de Sal
Server.Seleccione también los modos de ordenamiento por medio de las opcio-
nes: Binary, Case-sensitive, Accent-sensitive, Kana-sensitive, Width-sensitive.
Presioneel botón Next.
11 : .•
CoUation Settings
Collation settings defIne the sorting behavior for your se-ver.
lB La pantalla Error Reporting le solicita la habilitación de reporte de errores fata-
les a Microsoft. Si desea habilitarla, seleccione la opción AutomaticaUy send fa-
tal error report to Microsoft. Presione el botón Next.
1m La ventana titulada Ready to Install le brindará la postbutdao de visualizar un
resumen de las opciones seleccionadas en los pasos anteriores. Presione el
botón InstaU para continuar.
USO DE HTTP
icrosoftWindows Server" 2003 y Sal Server 2005 responden de manera innata a tos requerí-
'entoshttp, sin la intervención del Web Server 115.Esto facilita implementar Web Services ba-
osen una base de datos SOL Server ..
39
10. SQL SEAvER
&rOl" ReportIng
Cl1D<>oo ~
tilo l'lO:>fmg usel lO""'¡ l«ol_",~ IDMlaO<Oft.
ID La pémt~lIa contigua, denominada Setup progress, le mostrará el avance de
la Instalación listando los ítems que se encuentran instalados y los ltems que
se hallan en progreso.
Sclup Progrc$ll
Iho >eleclod c~ •• bo;ngcori9a""
"orlW"'~' 5
$sl.IlfQ'.hr¡d
.---
.....
••••••••
-
-
lIt ••••••
---
En último ténnino, una vez finalizada la instalación. podrá visualIzar los elemen-
tos instalados. Para ello, dirijase al menú Start (Inicio) I Programa (Progrart:las)
I Microsoft SQLServer 2005.
40 usr.code
11. Herramientas de SQL Server Management Studio
SQL Server Management Studio posee un gran número de herramientas, las cua-
les podemos observar en la siguiente Guia Visual:
-:. • ~'1J(Cl~::'iI:I.~ • ..,¡9D~ ruloo;(JA
·"'-.:JO~.
, 'Y·";;;rrw...e.-.-.
-l-:.tt-~~~I;;h
1J~c:....'f'1
~ ;J'[~'>...
EJ
• ~4P.[~
=":l'lKUIl:J
='....J.V'"N
utN~":.-.
IlTiIljJ·IKlRlTY.~Sn}oi
;.
. _ •.....•...
~A.,
':.JLnlsfS,, _
~~.:J Ht;I~ d'oM~~
/ ....J P'f·......••.•..•
• .J~-:e-tl"l
t:...~IStr. .•
~
••..••••.•9'l.JI1I,w¡lQf.rl
o Explorador de objetos: permite ver de manera gráfica todos los objetos que con-
tiene el servidor y configurar opciones avanzadas de éste. Los elementos se es-
tructuran según una jerarquía bajo etiquetas generales. Desde aquí es posible na-
vegar servidores, crear y localizar objetos, administrar fuentes de datos y ver logs.
9 Explorador de servidores registrados: muestra los. servidores registrados '1
más comúnmente utilizados.
e Barras de herramientas: permiten el acceso rápido a las opciones más comunes.
O Menú de opciones: brinda acceso a todas las herramientas disponibles y per-
mite configurar fas ventanas y las barras de herramientas.
e Área de trabajo: sirve para trabajar y editar scripts o ver propiedades de los ele-
mentos seleccionados en el explorador de objetos.
(;) Explorador de soluciones: brinda la posibilidad de organizar scrípts e informa-
ción de conexiones bajo la estructura de soluciones. Estas soluciones pueden
ser conectadas con herramientas de control de código fuente.
12. Todas las ventanas de la interfaz pueden configurarse mediante el menú Ver.
El diseño de esta herramienta busca maximizar el área de trabajo para desarrollo y
administración, reducir el número de ventanas abiertas y permitir que cada usuario
configure a su gusto el enromo de desarrollo.
Escribir código -SQl con SQL Server Management Studio
SQL Server Managemem Studio es una herramienta integrada para la escrituras de
código Transact-SQL, MDX, XMLA, XML, SQL Mobile queries y comandos
SQ.LCMD. El editor de código de T-S~ es similar al incluido en SQL Server 2000:
el Query Analizer (Analizador de Consultas) pero incorpora nuevas características
como indentación, ayudantes modo SOLCMD, comentar porciones de código, etc.
Estructura de carpetas en el Explorador de Objetos
las carpetas mostradas en el explorador de objetos dependen del cipo de conexión que
se haya establecido con el servidor. Las carpetas que se muestran son las sigu.ientes.
• Bases de Datos (Databases): contiene la earperas Bases de Datos de Sistema, las ba-
ses de daros de usuario, la carpeta de Snapshot de bases de datos y todos los compo-
nentes que dependen de una. base de daros: tablas, vistas, índices, procedimientos al-
macenados, assemblies, sinónimos, funciones triggers, tipos, reglas, defaults, etcétera.
• Seguridad (Securíty): contiene los logins, los roles de servidor y la carpeta de ser-
vidores vinculados. Estos elementos tienen jurisdicción sobre todo el servidor, no
sólo sobre una base de datos.
• Servicios de notificación: permite configurar todos los elementos que participa-
rán en los servicios de notificación como aplicaciones.
• Replicarion (Replicación): permite configurar publicaciones y suscripciones.
• Administración (Management): conriene logs dispo itivos de backup, planes de
mantenimiento, QL Mail, SQLiMail y nodos de monitoreo de actividad.
• Monitor de actividad (Activity Monitor): permite analizar el desempeño del
motor, ver las conexiones de usuario y resolver bloqueos morrales.
13. Consideraciones sobre el diseño de bases de datos
A continuación, realizamos una enumeración de algunas prácticas recomendadas
por la experiencia de la comunidad de desarrollo. A medida que avancemos en los
capítulos, iremos desentrañando conceptos avanzados, como índices, tablas, gru-
pos de archivos, etcétera.
Prácticas recomendadas
• Se recomienda, siempre que sea posible, el uso de variables tabla en lugar de ta-
blas temporarias. Esto se debe a que actúan como variables dentro del procedi-
miento desaparecen al finalizar su ejecución, producen menos recompilaciones
de procedimientos almacenados y utilizan menos recursos de bloqueo y lag.
• El uso de JOIN (left y right) "asreriscado" (*= y =*) no es recomendado por Mi-
crosoft debido a que puede producir conjuntos de resultados ambiguos. Por razo-
nes de compatibilidad con versiones anteriores, SQL admite la escritura dé JOINS
asteriscados en cláusulas WHERE, pero la recomendación técnica se mantiene en
que los mismos deben realizarse en cláusulas JOIN.
• Seleccionar el mejor tipo de datos para cada campo. Evitar crear campos candida-
tos a Primary Key basados en texto. Esto permitirá sortear conflictos y demoras en
conversiones implícitas y explícitas, como también evitará scans de tablas si el op-
timizador de consultas no puede utilizar un Indice efectivo sobre la tabla.
• Evitar las columnas de Foreign Keys que admitan nulos, para reducir el número de
outer joins que necesitan ser escritos. En términos de procesamiento, los JOINS outer
son más costosos que los inner. i es necesaria tal nulidad, intentemos crear en la ta-
bla que contiene el Id -como Primary Key- una fila con el valor blanco, N/A O nuU.
14. • Las columnas que utilizan tipos de datos text exigen trabajo extra del servidor por-
que almacenan texto e imágenes en páginas distintas de las páginas de datos.
Conviene optar por el tipo varchar, en lugar del text, porque ofrece mejor desem-
pefio para columnas de datos de menos de 8000 caracteres.
'. Utilizar un coUation adecuado para evitar el uso de caracteres UNICODE, que
ocupan el doble de espacio de almacenamiento. Preferir un coUation adecuado a
la imernacionalización de la aplicación (ejemplo Latín-L) y utilizar tipos de datos
varchar y char en lugar de nvarchar y nchar .
• Asegurarse de que las consultas estén bien formadas: cláusulas JOIN con toda la cla-
ve en el ON, cláusulas WHEREde filtro, no realizar los joins en cláusulas WHERE,no
incluir cláusulas DISTINCT innecesarias en las cláusulas SELECT, alificar todos los ob-
c
jetos, devolver únicamente los conjuntos de datos necesarios (evitar el SELEcr .ALL
que no sólo devuelve datos redundantes sino que fuerza el sean de los índices dus-
tered cuando la consulta tal vez sólo requiera usar un índice sobre una columna).
'. Evitar las operaciones LIKE entrecerradas con wildcards (comodines) que produ-
cen scans de tablas. Es preferible utilizar el wildcard de cierre que mejora el de-
sempeño al buscar sobre páginas concretas del árbol de índices. Por otra parte, las
operaciones negativas corno NOTLIKEson sumamente costosas de resolver. Se su-
giere reescribir estas sentencias o utilizar cláusulas II EXISTSo IF NOT EXISTS .
• Evitar el uso de funciones implícitas o explicitas en cláusulas WHERE como:
El código recomendado permite al optimizador de consultas utilizar el índice
creado sobre OrderDate.
15. T-SQL está definido en un estándar por la American Naiional Standards lnstitute:
su implementación en los SGBDR como SQL Server 2005 respeta dicho estándar
y lo extiende con funciones propias.
No se debe confundir T-SQL con un lenguaje de programación como Microsoft
C# .NET ya que ambos tienen alcances distintos.
T-SQL está orientado hacia el manejo y la manipulación de conjuntos de resulta-
dos cuadrados, es decir, tuplas o conjuntos de datos compuestos por matrices d
filas y columnas.
El lenguaje provee dos conjuntos de sentencias y estructuras que pueden dividirse en
sentencia DDL (Data Definition Language) y DML (Data Maniputation Language).
La edición 2005 de SQL Server integra lenguajes como C# .NET, del Framework
.NET (código administrado) para programar lógica compleja de realizar mediante
T-SQL e incorporarla al ser idor como una librería.
Además, T-SQL se fLmdameota en el Optimizador de Consultas, basado en cos-
tes, para determinar el mejor método de acceder a los daros utilizando estadísticas
y probabilidades. E ta optimización automática permite al desarrollador concen-
trarse en mejorar la definición de los criterios de búsqueda en lugar de preocupar-
se, como en Otros SGBDR, de usar los elementos más óptimo para encontrar los
datos (básicamente, conocer el detalle de los índices).
T-SQL proporciona instrucciones de programación como variables operaciones,
condicionales y bucles que minimizan el tráfico de red porque están implementa-
das en el servidor. Éste es un aspecto clave en el análisi de desempeño de las apli-
caciones cliente/servidor.
16. Por otra parte, el Optimizador de Consultas de SQL Server se encarga de mantener
las estadísticas sobre el volwnen y la dispersión de los daros que utilizará luego pa-
ra definir el mejor plan de ejecución. Es posible pasar por alto, en algunas ocasio-
nes, el plan de ejecución trazado por el Optimizador mediante el uso de los HINTS
o Recomendaciones del Optimizador. Evidentemente, para saltear la ejecución de-
finida por el Optimizador, es necesario tener un profundo conocimiento de los Ín-
dices de las tablas en las que trabajaremos nuestras consultas. Mayormente, se uti-
liz.anlos HINTS para obtener mejoras en el desempeño de consultas que insumen
muchos recursos o tiempo de procesamiento, o para evitar la utilización de los m-
dices predefinidos en consultas de procesos esporádicos que funcionan mejor si se
recurre a índices distintos de los prefijados por el Optimizador.
Interfaces de conexión desde el cliente
SQL Server proporciona varias interfaces para permitir el desarrollo de aplicaciones
que se comunican con el servidor. Estas interfaces son las siguientes.
• ODBC (Open DataBase Conneetivity): API para acceso a bases de datos estan-
darizado de la industria para el cual SQL Server proporciona una interfaz nativa,
de gran rendimiento, para entornos basados en Windows.
• OLE-DB: interfaz COM para tipos de datos tabulares (filas y columnas) con
cualquier fuenre de datos (como hojas de cálculo, archivos de texto separados por
coma, etc.),
• ADO (Active Data Objecr): interfaz de objetos de alro nivel, situada por encima
de OLE-DB, que proporciona su misma funcionalidad y rendimiento. Proporcio-
na librerías para desarrollo de aplicaciones a clientes de desarrollo.
• DB-Library: API específica de SQL Server que proporciona todas las funciones pa-
ra que lasaplicaciones abran conexiones, ejecuten consultas y procesen los resultados.
• Otras interfaces: Remore Data Object (RDO), Data Access Object (DAO), Mi-
crosoft Foundarion Clas (MFC) Database Classes, y Embedded SQL.
Sentencias DDL
las sentencias DDL (Data Definition Language) se utilizan para manipular objetos
en el ámbito de una base de datos y Se basan, generalmente, en sentencias GRANT,
CREATE, ALTER, DROP Y DENY.
La siguiente tabla muestra la lista de sentencias DDL CREATE y GRAN! cuyo ám-
bito de ejecuci6n es la base de datos. Para todas las sentencias CREATE existen las
correspondientes ALTER y DROP, como también ~ cuenta con DENY como contra-
partida de las sentencias GRANT.
17. · er~a un esquema dentfD de la pase, de datos que·vincula fas partieioAllS.
~ .:> ~ le'
de una tabla ,particionada"o de- un indieea filegrmips
Tabla 1. Sentencias del lenguaje DDJ...
18. Características de SQL Server Management Studio
La interfaz de desarrollo (SQL Server Management Studio) nos ofrece las ca-
racterfsticas que se enumeran a continuación:
••Permite realizar la mayoría de las tareas administrativas de SQL Server 2000 y
2005. Es posible registrar y operar con servidores de SQL Server 2000 .
••Es una interfaz integrada de desarrollo y administración.
• Ofrece ventanas intuitivas de diálogo con el usuario, con la posibilidad de gene-
rar los scriprs de ejecución.
• Las ventanas de diálogo son no modales, de manera que permiten la realización
de otras tareas sin estar obligado a cerrar las ventanas .
•• Ofrece editores asistidos para ayudar al desarrollador.
• Ofrece mejoras respecto de la versión anterior en las tareas de importación y ex-
portación de objetos entre servidores.
• Permite salvar los planes de ejecución o los archivos de deathlock (bloqueos
mortales) generados bajo el Analizador (Profiler) en formato XML para su aná-
lisis posterior.
• Mensajes de error más enriquecidos, con la opción de reportarlos a Microsoft, co-
piarlos al Block de Notas o enviarlos por mail.
CIIntegración con el navegador web para tener fácil conexión con la ayuda online
de MSDN y las comunidades de desarrollo.
Además, nos ofrece las siguientes herramientas que nos serán de gran utilidad como
material de consulta permaneme:
• monitor de actividades del sistema con filtros y refresco automático;
• integración con interfaces de correo electrónico a través de SQLMail.
19. PROPIEDA.D , ," DESCRIPCiÓN ' " ,
Connedho,database Selécdonar de la lista de bases de datos' del serddor; Sólo sé lUostrafán las bases a ras
que el ususno tiene- 3e<;¡lSO.
Tiempo de vida de la ':~ecución c{)nngurado en segundos, Por defecto, es cero, indicando
que la ejecución nunca ex lrará,
Tabla 2. Opciones de conexión con un servidor.
Figura 3. Solapa Propiedades de Conexión.