Administrando archivos y grupo de archivos de una base de datos SQL Server™Fecha: 16/Nov/2005 (14-11-05)
|
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.
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"...)
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 ...
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...
... y ahora, para el archivo de registro ...!
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..."
Luego, en Base de Datos, seleccione Asistente para creación de base de de Datos, y haga click en aceptar.
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á...
Después de darle click en Siguiente le aparecerá la siguiente ventana. Debemos establecer el tamaño inicial del archivo de datos.
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.
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...
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.
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:
- se incrementa los datos de la base de datos, usted necesitará modificar el archivo de datos.
- se incrementa la actividad de modificación de datos, en este caso necesitará expandir el Archivo log.
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:
- debe configurar el crecimiento automático y,
- 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.
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:
COMPACTACIÓN DE UNA BASE DE DATOS
PLANIFICACIÓN DE LA CAPACIDAD DE UNA BASE DE DATOS
OPTIMIZACIÓN DE UNA BASE DE DATO USANDO FILEGROUPS
TEMAS ANEXOS
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 ProfessionalSaludos desde Trujillo - Perú
Por favor, califica este artículo en Panoramabox, así me animarás a continuar colaborando contigo.