Sunteți pe pagina 1din 8

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server

Planificacin de una BD
Antes de hacer cualquier aplicacin que est relacionado a SQL Server, se deben de crear una o
ms base de datos. Para crear una BD es importante tener un plan definido para su
implementacin en el servidor, el cual puede incluir muchas caractersticas como estimacin en
tamao, ruta de los archivos de data y de log, nivel de tolerancia contra falla, cantidad de
tablas, etc.
La planificacin de una BD empieza conociendo el tipo de informacin que se desea almacenar,
por ejemplo: una base de datos cuyas operaciones sean de constantes cambios de su
informacin (OLTP), requiere ms espacio disponible que una cuyo objetivo sea ms frecuente
su lectura (OLAP).
Componentes
Componentes Fsicos

Archivo Primario de Datos: es por defecto el nico archivo de dato, y contiene las tablas del
sistema y la informacin de todos los objetos dentro de la base de datos. Se utiliza la
extensin mdf (Metadata Data File).

Archivos Secundarios de Datos: son archivos opcionales de datos que son agregados a una
BD para incrementar el rendimiento y otros beneficios administrativos. Se utiliza la
extensin ndf (Node Data File)
o

Grupo de Archivos (Filegroups): son contenedores lgicos que encapsula al menos el


archivo primario de dato, que permiten al administrador un mejor manejo de los
distintos objetos de la base de datos

Archivo de Log Transaccional: es un archivo que registra todas las alteraciones que se le
aplican a una base de datos, el cual es utilizado luego para propsito de recuperacin,
replicacin y reflejo. Se utiliza la extensin ldf (Log Data File)

Archivos de Respaldo: es el archivo que se genera durante el proceso de backup de una base
de datos. Se utiliza comnmente con la extensin bak.

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 1

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server


Mltiple Archivos

Separar en diferentes archivos tanto la data como el log, es una buena alternativa cuando se
trabaja con BD que tiende a crecer. Especialmente la temporal (tempdb), ya que esta es
utilizada por todas las base de datos de usuario para la creacin de los diferente objetos.
Una recomendacin de rendimiento para esta BD es crear un archivo fsico por cada ncleo del
procesador (si se tiene 2 procesadores Quad-core, se creara 8 arcvhivos, 2x4=8). Esto es para
evitar los inconvenientes de bloque entre las tareas del procesador al momento de lectura y
escritura de los discos, ya que la base de datos temporal aloja distintos objetos en memoria que
son requeridos por los distintos procesos del manejador.
Para las base de datos del usuario esto depender de otros factores como volumen de
crecimiento, cantidad de objetos, distribucin de los discos, manejo de archivos multimedios,
etc., y en este caso se utilizan los Filegroups para una mejora administracin.
Otra ventaja del uso de mltiple archivos es cuando la base de datos posee un tamao
sustancial que incrementa en tiempo las tareas de mantenimiento, respaldo, lectura, escritura,
etc. Ej., es ms ptimo trabajar con 4 discos de 25 gb para una BD cuyo tamao sea de 100 gb.
El tener esta separacin tambin es til para proceso de migracin, respaldo y distribucin a
diferente discos y es recomendable que estos archivos no estn ubicado en el mismo del SO o de
los archivos de programas.
A diferencia de los archivos de datos, el archivo de log recibe escritura de manera secuencial,
por lo que no es muy prudente separarlo en diferentes archivos. Si se dedica un disco exclusivo
para este archivo ingresa el rendimiento la salida.

Capacidad y Tamao
El tamao de una BD depender de los tipos de datos que almacenar (data) y la cantidad de
modificaciones que recibir (log). Como buena prctica se debe de indicar tanto espacio como
sea posible, para evitar costo de rendimiento con el auto crecimiento. Tambin se debe de
colocar los archivos de la BD en disco con alto rendimiento de lectura y escritura.
SQL Server 2008 posee una opcin, a nivel de la base de datos, que permite su auto
crecimiento, el cual puede ser expresado en tamao o en porcentaje. El auto crecimiento se
ejecuta cuando la BD ha llegado al tamao mximo configurado originalmente, y en este caso
se genera un incremento de su tamao deteniendo la actividad del manejador, es por esto que
la mejor alternativa es evitar que una BD se mantenga creciendo frecuentemente, sino que se
disea desde el principio con un tamao manejable. El factor de crecimiento debe de
configurarse de acuerdo al crecimiento que proyecte la base de datos.

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 2

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server


Grupo de Archivos (Filegroups
(Filegroups)
Los Filegroups se utilizan para una mejora administracin y rendimiento de las tareas, con los
cuales se pueden agrupar diferentes archivos los objetos de la base de datos (tablas, ndices,
vistas).
-

Permite proceso de entrada y salida de tablas o ndices grandes, a discos especficos.

Permite realizar respaldo por separado de estos objetos.

Se pueden separar data de slo lectura del resto de la base de datos

Cada BD posee un filegroup primario, el cual contiene todo los datos a los que no se le haya
especificado un filegroup diferente (definido por el usuario). Algunas recomendaciones para
trabajar con los filegroups son:
o

Las mayoras de las base de datos trabajan bien con slo un filegroup. Se debe
asegurar que la creacin de otros sea razonable.

Definir apropiadamente el tamao de los filegroups.

Crear los filegroups en diferentes discos, para generar un mejor rendimiento.

Separar las tablas y los ndices en diferentes filegroups para optimizar mejor las
consultas.

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 3

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server

Creacin de una BD

En esta ventana se define lo siguiente:


- Name (Nombre)
(Nombre):
ombre) nombre de la base de datos (mximo 128 caracteres). Se recomienda
utilizar nombres cortos y descriptivos, que empiecen con una letra o underscore (_), y que
no tengan caracteres especiales o espacio en su contenido.
-

Owner (Dueo):
(Dueo) usuario dueo que tendr el control total de su estructura. Por defecto
tomar el login de quien est conectado en ese momento, y se recomienda siempre colocar el
superadministrador (sa).

Database Files (Archivos de BD):


BD) se crean por defectos, con el nombre de la base de datos,
los archivos de datos (data files) y de log (log files agregando al final _log). Se pueden crear
independientemente ms archivos tanto de datos como de log.

Logial Name (Nombre Lgico): indica el nombre lgico del archivo a crear.

File Type (Tipo de Datos): indica si el archivo es de dato o de log.

Filegroup
Filegroup (Grupo de Archivos): indica en que grupo virtual estar ubicado el archivo.

Initial Size MB (Tamao Inicial): indica el valor del tamao de la BD. Se trata de estimar
su tamao dentro de varios meses de operacin.

Autogrowth (Auto crecimiento): indica el tipo y la frecuencia en que puede crecer una BD, y
si tiene restricciones de crecimiento.

Path (Ruta): Indica la ruta fsica donde se almacenarn los archivos de las BD.

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 4

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server


Creacin de Filegroups

En esta ventana se asigna el nombre del filegroup que se pudiera a utilizar con algunos
archivos. Se puede indicar si ser de slo lectura, y si ser el utilizado como Default.

Creacin de una BD a travs de TT- SQL


CREATE DATABASE [SALES] ON PRIMARY
( NAME = 'Sales',
FILENAME = 'E:\SQL Data\MSSQL10.SALES\MSSQL\DATA\SalesDb.mdf',
SIZE = 51200KB,
FILEGROWTH = 1024KB
),
FILEGROUP [POS]
( NAME = 'Sales1',
FILENAME = 'E:\SQL Data\MSSQL10.SALES\MSSQL\DATA\SalesDb1.ndf',
SIZE = 50MB,
FILEGROWTH = 1MB
),
( NAME = 'Sales2',
FILENAME = 'E:\SQL Data\MSSQL10.SALES\MSSQL\DATA\SalesDb2.ndf',
SIZE = 50MB,
FILEGROWTH = 1MB
),
FILEGROUP [ARCHIVE]
( NAME = 'Sales3',
FILENAME = 'E:\SQL Data\MSSQL10.SALES\MSSQL\DATA\SalesDb3.ndf',
SIZE = 51200KB,
FILEGROWTH = 5%
)
LOG ON
( NAME = N'SalesLog',
FILENAME = 'F:\SQL Log\SalesDbLog.ldf',
SIZE = 51200KB,
FILEGROWTH = 10%
)
GO

Colocando por defecto el grupo de archive POS, evita que se almacenen los nuevos objetos en el
archivo de grupo primario, al menos que se indique explcitamente lo contrario.
ALTER DATABASE [SALES] MODIFY FILEGROUP [POS] DEFAULT
GO

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 5

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server

Configuracin de una BD
Collation (Juego de Caracteres)
El concepto Collation hace referencia al patrn de bits utilizado para representar/almacenar
cada carcter, y en consecuencia tambin se refiere a las reglas utilizadas para ordenar y
comparar caracteres. Evidentemente, se trata de un concepto que afecta slo a los campos de
texto.
Aunque el Collation de todas las bases de datos del sistema debe ser la misma, en cada base de
datos de usuario puede ser diferente, es decir, podemos tener una base de datos utilizando un
Collection diferente por requisitos de la aplicacin que la utiliza, y otra base de datos de la
misma Instancia de SQL Server, utilizando otra
Los estilos de comparacin permiten definir el comportamiento frente a
maysculas/minsculas, acentos, y otras opciones. Por ejemplo:
_CS CaseCase-Sensitive indica que se distingue entre maysculas y minsculas.
_CI CaseCase-Insensitive no se diferencian las maysculas de las minsculas.
_AS AccentAccent-Sensitive sensible a los acentos.
_AI AccentAccent-Sensitive no se diferencian las letras acentuadas de las no acentuadas.
Modern_Spanish y Latin1_General utilizan los dos la pgina de cdigos 1252 (para caracteres
latinos), pero en Modern_Spanish la y la n son letras diferentes mientras que en
Latin1_General la es una n acentuada.

Modo de Recuperacin
Cada BD tiene un modelo de recuperacin, el cual determina si el log transaccional acumular
todos los cambios realizados a la base de datos, o slo una cantidad especfica, con el propsito
de recuperacin ante cualquier evento de fallo. Algunas preguntas a considerar son:
Existen 3 modelos de recuperacin:
1) Full Recovery: Acumula todos los cambios que se realizan en las base de datos. Se
recomienda hacer respaldo del log transaccional para conservar estos cambios, o de lo
contrario este puede incrementar su tamao hasta que ocupe el lmite de espacio
disponible.
2) Simple Recovery: Acumula cierta cantidad de cambios, suficiente para recuperar una base
de datos en caso de fallo. Peridicamente se trunca su contenido para liberar espacio en
disco, y no es necesario realizar respaldo del log transaccional. Es apropiado para BD que
pueden ser recuperada de otra fuente.
3) Bulk-Logged Recovery: Similar al Full Recovery, pero aqu cierta informacin sobre
operaciones masiva se escriben en el Log Operacional.
Ej: BCP, BULK INSERT, SELECT..INTO, CREATE INDEX, ALTER INDEX.

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 6

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server

Modificacin a una BD
A una base de datos ya creada se le puede modificar algunos de sus atributos mediante la
misma herramienta de interfaz grfica (accediendo por Propiedades) o a travs de sentencias
en Transact-SQL.
Entre las opciones ms comunes a modificar estn:
-

Colocar una BD ONLINE (En Lnea) o OFFLINE (Fuera de Lnea): se puede lograr a
travs del men de propiedades:
Propiedades\Task\Take Offline [Online].
O mediante la sentencia SQL:
ALTER DATABASE nombreBD SET [OFFLINE | ONLINE]

Cambiando la Ubicacin de los Archivos Fsicos: a travs de la interfaz grfica accediendo


por Propiedades.
O mediante las siguientes sentencias SQL:
 Primero colocarla en modo OFFLINE
ALTER DATABASE nombreBD SET OFFLINE
 Luego por cada archivo mover a la nueva ubicacin
ALTER DATABASE nombreBD
MODIFY FILE (
NAME = logical_name, FILENAME = 'X:\Path\File.Name')
 Mover fsicamente (mediante el SO) los archivos al nuevo destino
 Por ltimo colocarla de nuevo en modo ONLINE
ALTER DATABASE nombreBD SET ONLINE

Asociar o Desligar una BD: es para mover o copiar base de datos entre instancias y
servidores, sin tener que borrar los archivos de datas y el log asociado. A travs de:
 para desligar (en la rama de la BD en cuestin)
Propiedades\Task\Detach
O mediante las siguientes sentencias SQL:
Sp_detach_db nombreBD
 para Asociar (en la rama principal de Database)
Attach
O mediante las siguientes sentencias SQL:
CREATE DATABASE nombreBD
ON (FILENAME = 'X:\Path\File.name') FOR ATTACH
O
Sp_attach_db nombreBD, 'X:\Path\File.name'

Agregando Filegroup: a travs de la interfaz grfica accediendo por Propiedades


O mediante las siguientes sentencias SQL:
ALTER DATABASE nombreBD
ADD FILEGROUP logical_name

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 7

Mdulo: Manejo y Administracin de Base de Datos

Tema 2: Manejo de BD en SQL Server


-

Agregando Archivos al Filegroup: a travs de la interfaz grfica accediendo por Propiedades


O mediante las siguientes sentencias SQL:
ALTER DATABASE nombreBD
ADD FILE (NAME = logical_name, FILENAME = X:\Path\File.Name')
TO FILEGROUP logical_name

Removiendo Filegroup: a travs de la interfaz grfica accediendo por Propiedades, se deben


de eliminar o mover primero los archivos que estn contenido en el mismo
O mediante las siguientes sentencias SQL:
ALTER DATABASE nombreBD
REMOVE FILE logical_name
GO
ALTER DATABASE nombreBD
REMOVE FILEGROUP logical_name

Aumentando el tamao de una BD: a travs de la interfaz grfica accediendo por


Propiedades.
O mediante las siguientes sentencias SQL:
ALTER DATABASE nombreBD
MODIFY FILE (NAME = logical_name, SIZE = nuevovalor)

Reduciendo el tamao de una BD: : a travs de la interfaz grfica accediendo por


Propiedades\Task\Shrink [Database | File]
Cuando se selecciona un archivo se puede indicar:
Release unused space (Libara el espacio sin usar). Equivalente a
DBCC SHRINKDATABASE (nombreBD, TRUNCATEONLY)
-- Slo aplica a archivo de DATOS
Reorganize pages before releaseing unused space (Organiza los archivos de datos antes
de liberar el espacio. Se puede indicar el tamao deseado). Equivalente a
DBCC SHRINKFILE (nombrearchivo, 10)
Empty file (Transfiere los datos de una archivo a otro del mismo grupo). Equivalente a
DBCC SHRINKFILE (nombrearchivo, EMPTYFILE)

Modificar Tipo de recuperacin una BD: se puede lograr a travs del men de propiedades:
O mediante la sentencia SQL:
ALTER DATABASE databasename
SET RECOVERY { SIMPLE | FULL | BULK_LOGGED }

Eliminando una BD: se puede lograr a travs del men de propiedades:


Propiedades\Delete
O mediante la sentencia SQL:
DROP DATABASE nombreBD

Universidad Autnoma de Santo Domingo (UASD), Febrero - 2012


Lic. Jhonny Liriano Batista, MCP, PAS

Pgina 8

S-ar putea să vă placă și