Está en la página 1de 23

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

SolucionJava.com

Manual del alumno

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

Curso de administracin y sintonizacin de Microsoft SQL Server

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

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 3 / 23

4.3Opciones y impacto a nivel del rendimiento del sistema...................................................................................................13


4.3.1Tablas..............................................................................................................................................................................13
4.3.1.1Tipos de datos de SQL Server Data Types..............................................................................................................13
4.3.2Indices.............................................................................................................................................................................14
4.3.3Estadsticas......................................................................................................................................................................14
5MANEJO DE USUSARIOS Y SEGURIDAD DEL SERVIDOR................................................................................................15
5.1Autentificar............................................................................................................................................................................15
5.2Usuarios .................................................................................................................................................................................15
5.3Grupos y roles........................................................................................................................................................................15
5.4Permisos.................................................................................................................................................................................15
5.4.1Permisos a nivel de sistema.............................................................................................................................................15
5.4.1.1Roles de sistema......................................................................................................................................................15
5.4.2Permisos a nivel de base de datos...................................................................................................................................15
5.4.2.1Roles de base de datos.............................................................................................................................................15
5.4.3Otros mtodos de restriccin de acceso..........................................................................................................................16
5.4.4Precedencia de derechos..................................................................................................................................................16
6RESPALDO Y REPOSICIN......................................................................................................................................................17
6.1Tipos de respaldos.................................................................................................................................................................17
6.1.1Respaldo completo..........................................................................................................................................................17
6.1.2Respaldo diferencial........................................................................................................................................................17
6.1.3Log de transacciones.......................................................................................................................................................17
6.2Medios de grabacin de respaldo........................................................................................................................................17
6.3Tipos de reposicin................................................................................................................................................................17
6.4Planes de contigencia............................................................................................................................................................17
6.4.1Plan de respaldo..............................................................................................................................................................17
6.4.2Retencin de datos de respaldo.......................................................................................................................................18
7AUTOMATIZACIN DE TAREAS EN EL SERVIDOR...........................................................................................................19
7.1Operadores............................................................................................................................................................................19
7.2Tareas.....................................................................................................................................................................................19
7.3Alertas ...................................................................................................................................................................................19
7.4Planes de mantenimientos....................................................................................................................................................19
7.5SQL Mail................................................................................................................................................................................19
8SINTONIZACIN FSICA DE LA BASE DE DATOS..............................................................................................................20
8.1Monitoreo del disco...............................................................................................................................................................20
8.2Monitoreo de la memoria.....................................................................................................................................................20
8.3Monitoreo del CPU...............................................................................................................................................................20
8.4Fragmentacin de los archivos.............................................................................................................................................20
9SINTONIZACIN LGICA DE LA BASE DE DATOS............................................................................................................21
9.1Monitoreo de la carga y de las consultas SQL....................................................................................................................21
9.2Sintonizacin de consultas SQL...........................................................................................................................................21
9.3Diseo lgico normalizado....................................................................................................................................................21
9.4Indices....................................................................................................................................................................................21
9.5Procedimientos......................................................................................................................................................................21
9.6Vistas......................................................................................................................................................................................21
10SINTONIZACIN EXTERNA A LA BASE DE DATOS.........................................................................................................22
10.1Servidor compartido...........................................................................................................................................................22
Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 4 / 23

10.2Red........................................................................................................................................................................................22
11Ejercicios......................................................................................................................................................................................23

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

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.

1.2 Manual del alumno


Este manual del alumno es una ayuda para el alumno, para tenga un recuerdo del curso. Este manual contiene un
resumen de las materias que se van a estudiar durante el curso, pero el alumno debera de tomar notas personales
para completas este manual.

1.3 Ejercicios prcticos


Para demostrar y captar mejor la teora, se harn muchos ejercicios con los alumnos.

1.4 Requisitos para atender a este curso


Se requiere un conocimiento de base del lenguaje SQL.
Si el alumno tiene dificultades en un u otro capitulo, el debe sentirse libre de pedir explicaciones adicionales al
profesor.

1.5 Soporte despus del curso


Si tienes preguntas sobre la materia del curso en tus ejercicios prcticos, puedes escribir tus preguntas a
cedric@solucionjava.com.
Para informaciones sobre otros cursos, visita el sitio web www.solucionjava.com.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 6 / 23

2 Instalacin del servidor


2.1 Planificacin
La planificacin permite escoger las opciones correctas al momento de correr el instalador de la base de datos.
2.1.1

Requisitos materiales

Los requisitos materiales dependen de la versin exacta de SQL Server que quieres instalar.
2.1.1.1

Para SQL Server 2000:

Recurso

Requerimiento

Computadora

Intel or compatible

CPU

Pentium 166 o arriba

Entorno grfico

800x600 para usar la herramientas grficas


640 x 480 si no se usan las herramientas grficas

Dispositivo de
puntero

Ratn Microsoft o compatible

Tarjeta de red

Opcional (pero requerido para acceso via la red)

CD-ROM

Requerido si se usa el CD para instalar (si no, opcional)

Tambien se requiere que Internet Explorer 5 o arriba este disponible.


2.1.1.2

Para SQL Server 2005:

Recurso

Requerimiento

Computadora

Intel or compatible. 32 o 64 bits

CPU

Procesador de 500 megahertz (MHz) o superior (se recomienda 1


gigahertz o superior)

Entorno grfico

800x600 para usar la herramientas grficas


640 x 480 si no se usan las herramientas grficas

Dispositivo de
puntero

Ratn Microsoft o compatible

Tarjeta de red

Opcional (pero requerido para acceso via la red)

CD-ROM

Requerido si se usa el CD para instalar (si no, opcional)

2.1.1.3

Para SQL Server 2008:

Recurso

Requerimiento

Computadora

Pentium II o arriba

CPU

Procesador de 1 gigahertz (GHz) o superior (se recomienda 2


gigahertz o superior)

Entorno grfico

1024 x 768 para usar la herramientas grficas


640 x 480 si no se usan las herramientas grficas

Dispositivo de
puntero

Ratn Microsoft o compatible

Tarjeta de red

Opcional (pero requerido para acceso via la red)

CD-ROM

Requerido si se usa el CD para instalar (si no, opcional)

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

2.1.2

Pagina 7 / 23

Requisitos de software

2.1.2.1 SQL Server 2000


SQL Server 2000 requiere que Internet Explorer 5 o arriba este disponible.
2.1.2.2 SQL Server 2005
El programa de instalacin de SQL Server 2005 requiere Microsoft Windows Installer 3.1 o posterior y el SP1 de
Microsoft Data Access Components (MDAC) 2.8 o posterior. Puede descargar SP1 de MDAC 2.8 de este sitio Web
de Microsoft.
Antes de instalar SQL Server 2005 Express Edition, debe descargar e instalar .NET Framework 2.0
Se requiere el SP1 de Microsoft Internet Explorer 6.0 o posterior para SQL Server 2005 Management Studio,
Business Intelligence Development Studio y el componente Diseador de informes de Reporting Services.
2.1.2.3 SQL Server 2008
El programa de instalacin de SQL Server requiere Microsoft Windows Installer 3.1 o una versin posterior, y
Microsoft Data Access Components (MDAC) 2.8 SP1 o una versin posterior.
2.1.3
2.1.3.1

Requisitos de sistema operativo


SQL Server 2005

Versin de SQL Server

Versin de Windows

SQL Server 2005 Enterprise Edition y Standard Edition

Windows Server 2003, Standard Edition1


Windows Server 2003, Enterprise Edition2
Windows Server 2003, Datacenter Edition3
Windows Small Business Server 2003 Standard Edition
Windows Small Business Server 2003 Premium Edition
Windows 2000 Server*
Windows 2000 Advanced Server*
Windows 2000 Datacenter Server*

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

Los de antes indicados ms:


Windows XP Home Edition**
Windows Server 2003 Web Edition4 (Express
nicamente)

* requiere la aplicacin de Windows 2000 SP4 o posterior


** requiere la aplicacin de Windows XP SP2 o posterior
Para Windows SQL Server 2005 64 bits: ver en http://www.microsoft.com/spain/sql/productinfo/sysreqs/default.mspx
2.1.3.2 SQL Server 2008
SQL Server 2008 32 bits se puede instalar bajos los OS siguientes:
Windows Vista Ultimate Edition
Windows Vista Home Premium Edition
Windows Vista Home Basic Edition
Windows Vista Enterprise Edition
Windows Vista Business Edition
Windows Vista 64-bit x64 Ultimate Edition3
Windows Vista 64-bit x64 Home Premium Edition3
Windows Vista 64-bit x64 Home Basic Edition3
Windows Vista 64-bit x64 Enterprise Edition3
Windows Vista 64-bit x64 Business Edition3
Windows Server 2008 Standard Edition RC0 o una versin posterior5
Windows Server 2008 Data Center Edition RC0 o una versin posterior5
Windows Server 2008 Enterprise Edition RC0 o una versin posterior5
Windows Server 2008 64-bit x64 Standard Edition RC0 o una versin posterior3,5
Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

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

256 MB (128 256 MB (128


256 MB (128 MB
MB
MB
supported)
supported)
supported)

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

2.1.4.2 SQL Server 2005 32 bits


Enterprise Edition: se recomienda 512 megabytes (MB) 1 gigabyte (GB) o ms
Standard Edition: 512 MB (se recomienda 1 GB o ms)
Workgroup Edition: 512 MB (se recomienda 1 GB o ms; 3 GB como mximo)
Evaluation Edition: 512 MB (se recomienda 1 GB o ms)
Developer Edition: 512 MB (se recomienda 1 GB o ms)
Express Edition: 512 MB (se recomienda 512 MB o ms; 1 GB como mximo)
Puede necesitarse memoria adicional, segn los requisitos del sistema operativo.
2.1.4.3 SQL Server 2008
Se requiere un mnimo de 512 MB de memoria, pero se aconseja tener 1 GB o ms disponible.
2.1.5

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 9 / 23

2.1.5.1 SQL Server 2000


Requisitos mnimos para SQL Server 2000:
Opcin de instalacin
Espacio de disco duro necesario
Servidor y clientes

95-270 MB depending on the installation options selected

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

113 MB (system drive only)

Libro en lnea

30 MB (system drive only)

Servicios de anlisis

47 MB minimum 120 MB typical

English Query

80 MB

Solo el motor de escritorio

44 MB

2.1.5.2 SQL Server 2005


SQL Server 2005 requiere:
350 MB de espacio disponible en el disco duro para la instalacin completa.
390 MB para bases de datos de muestra.
2.1.6

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

Determinar el modo de autenticarse

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

Intercalacin: determinar el juego de caracteres

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

Seleccionar la librera de red

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).

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

2.1.10

Pagina 10 / 23

Decidir del modo de licencias clientes

Depende de si compraron licencias por cliente o por CPU.

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).

2.3 Mltiples instancias


Es posible de utilizar varias instancias (copias) de SQL Server en una misma computadora.
Cada instancia de SQL Server actuar como un servidor aparte, sin compartir datos entre instancias.
En la instalacin, se le pide de utilizar la instancia por defecto, o una instancia nombrad. Solo puede haber una
instancia por defecto, pero pueden haber cero a varias instancias nombradas.
Hay que notar que usar mltiples instancias de SQL server aumenta la tarea de administracin y aumenta la
cantidad de recursos necesarios en el servidor.
Por lo general una versin de SQL Server puede

2.4 Otras informaciones tiles


Microsoft edita libros en pantalla con toda la informacin til para planificar, instalar y manejar SQL Server
200/2005/2008.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 11 / 23

3 Creacin de bases de datos


3.1 Bases de datos del sistema
Son las bases de datos creadas al instalar SQL Server y que son necesarias para que pueda correr el servidor.
3.1.1

La base de datos master

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

La base de datos model

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

La base de datos msdb

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

La base de datos tempdb

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.2 Bases de datos de usuarios


Son las bases de datos que contienen los datos de su aplicacin. Es ah que se van a almacenar sus datos propios.
Al instalar SQL Server se pueden instalar bases de datos de usuario de muestra, como Northwind o pubs, que
pueden servir de prueba.

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

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.

4.3 Opciones y impacto a nivel del rendimiento del sistema


4.3.1

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

datetime (3.33 milliseconds accuracy)

Jan 1, 1753

Dec 31, 9999

smalldatetime (1 minute accuracy)

Jan 1, 1900

Jun 6, 2079

Cadena de caracteres
Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 14 / 23

Type

Description

char

Fixed-length non-Unicode character data with a maximum length of 8,000 characters.

varchar

Variable-length non-Unicode data with a maximum of 8,000 characters.

varchar(max) Variable-length non-Unicode data with a maximum length of 231 characters (SQL Server 2005 only).
text

Variable-length non-Unicode data with a maximum length of 2,147,483,647 characters.

Cadena de caracteres Unicode


Type

Description

nchar

Fixed-length Unicode data with a maximum length of 4,000 characters.

nvarchar

Variable-length Unicode data with a maximum length of 4,000 characters.

nvarchar(max) Variable-length Unicode data with a maximum length of 230 characters (SQL Server 2005 only).
ntext

Variable-length Unicode data with a maximum length of 1,073,741,823 characters.

Cadenas Binarias
Type

Description

binary

Fixed-length binary data with a maximum length of 8,000 bytes.

varbinary

Variable-length binary data with a maximum length of 8,000 bytes.

varbinary(max) Variable-length binary data with a maximum length of 231 bytes (SQL Server 2005 only).
image

Variable-length binary data with a maximum length of 2,147,483,647 bytes.

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 15 / 23

5 Manejo de ususarios y seguridad del


servidor
5.1 Autentificar
La autentificacin funciona recuperando el usuario autenticado por Windows (automtico), o el usuario SQL (ingreso
de usuario y clave).

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.3 Grupos y roles


Un grupo es un conjunto de usuarios, a quien se pueden otorgar una serie de derechos de una sola vez. Un usuario
puede pertenecer a varios grupos, y un grupo puede tener varios usuarios.
Un grupo se maneja como un usuario autenticado por Windows.
Existen tambin los roles que son conjuntos de derechos, que son detallados en el punto siguiente.

5.4 Permisos
5.4.1

Permisos a nivel de sistema

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

Permisos a nivel de base de datos

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

5.4.3

Pagina 16 / 23

Otros mtodos de restriccin de acceso

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

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).

6.2 Medios de grabacin de respaldo


Los respaldos se pueden guardar en disco, en Tape, o en un PC remoto (conexin named pipe).

6.3 Tipos de reposicin


La reposicin puede ser completa o hasta un cierto punto en el pasado, dependiendo de los archivos de respaldo
disponible.
Un respaldo parcial puede servir a refrescar un ambiente de prueba con una copia de produccin (reposicin de un
respaldo completo), o reponer la produccin hasta antes de una mala manipulacin (respaldo completo + diferencial
+ logs).

6.4 Planes de contigencia


6.4.1

Plan de respaldo

La frecuencia de los respaldos depende de la actividad en la base de datos, y de la importancia de la prdida de


datos (cuanto tiempo se puede perder de datos?).
Un ejemplo de plan de contingencia podra ser lo siguiente:
1) Cada domingo a media noche, respaldo completo de todas las bases de datos de usuario + master + msdb
+ logs.
2) Cada dia a media noche (excepto el domingo): respaldo completo de master + diferencial de las base de
datos de usuario y msdb + logs
3) Cada 6 horas (menos media noche): respaldo diferencial de las bases de datos de usuarios + transaction
logs
4) Cada hora: transacion logs
Las bases de datos master y msdb son crticas para poder recuperar un sistema funcional ya que contienen
informaciones como las bases de datos de usuarios disponibles, las cuentas de usuarios, la configuracin del
servidor, el histrico de los respaldos, los trabajos programados,...
Despus de crear una nueva base de datos o agregar o re ubicar archivos de una base de datos, hay que respalda
Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

6.4.2

Pagina 18 / 23

Retencin de datos de respaldo

Depende de las necesidades del negocio y de las polticas de auditoria.


Es importante tambin guardar regularmente copias de respaldo en un lugar lejano del servidor (otra sucursal, en
caja en el banco,...) para sobrevivir un desastre local (incendio, terremoto,...).
Un buen intermedio podra ser guardar:
el primer respaldo completo (domingo) mensual durante 1 ao, guardado fuera del sitio
los dos ltimos respaldos semanales, guardado fuera del sitio
los 7 ltimos respaldos diarios
los 4 ltimos respaldos de 6h
los 24 ltimos respaldos horario de logs
Es tambin buen costumbre de mantener un libro donde se anotan todos los respaldos (diarios), con la fecha, la
hora, y quien verifico que se hizo (o no) el respaldo esperado.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 19 / 23

7 Automatizacin de tareas en el servidor


7.1 Operadores
Un operador es una cuenta que ha sido identificada para recibir emails o notificaciones. Los operadores son
usualmente notificados solamente cuando dispara una alarma.

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.

7.4 Planes de mantenimientos


Son conjuntos de acciones que se pueden programar en el tiempo, con el objetivo de darle mantenimiento al
servidor, verificado integridad de base de datos, haciendo respaldo, etc...
Son como tareas que se pueden programar con un interface grfico pre diseado.

7.5 SQL Mail


Es el componente que permite a SQL Server enviar emails a los operadores para notificarles. Funciona con una
conexin MAPI, usando por ejemplo una cuenta de usuario en Microsoft Exchange.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 20 / 23

8 Sintonizacin fsica de la base de datos


El monitoreo de los aspectos fsicos se hace usando herramientas a nivel del sistema operativo.
Un monitor rpido para ver el uso corriente de recursos en el sistema es el administrador de tareas de Windows.
El otro monitor que provee Windows es el monitor de performancias, que se llama teclando perfmon desde la lnea
de comando. Ver detalles en:
http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/reskit/part6/proch30.mspx?mfr=true

8.1 Monitoreo del disco


El disco es casi siempre el punto crtico de un servidor de base de datos.
Si se pueden agregar fcilmente memoria, o multiplicar los CPU's disponibles, los discos estn limitados por su
numero de revoluciones por minutos (RMP).
Lo comn es 7,200 RMP, los discos de velocidad superior (pero ms caros) tienen 10,000 o 15,000 RPM.
Se pueden usar sistema RAID para mejorar el rendimiento y dar tolerancia a fallos, pero no es suficiente si el resto
del diseo no est enfocado en disminuir y repartir al mximo el uso de los discos.
Para disminuir el uso de los discos, hay que escribir consultas lo ms especificas posible (filtrando) y asegurarse
que los ndices se usan siempre cuando es necesario. Se puede tambin guardar datos frecuentes en memoria a
nivel del cliente o de la aplicacin, dependiendo del sistema que se conecta al servidor.
Para repartir el uso de los discos, hay que tratar de que las tablas, los indices, los logs, y el sistema operativo
tengan sus archivos en discos fsicamente diferente. Eventualmente, las bases de datos o tablas ms utilizadas se
pueden repartir tambin en discos diferentes.

8.2 Monitoreo de la memoria


SQL Serve usa memoria para mejorar el rendimiento y en tiempo de respuesta.
Aumentando la memoria es una manera fcil y rpida de mejorar el rendimiento, hasta un cierto punto.

8.3 Monitoreo del CPU


SQL Server tiene la posibilidad de utilizar ms de 1 CPU para su trabajo.
Es posible definir a nivel del servidor (si tiene ms de 1 CPU) cuantos CPU se pueden utilizar para la base d datos.

8.4 Fragmentacin de los archivos


SQL Server permite detectar fragmentacin de indices usando el comando : DBCC SHOWCONTIG
(nombre_de_tabla) WITH ALL_INDEXES
Para defragmentar indices, existen dos comandos: DBCC INDEXDEFRAG (base_de_datos, tabla, indice) y DBCC
REINDEX (tabla, indice). La diferencia entre los dos es que REINDEX agara un bloqueo, y por eso es ms rpido.
DBCC REINDEX (tabla) reconstruye todos los indices de una tabla.
Ver en la documentacin de SQL Server los otros comando de DBCC que pueden ayudar en el mantenimiento del
servidor.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 21 / 23

9 Sintonizacin lgica de la base de datos


9.1 Monitoreo de la carga y de las consultas SQL
SQL Server tiene una herramienta que se llama Analizador (Profiler) que permite registrar las consultas SQL que se
hacen a nivel de un servidor. Para evitar de monitorear todas las consultas se pueden usar filtros de consultas.
La analisis del archivo generdo permitir detectar consultas SQL que afectan el rendimiento.

9.2 Sintonizacin de consultas SQL


Para sintonizar una consulta, hay que pasarla por el analizador de consulta y asegurarse que SQL Sever escoje el
mejor camino para recuperar los datos, y usa los indices adecuados. Si faltan indices, hay que ver si es necesario
mandarlos a crear.

9.3 Diseo lgico normalizado


Es muy importante tener un diseo de base de datos normalizado en 3ra forma normal... con las
desnormalizaciones necesarias... ;-)
Si por lo general se ganan en rendimiento normalizando el esquema de la base de datos, en ciertos casos muy
especficos, puede ser necesario desnormalizar una parte del esquema repitiendo un campo en diferentes tablas.

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

Pagina 22 / 23

10 Sintonizacin externa a la base de datos


10.1 Servidor compartido
Si el servidor en el cual est hospedado la base de datos tambin hospeda otros tipos de aplicaciones, y/o sirve con
otros fines (servidor de archivos, de mail, ...) hay que investigar el uso de los recursos fsicos y averiguar cuales
componentes producen el exceso de uso, ya que podra ser otro componente que la SQL Server que produce bajo
rendimiento.

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.

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

Curso de administracin y sintonizacin de Microsoft SQL Server

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

Copyright Cdric Simon, 2008

Versin 1.0

Reproduccin prohibida

También podría gustarte