Colaboraciones en el Guille

Administrando archivos y grupo de archivos de una base de datos SQL Server™

 
Fecha: 16/Nov/2005 (14-11-05)
Autor: Percy Reyes Paredes - [email protected]

          percy's blog               percy's artículos Microsoft .NET Y SQL Server

Introducción

Los contenidos de este artículo tratarán conceptos importantes acerca de la administración de archivos y grupo de archivos de una base de datos que le ayudarán a llevar acabo con éxito todo el proceso de ciclo de vida de una base de datos. Pues bien, para administrar una base de datos, esta debe crearse teniendo en cuenta aspectos sumamente importantes si es que se quiere ver resultados favorables en cuanto a tiempo de respuesta en las operaciones que se ejecuten en el servidor.

Archivos de la Base de Datos

Crear una base de datos implica la creación, por lo menos, de un archivo de datos y un archivo de registro. En realidad esto dos archivos constituyen la "compleja" estructura de la base de datos. Los datos se encuentran dentro del archivo de datos y la información de registro, dentro del archivo de registro. La extensiones de nombre de estos archivos vienen a ser extensiones recomendadas, es decir, no estamos en la obligación de respetar estas extensiones aunque se aconseja siempre no hacerse problemas al momento de crearlos, por ende, os aconsejo te acomodes a este "estándar", teniendo la extensión .mdf para el registro de datos y .ldf para el archivo de registro. A continuación hablaremos un poco acerca de estos archivos.

Archivos de datos (Data Files)

En SQL Server maneja podemos manejar dos tipos de archivos de datos:

Archivos de datos principales (Primary Data File)

Una base de datos contiene una archivo de estos por default. Suele usarse la extensión de nombre .mdf.

Archivos de datos secundarios (Secondary Data File)

Este tipo de archivo es opcional y contiene los datos y objetos que no se encuentran en los archivos .mdf. Tienen una extensión .ndf.

Archivos de registro (Log Files)

Estos archivos contienen la información necesaria del transaction log requerida para recuperar la base de datos en caso de el sistema colapse. Toda base de datos contiene por lo menos un archivo de registro. La extensión de este tipo de archivo es .ldf.

Estructura de una base de datos

Esta vez veremos cómo están organizados los archivos de una base de datos, cómo se almacenan los datos y cuáles serán las consideraciones que debemos tener en cuenta. Guíese de la siguiente imagen.

Estructura de almacenamiento de una base de datos

 

Bueno, expliquemos lo que trata de mostrar la imagen anterior. Como verá, la data es almacenada en bloques continuos (extends) de 8KB llamados páginas. Otro punto es que los registros no pueden ser mayor al tamaño de una página (máx. 8060 bytes + 64 cabecera). Cada una de estas páginas están enumeradas secuencialmente. Cada archivo tiene un número de Identificador del archivo. La identificación única de una página de una base de datos requiere el identificador del archivo y el número de la página.


Usando una base de datos

Para administrar una base de datos obviamente debemos crearla teniendo en cuenta criterios como crecimiento automático de la base de datos, tamaño máximo de la base de datos, esto involucra a los archivos de datos y de registro, especificando la ubicación donde se almacenará y adicionalmente darle el tamaño inicial y si es que es necesario podemos señalar el grupo de archivos a la cual pertenecerá. "Direccionar" los tipos de archivos en diferentes particiones del disco puede ayudar en cuanto a rendimiento al momento de trabajar con ellos, y mucho mejor aún si es que controla esto a través de grupo de archivos. Debe hacerse un análisis para crear la base de datos, pues no se trata de crearla sin algún plan, si es que desea evitarse de problemas de administración. Por ejemplo, podemos limitar el tamaño del archivo de registro  a 30 MB y además hacer que crezca en 10% cada vez que esta se llena. Esto es algo serio y no olvide de tener los criterios que acabo de mencionar.

Todos sabemos que una base de datos contiene tablas, vistas, procedimientos almacenados, roles... y esta puede crearse a través de:

Administrador corporativo

Creamos una base de datos de nombre MyDataBase. Guíese de la imágenes para llevar acabo este proceso de creación de base de dato. Es sencillo...!. Entramos en la consola de servidores... (como verá el nombre de mi servidor es DARKMACHINE, esto es algo personal, algo alucinado pero allí está, cada quien con su "rollo"...)

Administrador corporativo: crear base de datos

desde luego, tiene que darle el nombre a la base de datos, pues como no se me ocurrió algún nombre mejor a "MyDataBase", no tuve otra alternativa, je, je, je ...

propiedades

Verá que aquí usted tiene que especificar algunas características, como por ejemplo algunas propiedades de archivo: Crecimiento automático y el tamaño máximo del archivo.  También se establecerá el tamaño inicial de la la base de datos como el grupo del archivos. Indico otras cosilla que debe saber valiéndome de esta imagen...

Primero, para el archivo de datos...

 

detalles del archivo de datos

... y ahora, para el archivo de registro ...!

detalles del archivo de registros

Finalmente debe darle en aceptar, y listo...! ya tiene su base de datos creada. Con esto no pretendo darle una clase magsitral de creación de base de datos, pues tan sólo quiero por esta vez, que usted sepa las maneras de crear una base de datos que administrará en adelante. Los números para el crecimiento de archivo es relativo, pues usted, tendrá que evaluar esto de acuerdo a las necesidades del sistema. También en cuanto al tamaño inicial de base de datos, debe evaluarlo y determinar el tamaño óptimo en conformidad al trabajo que tendrá. Más adelante veremos cómo determinar el tamaño de una base de datos teniendo en cuenta requerimientos iniciales para la misma. Así que no se impaciente  ...! pero por ahora veámos otra manera de crear una base de datos...

Utilizando un Wizard

Este proceso es parecido al anterior... tan sólo debe usar el asistente correspondiente para la creación de base de datos. Guíese de las capturas de imágenes...

En el menú herramientas, seleccione "Asistentes..."

 

uso del wizard

Luego, en Base de Datos, seleccione Asistente para creación de base de de Datos, y haga click en aceptar.

selección del asistente

Ahora, debe escribir el nombre de la base de datos. Puede opcionalmente cambiar el nombre físico del base de datos... aunque mejor déjelo como está...

especificación de la base de datos

Después de darle click en Siguiente le aparecerá la siguiente ventana. Debemos establecer el tamaño inicial del archivo de datos.

atributos

Cuando le da click en siguiente le debe aparecer dos ventanas consecutivas de creación para el archivo de registro de transacciones, es tarea de usted de trabajar esta parte, pues yo me ahorré el trabajo por esta vez. Después de esto, se habrá completado el trabajo, ahora usted observará los resultados de cada paso que ha seguido para crear la base de datos. Vea a siguiente imagen.

Completando el asistente para la creación de la base de datos

 

Debe darle en Finalizar y "todo este cuento ha terminado"... je, je, je... Esta fue otra de las formas de crear una base de datos usando el asistente. Ahora pasaremos a  crear la base de datos pero usando "código" transact SQL, en resumen, usando la orden create.

Orden CREATE

Para esta vez usaremos Transact SQL. Para esto debemos levantar el Analizador de Consultas SQL y ubicarnos en la base de datos Master. Ahora digite como "loco" lo siguiente...

uso de la orden create

  Ejecute y listo...!. Por favor debe percatarse de la ruta que estableció para los archivos exista, asegúrese que sean los correctos...!

OPCIONES EN LA BASE DE DATOS

Existen otras opciones que usted debe tener en cuenta al momento de crear su base de datos. Esta son: Restricción de acceso, definir si la base de datos será de lectura o no,  establecer si las operaciones realizada contra la base de datos serán registradas en el log o no, configurar si la base de datos se autocompactará automáticamente o no, y otras cosillas más.

Seleccione la base de datos, que supuestamente ha creado, Click Derecho ==> Propiedades ==> en la pestaña Opciones, aquí configure las opciones que usted crea conveniente. La siguiente imagen ilustra lo explicado.

opciones de la base de datos

 

Modificación de una base de datos

Una vez que tenemos creada una base de datos, muchas veces es útil modificarla, y sobre todo, saber qué se debe modificar, cómo hacerlo, y por qué debe modificarse.... se debe modificar la base de datos cuando:

Para esto, usaremos las órdenes ALTER DATABASE  o el ADMINISTRADOR CORPORATIVO. La funcionalidad de la orden ALTER DATABASE puede aprovecharse de distintas maneras: para modificar los nombres lógicos de los archivos de datos y registro, como también, modificar lo atributos de los archivos y de los grupos de archivos, cambiar el tamaño de un archivo, etc.

Estas son algunas de las formas en que puede modificar una base de datos:

Configurar el Crecimiento Automático

Esta es la manera más sencilla de llevar acabo. Existen dos formas:

  1. debe configurar el crecimiento automático y,
  2. expandir el archivo de datos.

Expandiendo el Archivo de Datos y el archivo de registro

Ejemplo: modificaremos la base de datos MyDataBase para agregarle un nuevo archivo de datos (MyDataBase2.ndf) de 4 MB. Pero antes, modificaremos el archivo de registro, redimensionamos el tamaño del archivo.

uso de la orden ALTER DATABASE

como verá, todo esto de la administración es algo relativamente sencillo si es que usted tiene muy claro la manera de aprovechar las funcionalidades que puede brindarnos SQL Server.

Esta es la primera parte de los tres artículos que estoy escribiendo con la única finalidad de ayudarle en la administración de una base de datos. Los temas que se tocarán en los siguientes artículos serán:

Espero haber ayudado a toda la gentita que "conspira" en la red buscando información al respecto. Ojalá les haya sido útil este pequeño aporte... nos vemos...

Arbis Percy Reyes Paredes
Microsoft Certified Professional

Saludos desde Trujillo - Perú

Por favor, califica este artículo en Panoramabox, así me animarás a continuar colaborando contigo.


ir al índice principal del Guille