Está en la página 1de 6

1

Implementacin de base de datos Base de Datos II Implementacin de base de datos


La gestin y la configuracin de SQL Server pueden hacerse de dos maneras: con Transact- SQL, interactivamente o por medio de un script, o con SQL Server Management Studio, con la interfaz grfica. En SQL Server 2008 existen tres tipos de bases de datos: Bases de datos OLTP (Online Transaction Processing), es decir, bases de datos que soportan transacciones de usuarios. Este es el tipo de base de datos que se encuentra en produccin. Sus principales caractersticas son que, a pesar de su gran volumen de datos y su elevado nmero de usuarios conectados, el tiempo de respuesta debe ser ptimo. Por suerte, los usuarios trabajan con transacciones cortas, y cada transaccin manipula una cantidad de datos reducida. Bases de datos OLAP (Online Analytical Processing), es decir, bases de datos que permiten almacenar un nmero mximo de datos para atender consultas de ayuda a la toma de decisiones. Bases de datos de tipo snapshot, que son duplicaciones ms o menos completas de la base de origen destinadas a acceder rpidamente a datos remotos. Administracin del espacio de almacenamiento. SQL Server utiliza una serie de archivos para almacenar el conjunto de la informacin relativa a una base de datos. Archivo primario Slo existe uno por base de datos, contiene la informacin de arranque de la base de datos y almacena las tablas del sistema. Este archivo lleva la extensin mdf. Archivos secundarios Una base de datos puede tener cero, uno o varios archivos secundarios. Se conforman con toda la informacin no contenida en el archivo primario y, generalmente se los utiliza cuando se particiona una base de datos entre varios discos. Los archivos secundarios llevan la extensin ndf. Archivos de registro Contienen toda la informacin necesaria para recuperar la informacin pendiente de confirmacion (COMMIT) en la base de datos. Estos archivos llevan la extensin ldf. Los grupos de archivos (FileGroups) Es posible especificar un grupo de archivos en lugar de los nombres de archivo. Estos grupos presentan la ventaja de equilibrar las cargas de trabajo sobre los diferentes discos del sistema. Los datos se escriben de forma equitativa en los distintos archivos del grupo. Permiten agrupar archivos en funcin de propsitos de la administracin o la distribucin fsica de ellos. Por ejemplo la base de datos VENTAS puede estar compuesta por los archivos Ventas2.ndf, Ventas3.ndf y Ventas4.ndf. estos archivos pueden estar ubicados en 3 discos distintos, pero agrupados bajo el grupo de archivos GVENTAS. Los archivos de datos Los archivos de datos pueden redimensionarse de forma dinmica o manual. En el momento de crear el archivo se debe especificar: NAME: Nombre lgico del archivo para manipularlo con el lenguaje Transact-SQL. FILENAME: Nombre fsico para precisar la ubicacin del archivo. SIZE: Un tamao inicial. MAXSIZE: Un tamao mximo. FILEGROWTH: Un paso de incremento.

1.

Prof.: Lin Rodrguez, Julio Csar

Pgina 1

2.

Administracin de los objetos DATABASE Una DATABASE contiene objetos tales como: El catlogo de bases de datos. Los objetos de usuario (tablas, valores por desencadenadores, procedimientos almacenados). Los ndices, los tipos de datos, las restricciones. El registro de transacciones.

defecto,

vistas,

reglas,

La persona que crea la base de datos debe disponer de derechos suficientes y se convierte en propietario de ella (dbo = database owner). SQL Server es capaz de administrar 32.767 bases de datos. a. Creacin de la base de datos Para crear una base de datos, es necesario estar conectado como administrador del sistema o tener el permiso para utilizar CREATE DATABASE y situarse en la base de datos de sistema MASTER. El nombre de la base de datos debe ser nico en una instancia SQL Server. Este nombre est limitado a 128 caracteres, respetando las reglas de construccin de identificadores. Sintaxis: CREATE DATABASE nombre [ ON [PRIMARY] [([ NAME = nombreLgico, ] FILENAME = `nombreFsico [, SIZE = tamao] [, MAXSIZE = { tamMAX | [, FILEGROWTH = valorIncremento] ) [ LOG ON { archivo } ] COLLATE nombre_intercalacin

UNLIMITED [, ]]

NAME: Nombre lgico del archivo. FILENAME: Ubicacin y nombre fsico del archivo. SIZE: Tamao inicial del archivo en megabytes (MB) o kilobytes (KB). El tamao predeterminado es de 1 megabyte. MAXSIZE: Tamao mximo del archivo indicado en kilobytes o megabytes (por defecto, megabytes). Si no se indica ningn valor, el tamao del archivo estar limitado por el espacio libre en disco. UNILIMITED: Sin tamao mximo: el lmite es el espacio libre en disco. FILEGROWTH: Precisa la tasa de incremento para el tamao del archivo, que no podr sobrepasar nunca el valor mximo. Este paso puede precisarse en porcentaje o de forma esttica, en kilobytes o megabytes. LOG ON Ubicacin del registro de transacciones. El registro de transacciones guarda las modificaciones realizadas sobre los datos. Por cada INSERT, UPDATE o DELETE, se efecta una escritura en el registro de las transacciones se consigna tambin en el registro. Este registro sirve para la recuperacin de los datos en caso de fallo. FOR ATTACH Para crear una base utilizando archivos ya creados. Esta peticin es til cuando la base se crea con ms de 16 archivos.

Prof.: Lin Rodrguez, Julio Csar

Pgina 2

Ejemplo Creacin de la base de datos BDSISTEMAS (5 MB) con el registro de transacciones (2 MB). CREATE DATABASE BDSISTEMAS ON PRIMARY ( NAME=BDSISTEMAS_DATA, -- Nombre Logico FILENAME='C:\DATA\BDSISTEMAS_DATA.MDF', -- Nombre Fisico SIZE=5MB, -- Tamao Inicial expresado en MB (Defecto) MAXSIZE=15MB, -- Maximo Tamao expresado en MB (Defecto) FILEGROWTH=1MB -- Valor de Incremento (Entero o %) ) LOG ON ( NAME=BDSISTEMAS_LOG, FILENAME='C:\DATA\BDSISTEMAS_LOG.LDF', SIZE=2MB, MAXSIZE=8MB, FILEGROWTH=1MB ) COLLATE Modern_Spanish_CI_AI go b. Modificacin de tamao Es posible aumentar o disminuir el tamao de los archivos de forma automtica o manual. Aumento del tamao Si se especifican una tasa de incremento (FILEGROWTH) y un tamao mximo en el momento de la creacin del archivo, el archivo cambiar de tamao en funcin de las necesidades. Es posible modificar manualmente el tamao, el tamao mximo y la tasa de aumento de un archivo de datos con la instruccin ALTER DATABASE. ALTER DATABASE nombre MODIFY FILE (NAME = nombreLgico [, SIZE = tamao] [, MAXSIZE = tamMAX] [FILEGROWTH = valorIncremento]) Ejemplo: Aumentar el tamao de un archivo existente: ALTER DATABASE BDSISTEMAS MODIFY FILE ( NAME=BDSISTEMAS_DATA, SIZE=10MB, MAXSIZE=50MB ) GO Tambin es posible aadir archivos. ALTER DATABASE nombre ADD FILE (NAME = nombreLgico FILENAME = `nombreFsico [, SIZE = tamao] [, MAXSIZE = {tamMAX | UNLIMITED}] [FILEGROWTH = valorIncremento])

Prof.: Lin Rodrguez, Julio Csar

Pgina 3

Ejemplo: Adicin de un segundo archivo a la base de datos BDSISTEMAS: ALTER DATABASE BDSISTEMAS ADD FILE ( NAME=BDSISTEMAS_DATA2, FILENAME='C:\DATA\BDSISTEMAS_DATA2.NDF', SIZE=5MB, MAXSIZE=25MB ) GO El comando ALTER DATABASE permite una accin mucho ms importante sobre la base de datos que la simple modificacin del tamao de los archivos. Tambin es posible aadir o eliminar archivos y grupos de archivos, cambiar el nombre de la base de datos, especificar el modo de finalizacin predeterminado de las transacciones en curso y cambiar la intercalacin de la base de datos. Ejemplo: Adicin de un Grupo de Archivos dentro del cual agregaremos un tercer archivo de datos secundario. ALTER DATABASE BDSISTEMAS ADD FILEGROUP GRUPO_SECUNDARIO GO ALTER DATABASE BDSISTEMAS ADD FILE ( NAME=SECUNDARIO_DATA, FILENAME='C:\DATA\SECUNDARIO_DATA.NDF', SIZE=5MB, MAXSIZE=25MB ) TO FILEGROUP GRUPO_SECUNDARIO GO

Disminucin del tamao


El tamao de los archivos puede disminuir de forma automtica si la opcin autoshrink se ha activado en la base de datos. Los comandos DBCC SHRINKFILE y DBCC SHRINKDATABASE permiten efectuar manualmente la disminucin de tamao. DBCC SHRINKFILE slo afecta a un archivo en particular mientras que DBCC SHRINKDATABASE afectara a todos los archivos de la base. Sintaxis: DBCC SHRINKFILE (nombre_archivo {[, nuevo_tamao ] | [, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}]}) DBCC SHRINKDATABASE (nombre_base [, nuevo_tamao%] [, {NOTRUNCATE | TRUNCATEONLY}]) DBCC SHRINKFILE Reduce el tamao del archivo de datos o del registro de transacciones para la base de datos especificada. DBCC SHRINKDATABASE Reduce el tamao de los archivos de datos en la base de datos especificada. nuevo_tamao: Indica el tamao deseado del archivo despus de la reduccin. nuevo_tamao%: Indica el porcentaje de espacio libre que deseamos obtener en el archivo de datos despus de la reduccin de la base.

Prof.: Lin Rodrguez, Julio Csar

Pgina 4

EMPTYFILE Permite solicitar al comando DBCC_SHRINKFILE que transfiera todos los datos presentes en ese archivo de datos a otro archivo del mismo grupo. Una vez vaco, el archivo podr eliminarse por medio de un comando ALTER DATABASE. NOTRUNCATE Reorganiza el archivo situando las pginas ocupadas en la parte superior del mismo, pero no disminuye su tamao. TRUNCATEONLY Corta el archivo sin hacer ninguna reorganizacin del archivo.

c.

Eliminacin de la base de datos El comando DROP DATABASE permite eliminar la base de datos. Los archivos fsicos tambin se suprimen. Sintaxis: DROP DATABASE nombreBase [ , nombreBase2, ..]

d.

Renombrar una base de datos Se puede renombrar una base de datos por medio de la instruccin ALTER DATABASE. Sintaxis: ALTER DATABASE nombreBase MODIFY NAME = nuevoNombreBase Tambin se puede renombrar los nombres lgicos de los archivos, utilizando: ALTER DATABASE nombreBase MODIFY FILE ( NAME = NombreLogicoArch, NEWNAME=NuevoNombreLogicoArch )

e.

Configuracin de una base de datos Se puede configurar una base de datos para fijar cierto nmero de opciones y as lograr que el comportamiento de la base de datos cubra las necesidades de los usuarios. Para ello se debe acceder a las opciones en cuestin a travs de la interfaz grfica de SQL Server Management Studio, seleccionar la base de datos y abriendo la ventana de propiedades con la tecla [F4]; tambin se puede hacer a travs del men contextual asociado a la base de datos, o bien por el men Ver Ventana propiedades en el men general de SQL Server Management Studio. Sintaxis: ALTER DATABASE SET opcin

Estado de la base de datos


Online: Permite hacer visible de nuevo la base de datos. Offline: Permite hacer inaccesible la base de dato, que queda detenida y cerrada correctamente. No es posible realizar operaciones de mantenimiento en una base de datos offline.

Prof.: Lin Rodrguez, Julio Csar

Pgina 5

Emergency: La base de datos est en modo de slo lectura, los registros estn deshabilitados y su acceso queda limitado a los administradores del servidor.

Acceso
SINGLE_USER: Acceso limitado a un solo usario. RESTRICTED_USER: Solo los miembros con funcin fija db_owner, dbcreator o sysadmin pueden conectarse a la base de datos.. MULTI_USER: Es el modo predeterminado, que permite que todos los usuarios con privilegios suficientes accedan a la informacin.

Operaciones posibles
READ_ONLY: La base de datos es accesible solamente para operaciones de lectura. READ_WRITE: La base de datos es accesible para operaciones de lectura/escritura.

Prof.: Lin Rodrguez, Julio Csar

Pgina 6

También podría gustarte