Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso Administracion Sintonizacion MSSQL
Curso Administracion Sintonizacion MSSQL
Versin 1.0
Reproduccin prohibida
SolucionJava.com
Ing. Cedric Simon Tel: 2268 0974 Cel: 8888 2387 Email: c e d r i c @ s o l u c i o n j a v a . c o m Web: www.solucionjava.com
Curso de administracin
y sintonizacin de
Microsoft SQL Server
2000 2005 2008
Pagina 2 / 23
ndice
1 Introduccin al curso.....................................................................................................................................................................5
1.1Objetivo de este curso.............................................................................................................................................................5
1.2Manual del alumno.................................................................................................................................................................5
1.3Ejercicios prcticos.................................................................................................................................................................5
1.4Requisitos para atender a este curso.....................................................................................................................................5
1.5Soporte despus del curso.......................................................................................................................................................5
2INSTALACIN DEL SERVIDOR.................................................................................................................................................6
2.1Planificacin............................................................................................................................................................................6
2.1.1Requisitos materiales.........................................................................................................................................................6
2.1.1.1Para SQL Server 2000:..............................................................................................................................................6
2.1.1.2Para SQL Server 2005:..............................................................................................................................................6
2.1.1.3Para SQL Server 2008:..............................................................................................................................................6
2.1.2Requisitos de software......................................................................................................................................................7
2.1.2.1SQL Server 2000.......................................................................................................................................................7
2.1.2.2SQL Server 2005.......................................................................................................................................................7
2.1.2.3SQL Server 2008.......................................................................................................................................................7
2.1.3Requisitos de sistema operativo........................................................................................................................................7
2.1.3.1SQL Server 2005.......................................................................................................................................................7
2.1.3.2SQL Server 2008.......................................................................................................................................................7
2.1.4Requisitos de memoria......................................................................................................................................................8
2.1.4.1Memoria mnima recomendada con SQL Server 2000:............................................................................................8
2.1.4.2SQL Server 2005 32 bits...........................................................................................................................................8
2.1.4.3SQL Server 2008.......................................................................................................................................................8
2.1.5Requisitos de disco............................................................................................................................................................8
2.1.5.1SQL Server 2000.......................................................................................................................................................9
2.1.5.2SQL Server 2005.......................................................................................................................................................9
2.1.6Determinar las cuentas apropiadas para los servicios SQL Server y SQL Agent.............................................................9
2.1.7Determinar el modo de autenticarse..................................................................................................................................9
2.1.8Intercalacin: determinar el juego de caracteres...............................................................................................................9
2.1.9Seleccionar la librera de red.............................................................................................................................................9
2.1.10Decidir del modo de licencias clientes..........................................................................................................................10
2.2Instalacin..............................................................................................................................................................................10
2.3Mltiples instancias...............................................................................................................................................................10
2.4Otras informaciones tiles....................................................................................................................................................10
3CREACIN DE BASES DE DATOS...........................................................................................................................................11
3.1Bases de datos del sistema ...................................................................................................................................................11
3.1.1La base de datos master...................................................................................................................................................11
3.1.2La base de datos model...................................................................................................................................................11
3.1.3La base de datos msdb.....................................................................................................................................................11
3.1.4La base de datos tempdb.................................................................................................................................................11
3.2Bases de datos de usuarios ...................................................................................................................................................11
3.3Configuracin........................................................................................................................................................................11
3.3.1Intercalacin....................................................................................................................................................................11
3.3.2Archivos de datos............................................................................................................................................................12
3.3.3Registros de transaccin..................................................................................................................................................12
4TABLAS E INDICES....................................................................................................................................................................13
4.1Creacin ................................................................................................................................................................................13
4.2Uso .........................................................................................................................................................................................13
Copyright Cdric Simon, 2008
Versin 1.0
Reproduccin prohibida
Pagina 3 / 23
Versin 1.0
Reproduccin prohibida
Pagina 4 / 23
10.2Red........................................................................................................................................................................................22
11Ejercicios......................................................................................................................................................................................23
Versin 1.0
Reproduccin prohibida
Pagina 5 / 23
1 Introduccin al curso
1.1 Objetivo de este curso
En este curso vamos a ver como administrar y sintonizar Microsoft SQL Server.
Este curso no cubre todos los aspectos ni todas las opciones de administracin, enfocando en las ms comunes. El
foco est ms puesto al nivel de sintonizacin de un servidor SQL.
Versin 1.0
Reproduccin prohibida
Pagina 6 / 23
Requisitos materiales
Los requisitos materiales dependen de la versin exacta de SQL Server que quieres instalar.
2.1.1.1
Recurso
Requerimiento
Computadora
Intel or compatible
CPU
Entorno grfico
Dispositivo de
puntero
Tarjeta de red
CD-ROM
Recurso
Requerimiento
Computadora
CPU
Entorno grfico
Dispositivo de
puntero
Tarjeta de red
CD-ROM
2.1.1.3
Recurso
Requerimiento
Computadora
Pentium II o arriba
CPU
Entorno grfico
Dispositivo de
puntero
Tarjeta de red
CD-ROM
Versin 1.0
Reproduccin prohibida
2.1.2
Pagina 7 / 23
Requisitos de software
Versin de Windows
SQL Server 2005 Evaluation Edition y Workgroup Edition Los de antes indicados ms:
Windows XP Professional**
Windows XP Media Edition**
Windows XP Tablet Edition**
Windows 2000 Professional*
SQL Server 2005 Developer Edition y Express Edition
Versin 1.0
Reproduccin prohibida
Pagina 8 / 23
Windows Server 2008 64-bit x64 Data Center Edition RC0 o una versin posterior3,5
Windows Server 2008 64-bit x64 Enterprise Edition RC0 o una versin posterior3,5
Windows Server 2003 Service Pack 2
Windows Server 2003 Enterprise Edition Service Pack 2
Windows XP Professional Service Pack 2
Windows Server 2003 64-Bit x64 SP23
Windows Server 2003 64-Bit x64 Enterprise Edition SP23
Windows Server 2003 64-Bit Itanium SP23
Windows Server 2003 64-Bit Itanium Enterprise Edition SP23
Para Windows SQL Server 2008 64 bits: igual a la lsita de arriba menos las versiones que no son 64 bits.
2.1.4
Requisitos de memoria
Los requisitos de memoria dependen de la versin exacta de SQL Server que quieres instalar, de la versin de
Windows que se usa para hospedar el servidor, y del uso que se le va a dar.
2.1.4.1 Memoria mnima recomendada con SQL Server 2000:
Enterprise
Edition
Windows 2000
Server
Standard
Edition
Developer
Evaluation Edition
Editions
Personal and
Desktop
Engine
Editions
256 MB (128
256 MB (128
MB
MB supported)
supported)
Windows NT 4.0
128 MB (64
Server con Service MB
Pack 5 (SP5) o ms supported)
64 MB
128 MB
recommended (64
MB supported)
64 MB
32 MB
Windows 2000
Professional
N/A
N/A
128 MB
recommended (64
MB supported)
64 MB
64 MB
Windows NT 4.0
Workstation, with
SP5 or later
N/A
N/A
128 MB
recommended (64
MB supported)
64 MB
32 MB
Windows ME
N/A
N/A
N/A
N/A
32 MB
Windows 98
N/A
N/A
N/A
N/A
32 MB
Requisitos de disco
Los requisitos de disco dependen de la versin exacta de SQL Server que quieres instalar, de la versin de
Windows que se usa para hospedar el servidor, y del uso que se le va a dar.
Hay que tener cuidado que el cache de escritura del controlador de disco que utiliza la base de datos este
APAGADO, a menos que haya sido diseado especficamente para manejar bases de datos. En otros casos, podra
generar corrupcin de la base de datos.
Versin 1.0
Reproduccin prohibida
Pagina 9 / 23
Instalacin tpica
250 MB (178 MB on the system drive, plus 72 MB for program and data
files)
Instalacin Mnima
110 MB (73 MB on the system drive, plus 37 MB for program and data files)
Herramientas
administrativas
Libro en lnea
Servicios de anlisis
English Query
80 MB
44 MB
Determinar las cuentas apropiadas para los servicios SQL Server y SQL
Agent
Cada servicio de SQL Server representa a un proceso o conjunto de procesos para administrar la autenticacin de
las operaciones de SQL Server con Microsoft Windows. En este tema se presenta la configuracin predeterminada
de los servicios en esta versin de SQL Server, as como las opciones de configuracin de los servicios de SQL
Server que se pueden establecer durante la instalacin de SQL Server.
Durante la instalacin se le pedirn bajo cual usuario deben de correr estos servicios.
2.1.7
Hay dos manera de autenticarse para conectarse a SQL Server: Modo de autentificar de Windows, que usa la
cuenta de usuario de Windows, y el modo mixto, que ademas permite especificar un usuario/clave propios a SQL
Server.
El modo mixto es necesario, por ejemplo, si quieren desarrollar un sistema que se conecta a SQL Server con una
conexin compartida, o desde un sistema que no fue autenticado en el dominio de Windows.
2.1.8
Este determina la codificacin que ser utilizada en la base de datos para los caracteres especiales (non Unicode).
Este es especialmente importante si se usan alfabetos extranjeros, como el Ruso, el japones,...
Por lo general, se escoje el juego de caracteres propuesto (SQL_Latin1_General...).
La intercalacin se define a nivel del servidor, y luego se puede sobrescribir a nivel de base de datos, y a nivel de
campo de una tabla.
La intercalacin tiene tambien efecto sobre la ordenacin de datos, y la comparacin entre datos.
2.1.9
Se pueden usar diferentes libreras de red para la comunicacin entre un cliente y el servidor.
Por lo general se usa el TCP/IP, y la canalizacin de nombre (IPC).
Versin 1.0
Reproduccin prohibida
2.1.10
Pagina 10 / 23
2.2 Instalacin
Adems de las opciones explicadas en el punto anterior, se puede seleccionar cual(es) componentes de SQL
Server usted quiere instalar.
La instalacin es muy sencillas si usted ya tiene la planificacin de todas las opciones clara (ver punto anterior).
Versin 1.0
Reproduccin prohibida
Pagina 11 / 23
Es la base de datos de configuracin principal de SQL Server. Contiene la informacin sobre todas las bases de
datos que existen en el servidor, incluido los archivos de bases de datos y sus ubicaciones. Contiene tambin los
datos de configuracin del servidor y las cuentas de usuarios.
Debido a su importancia, un respaldo corriente de esta base de datos es crtico para que pueda arrancar el servidor
despues de una restauracin.
En caso de prdida de esta base de datos, solo podr arrancar el servidor usando la versin original que viene en el
CD de instalacin y ligando las bases de datos de usuario usando una herramienta que se llama 'rebuildm.exe', que
viene con el servidor.
3.1.2
Es una base de datos de plantilla que SQL Serve utiliza para crear nuevas bases de datos.
Cada vez que usted crea una nueva base de datos (incluso cuando el servidor inicia y (re)crea la base de datos
tempdb), el contenido de model esta copiado hacia la nueva base de datos para establecer los objetos por defecto
de la nueva base.
3.1.3
Es al base de datos utilizada por diversos componentes de SQL Server, como el SQL Server Agent. Contiene
tambin la informacin de trabajos programados, planes de mantenimientos, informacin de replicacin y de envo
de logs.
3.1.4
Esta base de datos se usa para guardar todos los objetos temporales del servidor. Tablas temporales, espacio de
trabajo temporal,...
Esta base de datos esta recreada a cada reinicio del servidor, con un tamao inicial de 8 MB, y luego crece hasta el
tamao requerido por la aplicacin. Para evitar este trabajo de crecimiento, se puede definir un tamao inicial mas
grande, cerca de lo que se estima necesario.
3.3 Configuracin
La configuracin correcta de las bases de datos es crtica para un desempeo ptimo de su servidor.
3.3.1
Intercalacin
Ver el punto anterior (planificacin). Permite sobrescribir la intercalacin definida a nivel de servidor para la nueva
base de datos.
Versin 1.0
Reproduccin prohibida
3.3.2
Pagina 12 / 23
Archivos de datos
Permite definir cuales sern los archivos que se usarn para almacenar la informacin de su base de datos, y la
ubicacin de estos mismos.
Lo ideal es de tener uno o varios archivos para almacenar las tabas y otro(s) alojados en un disco fsicamente
diferente para los ndices.
Cuando se definir luego una tabla/un ndice, se podr especificar cual archivo(s) de datos usted quiere utilizar para
almacenar esta informacin.
3.3.3
Registros de transaccin
Permiten almacenar la historia de todas las transacciones, para poder manejar transacciones de varias consultas,
deshacer (rollback) o rehacer (roll forward) transacciones incompletas, y para poder reponer una base de datos
hasta un cierto punto en el pasado.
Lo ideal es de tener esto archivos en un disco fsicamente diferente de los archivos de datos.
Versin 1.0
Reproduccin prohibida
Pagina 13 / 23
4 Tablas e indices
4.1 Creacin
Al crear una tabla,se definen los campos, la ubicacin de los archivos, y opcionalmente la clave primaria, las claves
secundarias, y los ndices.
4.2 Uso
Las tablas almacenan los datos, los indices mejoran la velocidad de bsqueda de datos en una tabla.
Tablas
A nivel de la definicin de campos, escoge el tamao exacto para los datos esperados. Escoger un tamao ms
grande va a ocupar ms espacio, y entonces generar ms actividad en el disco.
Toma tambin en cuenta el tamao mximo de una fila, que no debera ser ms que el tamao de un bloque (por lo
general 8kb).
Son importantes tambin el tamao inicial y el tamao de crecimiento del archivo de datos. No hay valores normales
para estos parmetros ya que dependen de los datos a almacenar, y de la utilizacin y del crecimiento de ellos.
4.3.1.1 Tipos de datos de SQL Server Data Types
Nmericos exactos
Type
From
To
bigint
-9,223,372,036,854,775,808
9,223,372,036,854,775,807
int
-2,147,483,648
2,147,483,647
smallint
-32,768
32,767
tinyint
255
bit
decimal
-10^38 +1
10^38 1
numeric
-10^38 +1
10^38 1
money
-922,337,203,685,477.5808
+922,337,203,685,477.5807
smallmoney
-214,748.3648
+214,748.3647
numeric and decimal are Fixed precision and scale data types and are functionally equivalent.
Numericos aproximados
Type
From
To
float
-1.79E + 308
1.79E + 308
real
-3.40E + 38
3.40E + 38
Fechas
Type
From
To
Jan 1, 1753
Jan 1, 1900
Jun 6, 2079
Cadena de caracteres
Copyright Cdric Simon, 2008
Versin 1.0
Reproduccin prohibida
Pagina 14 / 23
Type
Description
char
varchar
varchar(max) Variable-length non-Unicode data with a maximum length of 231 characters (SQL Server 2005 only).
text
Description
nchar
nvarchar
nvarchar(max) Variable-length Unicode data with a maximum length of 230 characters (SQL Server 2005 only).
ntext
Cadenas Binarias
Type
Description
binary
varbinary
varbinary(max) Variable-length binary data with a maximum length of 231 bytes (SQL Server 2005 only).
image
Otros tipos: sql_variant: Stores values of various SQL Server-supported data types, except text, ntext, and
timestamp. timestamp: Stores a database-wide unique number that gets updated every time a row gets updated.
uniqueidentifier: Stores a globally unique identifier (GUID). xml: Stores XML data. You can store xml instances in a
column or a variable (SQL Server 2005 only). cursor: A reference to a cursor. table: Stores a result set for later
processing.
4.3.2
Indices
Los ndices aumentan mucho la velocidad de bsqueda, pero tienen tambin un costo de mantenimiento.
Por eso, hay que escoger los ndices correctos, que dependern de las consultas que se harn sobre la tabla.
Un ndice agrupado (clustered) permite ordenar fsicamente la tabla en este orden. Solo puede haber un indice
agrupado por tabla. Por lo general se usa para la clave primaria. Valores nicos permite evitar valores duplicadas en
un campo. Una tabla puede tener un mximo de 249 indices no agrupados.
Un ndice puede ser compuesta de varios campos (max 16). Entre ms campos, ms eficiente ser la bsqueda que
incluye dichos campos en filtro.
El relleno define el espacio libre para modificaciones de valores en el ndice. Un campo que nunca se modificar
puede tener los ndices rellenos. Una campo que se modificar (update) con frecuencia debera dejar un espacio
libre para estas modificaciones usando un factor de relleno <100.
4.3.3
Estadsticas
Las estadsticas indican al servidor como se presentan los datos en las tablas y los ndices (cuantas filas, columnas,
valores nicas,...). Este permite al servidor decidir cual es segn el el mejor camino para recuperar datos de una
consulta: cuales indices usar, orden de consulta de las tablas,...
Por eso, es muy importante mantener las estadsticas al da, despus de cambios grandes en datos, o despus de
un periodo de actividad.
Versin 1.0
Reproduccin prohibida
Pagina 15 / 23
5.2 Usuarios
Los usuarios pueden ser usuarios Windows o usuarios SQL.
Para que un usuario de Windows tenga acceso a SQL server, el debe estar definido (con derecho de acceso) a nivel
de SQL server, o pertenecer a un grupo Windows que esta definido (con derecho de acceso) en SQL server.
5.4 Permisos
5.4.1
Son permisos generales vlidos para todo el sistema (y todas la base de datos).
5.4.1.1 Roles de sistema
Son conjunto de derechos definidos a nivel de sistema. El objetivo es poder otorgar de una sola vez todos los
derechos necesarios (y nada ms) para un cierto tipo de trabajo, como respaldar bases de datos, administrar los
archivos en disco, crear nuevas bases de datos,...
5.4.2
Permiten definir para un usuario cuales derechos el tiene (o no) sobre los objetos de una base de datos, o parte de
ellos.
5.4.2.1 Roles de base de datos
Los roles son un conjunto de , como los grupos, A nivel de base de datos existen 3 tipos de roles: predefinidos,
estndar, y de aplicacin.
Los roles predefinidos no se pueden cambiar.
Los roles de base de datos estndar y de aplicacin se pueden definir y modificar a su gusto.
Un rol estndar otorga al usuario todos los derechos del rol al usuario al momento de conectarse.
A la diferencia, un rol de aplicacin necesita ser activado manualmente (o va una aplicacin), entrando una clave de
acceso para activarlo. La clave se puede encontrar en el cdigo, as que va la aplicacin un usuario podra tener
acceso a datos que no tiene acceso usando su usuario conectndose directamente a SQL Server.
Versin 1.0
Reproduccin prohibida
5.4.3
Pagina 16 / 23
Para restringir el acceso a los datos, adems de definir derechos sobre tablas, se pueden usar vistas,
procedimientos, y funciones para dar acceso solo a una parte de los datos, o a efectuar ciertas acciones de manera
mejor controlada.
5.4.4
Precedencia de derechos
Todo los derechos de un usuario (personales, va grupos, y va roles) se agrega, menos los que son explicitamente
desnegados. Un derecho explicitamente desnegado por cualquier manera (usuario, grupo, rol) no se puede
sobrescribir otorgando el derecho via otro medio.
Versin 1.0
Reproduccin prohibida
Pagina 17 / 23
6 Respaldo y reposicin
6.1 Tipos de respaldos
6.1.1
Respaldo completo
El respaldo completo respalda todas las bases de datos. Este opcin es la ms segura, y la ms fcil de reponer,
pero es la que ocupa ms tiempo y ms espacio de respaldo.
Un respaldo completo es siempre necesario como base a los otros tipos de respaldos.
6.1.2
Respaldo diferencial
Aqu se respaldan las diferencias entre el ltimo respaldo comlpeto y el respaldo corriente. Es ms rpido al
principio que el respaldo completo pero si no se hacen respaldos completos regularmente, el tamao del diferencial
podra llegar a ser ms grande que el respaldo completo.
6.1.3
Log de transacciones
Los log recuerdan todos los cambios hechos en la base de datos. Entonces los logs permiten rehacer todos los
cambios entre el ltimo respaldo completo/diferencial y el ltimo log disponible. Los logs se respaldan con mucho
ms frecuencia que los otros tipos de respaldo (cada hora por ejemplo).
Plan de respaldo
Versin 1.0
Reproduccin prohibida
6.4.2
Pagina 18 / 23
Versin 1.0
Reproduccin prohibida
Pagina 19 / 23
7.2 Tareas
Una tarea es un conjunto de acciones a ejecutar. Las tareas se pueden programar en el tiempo para ejecutarse sin
presencia fsica de alguien.
7.3 Alertas
Son acciones que se ejecutan cuando se produce un cierto evento. Usualmente se usan para monitorear errores y
tomar acciones especficas para este error.
Versin 1.0
Reproduccin prohibida
Pagina 20 / 23
Versin 1.0
Reproduccin prohibida
Pagina 21 / 23
9.4 Indices
Los ndices permiten aumentar fantsticamente la velocidad de bsqueda de datos, pero tiene un pequeo costo a
nivel de escritura de datos, ya que hay que mantener el ndice ademas de las tablas.
Teniendo los ndices ubicados en un disco fsicamente diferente de los datos ayuda en aumentar la velocidad de
bsqueda como la velocidad de escritura, ya que reparte los IO en discos diferentes.
SQL Server viene con una herramienta de analisis de nidces, que se baza un archivo de traza del analizador, y
hace recomendaciones a nivel de indices.
9.5 Procedimientos
Los procedimientos pueden ayudar en mejorar el rendimiento ya que se ejecutan localmente y en lenguaje 'nativo'
del servidor.
Obligar el uso de procedimiento para recuperar datos permite evitar llamadas descontroladas al servidor.
9.6 Vistas
El uso de vistas para recuperar datos permite limitar llamadas descontroladas al servidor gracias a la consulta
'preparada' y ojala 'optimizada' de la vista, agregando todas o parte de datos de una o varias tablas ligadas.
Versin 1.0
Reproduccin prohibida
Pagina 22 / 23
10.2 Red
Debido a que los clientes se conectan va la red, un sobrecargo de uso de la red puede producir bajo rendimiento a
nivel de los clientes. Lo mismo si se conectan va Internet.
Una manera fcil de sospechar un problema de red es de abrir una conexin en el servidor mismo y compara el
rendimiento en el servidor con el rendimiento desde un cliente va la red.
Versin 1.0
Reproduccin prohibida
Pagina 23 / 23
11 Ejercicios
1) Comprobar diferencias en tiempo de ejecucin entre SELECT no_lab_test FROM [curso].[dbo].
[mtm_lab_presc2lab_test] y SELECT * FROM [curso].[dbo].[mtm_lab_presc2lab_test]
2) Comprobar diferencias en tiempo de ejecucin entre el uso de un clasula Where y sin
3) Comprobar diferencias en tiempo de ejecucin entre el uso de un clasula Where usando un ndice y sin
4) Comprobar diferencias en tiempo de ejecucin entre la importacin de una tabla grande (copia de
mtm_lab_presc2lab_test) en una tabla hospedada en un grupo de archivo con incremento de 10% y otra
con un incremento de 50 MB
5) Comprobar diferencias en tiempo de ejecucin entre la importacin de una tabla grande (copia de
mtm_lab_presc2lab_test) en una tabla sin ndice, y una tabla con muchos ndices
6) Comprobar diferencias en tiempo de ejecucin entre un update sobre una tabla grande (copia de
mtm_lab_presc2lab_test) que tiene un nidice sobre el campo modificado, y cuando no tiene.
7) Probar todos los tipo de consulta SQL que le vienen a la mente, y analyza en plan de ejecucin generado
por SQL Server para cada consulta
8) Corre las estadisticas sobre la base de datos.
9) Usar los diferentes comandos de DBCC.
10) Probar la herramienta de analisis de nidces
11) Usar el monitor de performacias de Windows, y el administrador de tareas.
12) Prueba los niveles de seguridad , usando los derechos a nivel de usuario, grupo, y rol. Verifica los que pasa
cuando se desnego un derecho en algun nivel de seguridad.
13) Haga respaldo de la base de datos. Luego trata de reponerla hasta un cierto punto en el pasado.
14) Disea un plan de respaldo en SQL Server y automatizalo
15) Abre el adminstrador de tareas y el monitor de performancias de Windows, y avergua lso que permiten ver.
16) Disea una base de datos que respecta al mximo la 3ra forma normal, y pueda contener la informacin
siguiente
Datos del cliente (nombre, apellido, tel, domicilio, etc...
Productos ms comprados por el cliente (productos preferidos del cliente)
Lista de productos
Invemtario
Ordenes de compras
Facturas de las compras
Versin 1.0
Reproduccin prohibida