Administración de Bases de Datos Con SQL Server 2008 (Ejemplo)
Administración de Bases de Datos Con SQL Server 2008 (Ejemplo)
Administración de Bases de Datos Con SQL Server 2008 (Ejemplo)
a
ec
de
l
Eje
mp
lo
tur
a
Sipnosis
SQL Server 2008 constituye un cambio a todos los niveles sobre el motor de Bases de datos de
Microsoft. Con SQL Server 2008 la administracin de bases de datos se hace una tarea mucho ms
sencilla, debido al gran nmero de asistentes y herramientas integradas que se proporcionan desde una
nica interfaz grfica para todo su entorno.
de
l
ec
En este libro se abordan todos los aspectos de la administracin de un sistema de bases de datos con
SQL Server 2008. Adems de las tareas y herramientas habituales, que han sido mejoradas en esta
versin, podremos comprobar que las nuevas caractersticas de SQL Server 2008 en cuanto a
conectividad, escalabilidad, seguridad o Business Intelligence, lo hacen un sistema mucho ms robusto
y potente, preparado para dar soporte a las aplicaciones ms crticas y exigentes. Adems de la
introduccin de un nuevo trmino Directivas que nos ayudarn a una correcta y eficiente
administracin.
mp
lo
Eje
ec
tur
a
Luarna
ISBN: 978-84-92684-58-8
Eje
mp
lo
de
l
www.luarna.com
Cualquier forma de reproduccin, distribucin, comunicacin pblica o transformacin de esta obra solo puede ser realizada
con la autorizacin de sus titulares, salvo excepcin prevista por la ley. Dirjase a CEDRO (Centro Espaol de Derechos
Reprogrficos, www.cedro.org) si necesita fotocopiar, escanear o hacer copias digitales de algn fragmento de esta obra.
tur
a
ec
de
l
Eje
mp
lo
Este libro, se lo dedico a mi familia en particular a mis padres, que no se cmo me aguantan
con todo lleno de libros y de hojas tiradas por el suelo o por cualquier sitio, gracias por estar ah!.
Tambin agradecrselo a la persona que ms me comprende y me apoya, gracias Javi!.
tur
a
ec
de
l
Eje
mp
lo
lo
mp
Eje
tur
a
ec
de
l
tur
a
Indice
ec
Introduccin .................................................................................................................................... 14
Introduccin .................................................................................................................................. 14
Introduccin a SQL Server 2008 ................................................................................................... 15
Nuevas Caractersticas .................................................................................................................. 16
Funciones Bsicas ..................................................................................................................... 16
Funciones de Business Intelligence............................................................................................ 17
Funciones adicionales a SQL Server 2008 ................................................................................. 17
Herramientas de SQL Server 2008 ................................................................................................ 18
Libros en pantalla ...................................................................................................................... 18
SQL Server Configuration Manager .......................................................................................... 18
El SQL Server Management Studio ........................................................................................... 18
de
l
Eje
mp
lo
de
l
ec
tur
a
lo
mp
Eje
tur
a
de
l
ec
mp
lo
Eje
tur
a
de
l
ec
lo
Eje
mp
ec
tur
a
de
l
mp
lo
Eje
tur
a
de
l
ec
mp
lo
Eje
FILESTREAM.............................................................................................................................. 315
Uso de FileStream....................................................................................................................... 315
Almacenamiento de FileStream ............................................................................................... 316
Seguridad Integrada ............................................................................................................. 316
Administracin Integrada .................................................................................................... 316
Habilitar FILESTREAM ............................................................................................................. 317
Administrar datos FILESTREAM usando Transact-SQL ............................................................. 318
Actualizar datos FILESTREAM .............................................................................................. 319
Eliminar datos FILESTREAM ................................................................................................ 319
Administrar daos FILESTREAM usando Win32 ......................................................................... 319
Leer la ruta de acceso al archivo .............................................................................................. 319
Leer el contexto de la transaccin ............................................................................................ 320
Obtener un identificador de archivos de Win32 ....................................................................... 320
La API OpenSqlFilestream .................................................................................................. 320
Parmetros....................................................................................................................... 321
FilestreamPath ............................................................................................................. 321
DesiredAccess ............................................................................................................. 321
P g i n a | 12
tur
a
OpenOptions................................................................................................................ 321
FilestreamTransactionContext ...................................................................................... 322
FilestreamTransactionContextLength ........................................................................... 322
AllocationSize ............................................................................................................. 322
Conflictos entre Win32 y Transact-SQL ...................................................................................... 322
Ejemplos ................................................................................................................................. 323
Abrir un BLOB de FILESTREAM para acceso de escritura ................................................. 323
Abrir un BLOB de FILESTREAM para acceso de lectura .................................................... 323
Abrir y cerrar varios archivos BLOB de FILESTREAM ...................................................... 324
No se puede cerrar un cursor................................................................................................ 324
ec
Eje
mp
lo
de
l
P g i n a | 13
tur
a
ec
de
l
Introduccin
lo
Introduccin
SQL Server 2008 es la ltima versin del Sistema Gestor de Bases de Datos de Microsoft para el
mercado empresarial.
mp
Esta ltima versin cuenta con varias ediciones, incluyendo una versin gratuita (SQL Server
Express), todas ellas con ediciones de 32 y 64 bit.
SQL Server surgi de la colaboracin entre Microsoft y Sybase, adems de IBM y Ashton-Tate. La
primera versin fue desarrollada para OS/2 en 1988, y no era ms que una pequea base de datos. De
hecho, el sistema operativo OS/2 fue desarrollado conjuntamente por IBM y Microsoft para dar
soporte a Sybase SQL Server
Eje
La primera edicin de SQL Server para Windows fue la 4.2 desarrollada en 1993, (compatible con
Windows NT). SQL Server 4.2 era una base de datos para pequeos entornos (desktop database), con
funcionalidad limitada y no demasiado potente. En 1994, Microsoft y Sybase deciden no continuar su
unin con SQL Server. Esto origin una nueva versin de SQL Server por parte de Microsoft en 1995.
La primera versin independiente de SQL Server fue la 6.05. En esta versin se introdujeron una serie
de mejoras en cuanto a rendimiento y funcionalidad que permitan considerar a este sistema adecuado
para gestionar bases de datos de pequeos negocios o aplicaciones de Internet. La siguiente versin, la
6.5, fue lanzada en 1996.
P g i n a | 14
tur
a
En 1998, Microsoft lanz SQL Server 7.0, que supuso un cambio en cuanto a su situacin en el
mercado de los RDBMS. El gran nmero de mejoras en cuanto a rendimiento, potencia y facilidad de
uso, as como la gran cantidad de caractersticas y aplicaciones auxiliares, incluidas en el producto sin
coste adicional, situaron a SQL Server como alternativa a otros sistemas tales como Oracle o DB2 en
el entorno de negocios de tamao medio.
ec
Con SQL Server 2000, Microsoft termin de consolidar su posicin en el mercado de los Sistemas
Gestores de Bases de Datos. Esta versin ya est dirigida al entorno empresarial, debido a su
rendimiento, escalabilidad y robustez. Lo bueno es que Microsoft consigui alcanzar estos objetivos
sin sacrificar la facilidad de uso y el gran nmero de herramientas de desarrollo, gestin y anlisis
incluidas en SQL Server. De hecho, en el ao 2001 Oracle cedi su posicin de dominio, pasando el
testigo a SQL Server (34% del mercado, contra el 40%). Esta situacin sigui su curso en 2002,
cuando SQL Server aument su cuota al 45% del mercado, mientras que la de Oracle bajaba al 27%.
de
l
Con SQL Server 2005 fueron capaces de competir con grandes sistemas como Oracle o DB2. Muchas
organizaciones de gran tamao adoptaron en su da SQL Server 2000 y lo hacen hoy todava con SQL
Server 2005, como Xerox, Nasdaq, Groupama, ING, y un largo etc. Para comprender este movimiento
en torno al RDBMS (Relational DataBase Management System) de Microsoft, hay que unir que las
cifras de las pruebas rendimiento (benchmarks) a las que se someten a SQL Server se acercan a las
cifras de Oracle, junto con la facilidad de uso y coste del sistema de Microsoft, en contraposicin con
la complejidad y elevado precio del sistema de Oracle.
Con el lanzamiento de la versin ms reciente de SQL Server, Microsoft ofrece una plataforma para
informacin empresarial confiable, productiva e inteligente. Con nuevas mejoras y capacidades
ingenieriles, SQL Server 2008 permitir que sus aplicaciones funcionen mejor y se reduzca la cantidad
de tiempo necesario para manejarlas. Si estuvo utilizando aplicaciones existentes en SQL Server 2000
2005, encontrar un completo set de nuevas capacidades para mejorarlas y reducir el soporte
necesario gracias a que cuenta con una interfaz familiar. Muchos de estos nuevos atributos pueden
proveer beneficios inmediatos sin necesidad de hacer cambios en la aplicacin.
lo
mp
Entre las nuevas caractersticas, quizs la ms llamativa sea el soporte para compatibilidad con .NET.
Esto permite la programacin de ensamblados en C# o Visual Basic 2008 y su ejecucin en SQL
Server, lo que abre un gran abanico de posibilidades complementando la funcionalidad que
proporciona T-SQL.
Eje
Adems, nos encontramos con soporte completo para XML, incluyendo un nuevo tipo de dato XML,
que permite el almacenamiento de documentos de este tipo en formato nativo, y posibilita el uso de
funciones de bsqueda y manipulacin en cdigo XML, como XQuery o XPath directamente en el
propio campo de la tabla. Tambin permite la validacin de la estructura del propio documento contra
esquemas XSD.
Las herramientas de configuracin y mantenimiento tambin han sufrido una renovacin completa. El
Administrador Corporativo, o el Analizador de Consultas de SQL Server 2000 dejan paso al SQL
Server Management Studio (SSMS) ya integrado en la versin anterior SQL Server 2005, que agrupa
y amplia la funcionalidad de ambos. Esta nueva herramienta permite gestin multiservidor tanto de
servidores OLTP como de servidores OLAP o gestin de funciones adicionales. Una nueva
caracterstica muy interesante es la posibilidad de crear una solucin, lo que permite una gestin ms
P g i n a | 15
tur
a
eficaz de proyectos de desarrollo, as como la integracin con Visual Source Safe, que posibilita el
trabajo en grupo y el control de cdigo fuente.
ec
SQL Server amplia y mejora los Reporting Services (SSRS), que aunque inicialmente fueron
concebidos para aparecer con esta ltima versin del servidor, Microsoft decidi publicar una versin
reducida para SQL Server 2000. Tambin incluye un mejorado y ampliado entorno para los Servicios
de Integracin (SQL Server Integration Services, SSIS), anteriormente conocidos como Data
Transformation Services.
Otra de las nuevas caractersticas la constituye el Service Broker, que es un entorno de trabajo
diseado para la distribucin asncrona de mensajera.
Todas estas caractersticas se agrupan dentro de SQL Server 2008 clasificadas segn sus distintas
ediciones, que describo a continuacin:
Express: Esta edicin es la evolucin del antiguo MSDE. Sigue siendo gratuita y, aunque
limitada, incorpora un pequeo entorno grfico de administracin y permite un mximo de 50
conexiones concurrentes (suficiente para cualquier entorno pequeo).
Standard: Esta versin est destinada al entorno medio. Contiene prcticamente todas las
caractersticas, como los Servicios de Anlisis, o los Servicios de Integracin, pero elimina
las opciones de alta disponibilidad, como particionado o indexacin online.
Developer: Esta versin contiene todas las opciones, pero al ser una versin destinada a
entornos de prueba y laboratorio, contiene limitaciones en cuanto a CPUs soportadas y a
licencias.
mp
lo
de
l
Nuevas Caractersticas
Eje
Las nuevas caractersticas soportadas por SQL Server 2008 se pueden dividir en dos grandes grupos:
Funciones Bsicas y Business Intelligence. Cada versin soporta algunas caractersticas, exceptuando
las versiones Enterprise y Developer, que como hemos visto antes, las soportan todas. Veamos un
resumen de algunas de ellas:
Funciones Bsicas
Todas las versiones soportan integracin con .NET (CLR), autenticacin y autorizacin
avanzada, optimizacin automtica de Bases de Datos, importacin y exportacin de datos, el
nuevo tipo de dato XML, consultas recursivas, gestin de errores con estructuras
TRYCATCH, la herramienta Express Manager (indicada para la versin Express y es
gratuita), conexin dedicada para el administrador, adicin de memoria en caliente,
P g i n a | 16
tur
a
de
l
ec
Todas las versiones proporcionan soporte nativo para web services, Reporting Services
(incluyendo mltiples orgenes de datos), funciones analticas y optimizacin de consultas tipo
estrella, y el Business Intelligence Development Studio.
mp
lo
Eje
P g i n a | 17
ec
tur
a
Libros en pantalla
de
l
La nueva versin de SQL Server trae consigo un buen puado de nuevas herramientas, algunas
nuevas, y otras simplemente una evolucin de las anteriores. Vamos a repasar las ms importantes,
para conocer su funcionalidad.
Los libros en pantalla de SQL Server han sufrido una buena revisin, y ahora utilizan la nueva interfaz
de ayuda de .NET 2008, que proporciona nuevos modelos de organizacin de datos, bsquedas por
preferencias, online, en local, y muchas otras opciones.
lo
Esta herramienta agrupa la funcionalidad de varias en la anterior versin de SQL Server. Bsicamente,
su mbito de aplicacin se centra en la gestin avanzada de los servicios de soporte de SQL Server,
para los cuales presenta un amplio abanico de opciones, y en la configuracin de red del servidor.
mp
Eje
P g i n a | 18
tur
a
ec
de
l
lo
mp
Requisitos de Hardware
En primer lugar, hay que tener en cuenta los requisitos de instalacin. Estos, aunque tambin han
evolucionado, no presentan demasiada diferencia con los de la versin anterior. El equipo sobre el que
se instala SQL Server 2008 debe tener un mnimo de 512MB de RAM, (recomendable 1GB), un
procesador PIII o superior con una velocidad de reloj de al menos 600MHz, (recomendable 1GHz). En
el caso de SQL Server Express Edition, los requisitos de memoria RAM son ms bajos, ya que admite
un mnimo de 192MB de RAM.
Eje
En cuando al espacio libre en el disco duro, el proceso de instalacin de SQL Server 2008 (Windows
Installer) crea archivos temporales en la unidad del sistema (En general, la unidad C) que ocupan
aproximadamente 1,6 GB de espacio, por lo que es conveniente que nos aseguremos de tener libre esa
cantidad de espacio en nuestro disco duro. Esto ocurre as, incluso si vamos a instalar componentes de
SQL Server en una unidad distinta.
En funcin de la configuracin de sistema y de las caractersticas de SQL Server 2008 que instalemos
en la mquina, dependen los requisitos finales de espacio en disco. La Tabla 1 muestra el desglose de
espacio por cada caracterstica:
P g i n a | 19
Espacio en disco
tur
a
Caracterstica
150 MB
35 MB
40 MB
5 MB
Integration Services
9 MB
Componentes de cliente
12 MB
70 MB
Herramientas de desarrollo
ec
Herramientas de administracin
20 MB
15 MB
390 MB
Tabla 1: Espacio en disco de las caractersticas de SQL Server 2008 (32 y 64 bits)
de
l
En las versiones de 64 bits, los requisitos, aunque similares, cambian un poco. La Tabla 2 muestra los
requisitos de hardware:
SQL Server 2008 Enterprise Edition
SQL Server 2008 Developer Edition
SQL Server 2008 Standard Edition
Tipo de procesador
lo
Velocidad de procesador
mp
Memoria (RAM)
Eje
Requisitos de Software
Los requisitos de software son algo ms complicados que los de hardware, aunque todos ellos se
pueden resumir en dos recomendaciones:
En un entorno de pruebas podremos utilizar Windows XP sp2 para montar SQL Server 2008
(Edicin Developer, para poder probar todas sus caractersticas).
P g i n a | 20
tur
a
En produccin debemos montar SQL Server 2008 sobre un Windows 2003 Server, donde
podremos aprovechar todas sus caractersticas, sobre todo estando en un entorno de gran
empresa, donde factores como la alta disponibilidad, fiabilidad o escalabilidad son fundamentales.
Debemos tener en cuenta que, en muchas instalaciones de distintas versiones de los sistemas
operativos Windows, los servicios de Internet Information Server no se instalan por defecto. En estos
casos es imprescindible comprobar la instalacin del sistema operativo, ya que IIS es necesario para
instalar, por ejemplo, los Reporting Services de SQL Server 2008.
ec
En la Tabla 3 se resumen los requisitos de software para las versiones de 32 bits, y en la Tabla 4 para
las de 64 bits:
No
No
No
No
No
Windows
2000
Professional SP4
No
Windows
Server SP4
2000
Windows
Advanced
SP4
2000
Srvr.
Windows
Datacenter
2000
Windows
Embedded
XP
No
Windows
XP
Home Edition SP2
No
Windows
XP
Professional SP2
No
de
l
Windows 2000
No
No
No
No
No
No
No
No
lo
No
No
Windows
2003
Enterprise Ed. SP1
Windows
Datacenter
SP1
No
No
No
No
No
Windows
XP
Media Edition SP2
Windows
XP
Tablet Edition SP2
2003
mp
Windows
Server SP1
2003
Ed.
Eje
Windows
2003
Web Edition SP1
Windows
2003
64-Bit
S (IA64)
S (IA64)
S (IA64)
No
S (IA64)
P g i n a | 21
Itanium
X64
X64
No (X64)
S (IA64)
S (IA64)
No (X64)
No (X64)
No (IA64)
No (IA64)
S (X64)
S (X64)
No (IA64)
No (IA64)
S (X64)
S (X64)
No (IA64)
S (X64)
No (X64)
No (X64)
tur
a
No (X64)
S (IA64)
No
No (X64)
No (IA64)
WOW64
S (X64)
No (IA64)
No (IA64)
S (X64)
S (X64)
No (IA64)
S (X64)
WOW64
S (X64)
No (IA64)
S (IA64)
No (X64)
No (IA64)
S (X64)
ec
WOW64
No (IA64)
S (X64)
de
l
Las versiones de 64 bits de SQL Server 2008 son compatibles con los sistemas Windows on Windows
(WOW64). Estos sistemas representan una caracterstica de las ediciones de 64 bits de Windows, que
permiten que aplicaciones de 32 bits se ejecuten en ellos de forma nativa en modo 32 bits, aunque el
sistema operativo siga funcionando en 64 bits.
Proceso de instalacin
lo
mp
Estas dos fases se ejecutan siempre, incluso cuando estamos haciendo una reparacin de la instalacin
o actualizando componentes.
Al iniciar la instalacin, aparece un asistente de opciones que nos permite elegir varias tareas a realizar
(Figura 1), divididas en varias categoras:
Las diferentes opciones seran:
Planeamiento
Instalacin
Herramientas
Recursos
Avanzadas
Opciones
Eje
P g i n a | 22
Documentacin de seguridad
Documentacin de actualizacin
Instalacin
ec
Mantenimiento
o
Actualizacin de edicin
Reparar
Herramientas
o
Recursos
o
Contrato de licencia
mp
de
l
Planeamiento:
lo
tur
a
Dentro de cada una de estas opciones tambin podemos elegir diversas categoras:
Comunidad
Eje
o
Avanzadas
o
P g i n a | 23
tur
a
de
l
ec
lo
Eje
mp
Para ejecutar la instalacin del servidor, debemos seleccionar la segunda opcin: Instalacin dentro
de sta elegir Nueva instalacin independiente de SQL Server o agregar caractersticas a una
instalacin existente (Figura 2).
P g i n a | 24
tur
a
ec
de
l
Figura 2: Instalacin de SQL Server 2008
Prerrequisitos
Eje
mp
lo
SQL Server 2008 requiere la instalacin de unos cuantos prerrequisitos andes de proceder con la
instalacin del producto (Figura 3).
P g i n a | 25
de
l
ec
tur
a
lo
Una vez hemos instalado todos los prerrequisitos, podemos continuar con el proceso de instalacin de
SQL Server 2008. Aqu veremos otra evolucin por parte de Microsoft con respecto a versiones
anteriores del producto. Como podemos ver, el asistente nos da la opcin de elegir que componentes
son los queremos instalar. Es decir, en un solo paso podemos elegir instalar el servidor de bases de
datos, los Servicios de Anlisis, los Servicios de Informes, y el resto de componentes.
Eje
mp
P g i n a | 26
tur
a
ec
de
l
Eje
mp
lo
P g i n a | 27
tur
a
ec
de
l
Figura 7: Seleccin de componentes para instalar.
mp
lo
Una vez realizadas todas las comprobaciones, podemos pasar al siguiente paso del asistente (Figura 7).
Es aqu donde podemos elegir instalar todos los componentes de una vez. Si pulsamos en el botn
Avanzadas de ese cuadro de dilogo, pasaremos a la Seleccin de Componentes. Este cuadro de
dilogo es un estndar en los procesos de instalacin de Microsoft, y nos permite seleccionar los
componentes que queremos instalar en una nica pantalla (Error! No se encuentra el origen de la
referencia.). El nico componente que no est seleccionado automticamente es el motor DTS (Data
Transformation Services), que permite ejecutar paquetes DTS de SQL Server 2000. Esta opcin debe
ser seleccionada si necesitamos migras paquetes DTS de un SQL Server 2000 a un SQL Server 2005.
Adems, las bases de datos de ejemplo, AdventureWorks (OLTP), AdventureWorksDW
(DataWarehouse) y AdventureWorksAS (OLAP), por lo que debemos hacerlo nosotros manualmente,
si queremos utilizarlas.
Eje
P g i n a | 28
tur
a
ec
de
l
Seguridad
Eje
mp
lo
En cuanto a seguridad, SQL Server 2008 presenta un gran nmero de funciones y mejoras, y eso
tambin est reflejado en el proceso de instalacin del servidor (Figura 9). De hecho, podemos dividir
estas mejoras en dos categoras en cuanto a la instalacin se refiere.
P g i n a | 29
de
l
ec
tur
a
Por un lado, el asistente de instalacin permite asociar una cuenta para cada servicio de SQL Server
2008 (Figura 10), mientras que en versiones anteriores, solo era posible hacerlo con el servicio de SQL
Server y el Agente de SQL Server (SQLSERVER & SQLSERVERAGENT).
lo
Por tanto, es conveniente que antes de comenzar con la instalacin del servidor, hayamos decidido
cuantas cuentas necesitamos en funcin de los servicios que queramos instalar. Estas cuentas sern
dedicadas, es decir, no corresponden a ningn usuario real, sino que solo sern utilizadas por el
servicio que tengan asignado. En cualquier caso, una vez realizada la instalacin de SQL Server 2008,
y con el servidor en marcha, tambin se pueden cambiar las cuentas asociadas a cada servicio.
mp
La razn de que podamos asociar una cuenta a cada servicio es que esto permite a los administradores
del sistema configurar los servicios que se ejecutan en un servidor con un conjunto de privilegios
mnimo. De esta manera, cada servicio podr realizar nicamente las tareas que debe, porque no tendr
permisos para hacer nada ms. Por ejemplo, el servicio de SQL Server necesita un conjunto de
privilegios de sistema mnimo para poder llevar a cabo sus tareas, por lo que la cuenta local del
sistema (Local System) le proporciona el nivel de seguridad necesario (Error! No se encuentra el
origen de la referencia.). El servicio del Agente de SQL ejecuta tareas de mantenimiento
programadas de todo tipo, por lo que necesitar un conjunto de permisos superior.
Eje
En cualquier caso, es recomendable que a cada servicio se le asigne una cuenta de dominio dedicada,
incluyendo al servicio de SQL Server, sobre todo si el servicio interacta con otros servicios de red,
como por ejemplo el servicio de Reporting Services, para enviar informes va web. Al crear estas
cuentas, es conveniente que las contraseas no tengan asignado un periodo de expiracin, sobre todo
en servidores en produccin, ya que de lo contrario, podemos encontrarnos con la desagradable
sorpresa de que un determinado servicio deje de ejecutarse.
SQL Server 2008 dispone de 10 servicios que podemos instalar en una mquina, aunque algunos se
instalan automticamente, y no aparecern directamente en la lista simple de componentes:
SQL Server Agent: Se encarga de ejecutar todos los trabajos de SQL Server, es decir, las
tareas programadas. Tambin monitoriza al servidor y es el encargado de enviar alertas.
Report Server: Se encarga de generar informes. Tambin se encarga de gestionar los usuarios
que tienen acceso a cada informe y su conjunto de permisos.
Notification Server: Este servicio permite a SQL Server enviar notificaciones a cualquier
suscriptor, va email, Web, PDA, etc.
Full-text search: Permite buscar una determinada cadena de texto en un literal de cualquier
longitud.
SQL Browser: Proporciona una lista de las instancias de SQL Server a su alcance, incluyendo
el puerto TCP/IP asociado.
SQL Server Active Directory Helper: Habilita la integracin con Active Directory,
informando de cualquier cambio en el Nombre Principal de Servicio.
SQL Writer: permite a los programas de backup, realizar copias de seguridad de bases de
datos de SQL Server.
de
l
ec
tur
a
Un Nombre Principal de Servicio (Service Principal Name, SPN) es el nombre por el que un cliente
identifica de manera nica una instancia de un servicio dentro de un sistema Windows. El servicio de
autenticacin Kerberos, utiliza el SPN para autenticar un servicio.
lo
El proceso es sencillo: cuando un cliente desea conectarse a un servicio, primero localiza la instancia
del servicio, crea un SPN para dicha instancia y presenta este SPN al servicio de autenticacin.
Windows tiene una utilidad llamada setspn.exe, que permite establecer este nombre para cualquier
servicio. Cuando el motor de una instancia se inicia, el servicio intenta registrar su SPN, y cuando se
detiene, lo da de baja. El SPN tiene el siguiente formato: MSSQLSvc/<FQDN>:<tcpport>, donde
MSSQLSvc es el nombre del servicio que se registra, FQDN es el nombre completo del servidor, y el
tcpport representa el puerto TCP/IP.
mp
Para que el registro del SPN del servicio de SQL Server se produzca de manera automtica cada vez
que se inicia, este servicio debe ejecutarse bajo la cuenta de sistema local (Local System) o bajo una
cuenta con privilegios de administrador de dominio. Si no es as, el administrador puede hacerlo de
forma manual con la utilidad anteriormente mencionada.
Eje
Otra de las mejoras que se han producido en la seguridad del servidor es que ahora, el programa de
instalacin de SQL Server 2008, aunque sigue manteniendo al usuario sa, obliga a asignarle una
password fuerte (strong password) (Figura 11). Este tipo de password obliga a introducir una longitud
mnima de caracteres alfanumricos, al menos uno en maysculas y otro en minsculas, y al menos un
carcter especial (@#$&..).
P g i n a | 31
tur
a
ec
de
l
Eje
mp
lo
En este paso del asistente, podemos establecer las reglas de intercalacin para nuestra instancia del
servidor (Figura 12).
Figura 12: Configuracin de las reglas de intercalacin y orden pasa SQL Server 2008.
P g i n a | 32
tur
a
Las reglas de intercalacin especifican los patrones de bits que representan a cada carcter en un
conjunto de datos, y determinan las reglas utilizadas para ordenar y comparar esos datos, adems de
algunas configuraciones especficas de la localizacin. Estas reglas son fundamentales para el
funcionamiento de SQL Server, ya que se utilizan para ordenar los datos almacenados en las bases de
datos, en funcin del alfabeto o lenguaje seleccionado cuando el diccionario de ordenacin se utilice,
adems de especificar la pgina de cdigo ANSI utilizada para representar caracteres no Unicode. Por
esta razn, es fundamental que dentro de cada organizacin se establezca un estndar para las reglas de
intercalacin, ya que si tenemos dos instancias de SQL Server cuyos datos estn almacenados con
juegos de caracteres distintos, no tendremos posibilidad de mover o restaurar bases de datos, al menos
de una manera sencilla. De hecho, en estos casos suele ocurrir que los resultados que se obtienen son
inconsistentes.
ec
Las reglas de intercalacin en SQL Server 2008 son importantes si estamos comparando caracteres
Unicode contra caracteres No Unicode, ya que al realizar un proceso de ordenacin, las comparaciones
de caracteres no funcionan de la misma manera para un tipo de caracteres que para el otro.
de
l
La tabla de caracteres Unicode fue desarrollada por el Consorcio Unicode, formado por empresas tales
como Microsoft, HP, Apple, Oracle, Sybase, SAP, Sun Microsystems o Google, entre otras. Esta
organizacin se encarga de mantener y promover este estndar. La diferencia entre esta y otras tablas
de caracteres es que Unicode utiliza dos bytes para representar cada carcter, en lugar de uno, lo que le
permite representar los caracteres de todos los lenguajes escritos que existen en el mundo. Por esta
razn, resulta adecuado utilizar caracteres Unicode cuando necesitamos almacenar datos que
provienen de distintos idiomas o lenguajes.
En SQL Server 2008 podemos utilizar tipos de datos Unicode (nchar, nvarchar o ntext, este ltimo en
desuso), o tipos de datos No Unicode (char, varchar y text, tambin este ltimo en desuso). Los
caracteres Unicode no se vern afectados por las reglas de intercalacin. Debido a esto, los tipos de
datos Unicode proporcionan un rendimiento muy superior en las consultas o modificaciones de datos,
aunque tambin hay que tener en cuenta que esta mejora de rendimiento se produce a costa de espacio
ocupado en disco, ya que un carcter Unicode utiliza exactamente el doble de espacio que uno No
Unicode.
mp
lo
En SQL Server 2008 podemos configurar las reglas de intercalacin a distintos niveles:
A nivel de columna. Al crear una columna de tipo carcter, podemos especificar la regla de
intercalacin asociada a esa columna. Adems, esta caracterstica se puede modificar una vez
creada. Si no se especifica ninguna regla de intercalacin, se tomarn las reglas por defecto
para la base de datos donde se crea la tabla.
A nivel de Base de Datos. Al crear una nueva base de datos, podemos especificar el juego de
caracteres para esa base de datos, que no tiene porqu coincidir con el de otras bases de datos
instaladas en la misma instancia de SQL Server. Tambin se puede modificar una vez creada.
Si no se especifica nada, la base de datos tomar el juego de caracteres que tenga asignado la
base de datos model. Este juego coincide con las reglas de intercalacin por defecto de la
instancia de SQL Server.
Eje
A nivel de servidor. Durante el proceso de instalacin del servidor, podemos establecer las
reglas de intercalacin por defecto. Estas reglas se convierten en los juegos de caracteres por
defecto de las bases de datos de sistema (master, model, tempdb, msdb & distribution).
P g i n a | 33
Intercalaciones de SQL
tur
a
Durante el proceso de instalacin de SQL Server 2008 establecemos las reglas de intercalacin por
defecto para la instancia, tal y como hemos hablado. En este paso del asistente, llamado Configuracin
de intercalacin, tenemos a nuestra disposicin diferentes opciones de configuracin.
ec
Las intercalaciones de SQL se utilizan para compatibilidad con versiones anteriores de SQL Server.
De hecho, todas las intercalaciones estn basadas en versiones de SQL Server anteriores para
caracteres No Unicode. Las reglas de ordenacin que nos proporcionan las intercalaciones de SQL
para caracteres No-Unicode no son compatibles con las rutinas de ordenacin proporcionadas por los
sistemas operativos Windows. Sin embargo, las reglas de los caracteres Unicode s que lo son. Debido
a que las intercalaciones de SQL utilizan diferentes reglas de comparacin, en funcin de que los
caracteres sean o no Unicode, para comparaciones entre los mismos datos, podemos encontrar
diferencias dependiendo del tipo de dato subyacente.
de
l
En cuanto a la otra opcin, tenemos una lista desplegable para seleccionar la intercalacin de
Windows que deseemos escoger. En esta lista, siempre aparecer seleccionada por defecto la
intercalacin asociada a nuestro sistema operativo. Para una intercalacin de Windows, el algoritmo
de comparacin de datos No-Unicode es el mismo que se utiliza para la comparacin de datos
Unicode. Esto ocurre as para que las ordenaciones de datos, utilicen o no las tabla Unicode, sean
compatibles con las comparaciones de cadenas en la versin de Windows sobre la que instalamos SQL
Server, lo que aporta consistencia entre tipos de datos dentro de SQL Server y, como ventaja
adicional, permite a los desarrolladores utilizar las mismas reglas de ordenacin de cadenas en sus
aplicaciones que las que se utilizan en SQL Server. SQL Server lleva a cabo esta tarea llamando a la
funcin CompareStringW, que pertenece a la API de Windows.
Adems, tenemos una serie de check-boxes que nos permiten seleccionar las opciones y reglas de
ordenacin:
Orden Binario.
Distingue tipos de Kana. (Slo afecta a los alfabetos Japoneses, ya que existen dos tipos de
caracteres kana: Hiragana y Katakana)
mp
lo
Eje
En SQL Server, una intercalacin para la que seleccionemos el orden Binario, define el conjunto de
caracteres y la pgina de cdigo ANSI que se utilizarn en operaciones de comparacin y ordenacin
de caracteres. Las intercalaciones binarias aportan una mejora del rendimiento debido a su
simplicidad. Para tipos de dato No-Unicode (char, varchar, y text), las comparaciones de datos utilizan
la pgina de cdigo ANSI. Los tipos de dato Unicode (nchar, nvarchar y ntext) utilizan las pginas de
cdigos Unicode. En las intercalaciones binarias con tipos de datos Unicode, la intercalacin no se
considera para ordenaciones de datos. Por ejemplo, al ordenar datos con tipo Unicode, se obtendran
resultados similares para las intercalaciones Modern_Spanish_BIN y Japanese_BIN.
En versiones anteriores de SQL Server, las intercalaciones binarias realizaban comparaciones
incompletas para datos Unicode. En SQL Server 2005 y 2008 se mantienen estas intercalaciones por
compatibilidad con las versiones anteriores del producto, y est representada en la opcin de orden
Binario.
P g i n a | 34
tur
a
La otra opcin, el orden Binario: punto de cdigo, incluye un nuevo conjunto de intercalaciones
para comparacin de punto de cdigo real. Estas comparaciones son mucho ms rpidas y fiables, y se
deben utilizar siempre en proyectos de desarrollo desde cero, en los que no exista migracin de
sistemas con versiones anteriores. Esta opcin aade la marca BIN2 a los nombres de las
intercalaciones a las que se asocia.
En general, siempre que sea posible debemos utilizar intercalaciones binarias, debido a su ptimo
rendimiento. Aunque hay que tener en cuenta que, las intercalaciones binarias son sensibles a
maysculas, lo que puede constituir un obstculo en ciertas situaciones. De hecho, cuando
seleccionamos el check-box de alguna de las opciones binarias en el asistente de instalacin de SQL
Server 2008, el resto de las opciones se deshabilita.
ec
de
l
Servidor de Informes
Eje
mp
lo
Una vez hemos configurado la intercalacin del servidor, si hemos seleccionado instalar el Servidor de
Informes, el asistente nos dar paso a la siguiente ventana: Opciones de instalacin del servidor de
informes. (Figura 13)
Los servicios de informes aparecieron en el ao 2003 como un complemento para SQL Server 2000,
aunque en realidad fueron concebidos en el ao 2000 para formar parte del servidor Yukon, lo que hoy
P g i n a | 35
tur
a
conocemos como SQL Server 2005. Estos servicios dan respuesta a la carencia en versiones anteriores
de SQL Server de una herramienta que fuese capaz de formatear y presentar datos en informes.
Los servicios de informes utilizan IIS, ya que el servidor de informes expone su funcionalidad a travs
de un web service, y la herramienta de administracin del servidor es una aplicacin web, escrita en
ASP.NET 2.0. Por tanto, el proceso de instalacin genera dos directorios virtuales: el ReportServer,
que se encarga de almacenar las definiciones de informes, y tambin de generar los informes; y el
ReportManager, utilizado para gestionar los informes almacenados por el Web Service, as como de
gestionar el cacheo de datos, la seguridad del servidor de informes, etc.
ec
Adems, los servicios de informes instalan un par de bases de datos en SQL Server, donde se
almacenan los informes y todos los detalles de seguridad y administracin de informes que se pueden
configurar en el administrador de informes.
de
l
El proceso de instalacin de SQL Server 2008 coloca el servidor de informes en la misma mquina
que la instancia de SQL Server 2008, de manera predeterminada. En principio, esta configuracin es la
que mejor rendimiento tiene, aunque para sistemas con un uso intensivo del servidor relacional, o una
intensa produccin de informes, puede resultar adecuado mover el servidor de informes a una
instancia dedicada, que incluso puede estar instalada en una mquina diferente. Esta configuracin
ser la adecuada en entornos donde elementos como la escalabilidad sean crticos, eso s, a costa de
una pequea penalizacin en el rendimiento.
El paso de la instalacin correspondiente al servidor de informes presenta nicamente dos opciones:
Instalar la configuracin predeterminada, o Instalar pero no configurar el servidor. Si escogemos la
segunda opcin, el proceso de configuracin lo llevaremos a cabo cuando hayamos finalizado la
instalacin de SQL Server. Si escogemos la primera opcin, podemos visualizar los parmetros
predeterminados pulsando en el botn Detalles. Este botn abre una ventana que nos muestra datos
como el nombre de la instancia de SQL Server donde se va a instalar el servidor de informes, el
nombre del servidor de informes, los directorios virtuales que se crearn, y la configuracin de SSL
para el Web Service y la aplicacin Web de administracin.
lo
Informe de errores
mp
El ltimo paso antes de proceder con la instalacin del servidor consiste en una pgina de opciones
para informar de posibles errores durante la instalacin (Figura 14). Las dos nicas opciones
disponibles nos permiten, por un lado enviar automticamente informes de errores a Microsoft o bien a
un servidor de errores de nuestra eleccin, y por otro lado enviar datos relacionados con el uso que
hagamos de SQL Server. Estos datos son estadsticos, y se refieren a diferentes componentes y
caractersticas del servidor.
Eje
A priori, estos dos tipos de informes sern utilizados para mejorar el producto y para corregir posibles
errores. En todo caso, si no estamos seguros de que realmente queramos enviar informacin de este
tipo a Microsoft, podemos dejar los dos check-boxes sin marcar. Adems, aunque se supone que
podemos elegir un servidor para el envo de estos informes, el asistente no nos da esa opcin, por lo
que si lo marcamos, enviaremos la informacin directamente a Microsoft. Esta caracterstica estar
disponible en futuras versiones del producto.
P g i n a | 36
tur
a
ec
de
l
Progreso de la instalacin
Eje
mp
lo
Al pasar a la siguiente pgina del asistente, veremos un breve resumen de las opciones que hemos
seleccionado en los pasos previos (Figura 15). Al hacer click sobre el botn Instalar, procedemos con
la instalacin.
P g i n a | 37
tur
a
ec
de
l
mp
lo
Durante el proceso de instalacin, el asistente visualiza una ventana que constituye otra de las
novedades en la instalacin de SQL Server 2008: el Progreso de la instalacin (Figura 16). En esta
ventana vemos una tabla con dos columnas. En la columna de la izquierda podemos ver un listado con
todos los componentes que se estn instalando, y en la columna de la derecha iremos viendo el estado
de instalacin de estos componentes (Error! No se encuentra el origen de la referencia.). Durante
ste proceso, si hacemos clic en cualquiera de los productos que se estn instalando en ese momento,
abriremos uno de los archivos del registro de instalacin que el asistente genera (Error! No se
ncuentra el origen de la referencia.). Durante la instalacin, se generan varios archivos de registro
que contiene una lista con todas las acciones realizadas en el proceso. Cada archivo nos informar del
proceso de instalacin del componente seleccionado. En la parte inferior de la ventana el programa de
instalacin nos ir mostrando las acciones que se van realizando. El registro principal o resumen,
puede encontrarse en:
Eje
P g i n a | 38
tur
a
ec
de
l
Figura 16: Progreso de la instalacin.
Este registro principal contiene un resumen de todos los archivos que componen el registro de la
instalacin. Estos archivos de registro tienen el siguiente patrn de nomenclatura:
lo
SQLSetup[XXXX][s]_[NOMBRE_MAQUINA]_[NOMBRE_PRODUCTO]_[Y].log
Y : Si se instala un archivo de Windows Installler (.msi) ms de una vez durante una sola
ejecucin del programa de instalacin, este nmero se agrega y se incrementa al nombre del
registro.
mp
Eje
La Tabla 5 contiene una breve descripcin de los archivos de registro de ejemplo de SQL Server:
Archivo de registro
Descripcin
SQLSetup0001_NombreDeEquipo_Core.log
P g i n a | 39
SQLSetup0001_NombreDeEquipo_SQL.log
SQLSetup0001_NombreDeEquipo_AS.log
SQLSetup0001_NombreDeEquipo_RS.log
SQLSetup0001_NombreDeEquipo_NS.log
SQLSetup0001_NombreDeEquipo_DTS.log
de
l
SQLSetup0001_NombreDeEquipo_WI.log
ec
SQLSetup0001_NombreDeEquipo_Tools.log
tur
a
SQLSetup0001_NombreDeEquipo_SCC.log
SQLSetup0001_NombreDeEquipo_SNAC.log
SQLSetup0001_NombreDeEquipo_.NET
Framework 2.0.log
Archivo
de
registro
.NET Framework 2.0.
SQLSetup0001_NombreDeEquipo_MSXML.log
SQLSetup0001_NombreDeEquipo_SQLXML.log
SQLSetup0001_NombreDeEquipo_Logs.cab
SQLSetup0001_NombreDeEquipo_Datastore.xml
instalacin
de
lo
de
mp
Al finalizar el proceso de instalacin, veremos una ltima ventana de resumen en la que se detallan
algunos consejos y tareas a realizar despus de la instalacin. Tambin podremos ver un par de enlaces
al registro de resumen de instalacin (Summary.txt) y a la herramienta de configuracin de superficie.
Al finalizar la instalacin no es necesario reiniciar el equipo, aunque seguramente habr algunas
personas que prefieran hacerlo.
Eje
Con SQL Server 2008 resulta sencillo migrar bases de datos desde las versiones SQL Server 7.0 y
SQL Server 2000. En estos casos, debemos tener en cuenta consideraciones como las reglas de
intercalacin. A pesar de todo, el proceso es rpido y sencillo. Tenemos dos opciones: podemos
adjuntar una base de datos de una versin anterior desde el SQL Server Management Studio, o bien
podemos restaurar una copia de seguridad de la base de datos, tambin desde el SSMS. Las nicas
bases de datos que no admiten este proceso de migracin son las de sistema, ya que han sido
remodeladas de manera drstica en SQL Server 2008 para admitir compatibilidad con .NET, mejoras
de seguridad, etc.
P g i n a | 40
tur
a
Lo que no es posible realizar es la operacin contraria, es decir, instalar una base de datos creada en
SQL Server 2008 en una versin anterior.
Eje
mp
lo
de
l
ec
Microsoft ha puesto a nuestra disposicin una herramienta de anlisis llamada Upgrade Advisor para
escanear la base de datos que vamos a migrar a SQL Server 2008, que nos informar de cualquier
objeto que queramos actualizar. Podemos descargarla directamente desde el sitio web de Microsoft.
P g i n a | 41