martes, 25 de mayo de 2010

Tema 6: Crear y administrar una base de datos SQLServer

El primer paso para implementar físicamente una base de datos es crear los objetos de la base de datos. Usando la información que obtuvo cuando se determinaron los requerimientos de diseño, y los detalles que identificó en el diseño lógico de la base de datos, Ud. puede crear los objetos de la base de datos y definir sus características. Podrá modificar estas características después que  haya creado los objetos de la base de datos.

Cuando cree una base de datos, deberá primero definir su nombre, su tamaño, y los archivos y grupos de archivos usados para soportarla. Deberá considerar varios factores antes de crear la base de datos:

·        Por defecto solo tienen permiso para crear bases de datos los miembros de los roles “sysadmin” y “dbcreator”, Ud. podría no tener asignados ninguno de dichos roles pero aún contar con la autorización para crear bases de datos en caso que el administrador se los hubiera otorgado.
·        El usuario que crea una base de datos se convierte en el dueño de la base de datos
·        Un máximo de 32.767 bases de datos pueden ser creadas sobre un servidor.
·        El nombre de la base de datos debe seguir las reglas de los identificadores.

Como ya indicamos, se usan tres tipos de archivos para almacenar una base de datos: archivos primarios, que contienen la información de arranque para la base de datos; archivos secundarios, que hospedan a todos los datos que no caben en el archivo primario; y registro de transacciones, que contienen la información de la transacciones, usadas para recuperar la base de datos. Toda base de datos tiene al menos dos archivos: un archivo primario y un registro de transacciones.

Cuando se crea una base de datos, los archivos se llenan de ceros para sobrescribir cualquier otro dato que archivos que han sido borrados puedan haber dejado en el disco. Aunque esto significa que los archivos pueden tardar en ser creados, esta acción evita al sistema operativo tener que llenar con cero los archivos al momento de la efectiva grabación de los datos durante la normal operación de la base de datos, mejorando la performance operacional de cada día.

Cuando Ud. crea una base de datos, deberá especificar el tamaño máximo que un archivo tiene autorizado a alcanzar. Esto previene que el archivo crezca, cuando los datos son ingresados, hasta que el espacio en disco se termine.

SQLServer implementa una nueva base de datos en dos pasos:

·        SQLServer usa una copia de la base de datos “Model” para inicializar la nueva base de datos y sus metadatos.
·        SQLServer luego llena el resto de la base de datos con páginas vacías (excepto aquellas páginas que tienen grabados datos internos como el espacio usado)

Cualquier objeto definido por el usuario en la base de datos “Model” es copiado a todas las bases de datos que sean creadas. Se pueden agregar objetos a la base de datos “Model”, tales como tablas, vistas, procedimientos almacenados, tipos de datos, etc. que serán incluidos en las nuevas bases de datos. Además, cada nueva base de datos hereda la configuración de la opciones de la base de datos “Model”.

Métodos para crear una base de datos SQLServer
SQLServer provee muchos métodos que se pueden utilizar para crear bases de datos: el comando Transact-SQL  CREATE DATABASE, el árbol de la consola del Enterprise Manager, y el asistente Create Database , al cual puede acceder a través del SQL Server Enterprise Manager.

El comando CREATE DATABASE
Se puede usar el comando CREATE DATABASE para crear una base de datos y los archivos almacenados en una base de datos. El comando CREATE DATABASE le permitirá especificar una serie de parámetros que definirán las características de la base de datos.

Por ejemplo, se puede especificar el máximo tamaño que puede alcanzar un archivo o el incremento que puede experimentar dicho archivo. Si sólo utiliza CREATE DATABASE nombre_de_la_base_de_datos la base de datos es creada del mismo tamaño de la base de datos “Model”.

El comando puede ser ejecutado desde el SQL Query Analizer. El siguiente ejemplo crea una base de datos llamadas “Productos” y especifica que se usará un solo archivo.

El archivo especificado será el archivo primario, y un archivo de registro de 1Mb se crea automáticamente. Dado que ni megabytes (Mb) ni kilobytes (Kb) son especificados en el parámetro SIZE para el archivo primario, el archivo será generado en megabytes. Además, al no consignarse una especificación de archivo para para el archivo de transacciones, el archivo de transacciones no tendrá un tamaño máximo (MAXSIZE) y podrá crecer hasta ocupar todo el espacio en el disco.

USE master
GO
CREATE DATABASE Productos
ON
(

       NAME = prods.dat,
       FILENAME = ‘c:\program files\Microsoft SQL server\mssql\data\prods.mdf’,
       SIZE = 4,
       MAXSIZE = 10,
       FILEGROWTH  = 1

)
GO

Usar el Enterprise Manager
Se puede crear una base de datos directamente utilizando la herramienta SQL Server Enterprise Manager. Para crear una base de datos en el Enterprise Manager, expanda la consola del árbol de su servidor, haga clic derecho en el nodo Database, y haga clic en New Database. Cuando el cuadro de propiedades aparezca, modifique los valores por defecto como sea necesario en orden a crear la nueva base de datos.

El asistente Create Database
El asistente Create Database lo lleva a través de una serie de pasos necesarios para para crear una nueva base de datos. Se accede al asistente seleccionando Wizards desde el menú Tools. Desde allí se deberán completar los pasos que presenta el asistente. En la Figura se muestran varias opciones que pueden ser modificadas cuando se ejecuta el asistente.

Administrar una base de datos SQL Server
Una vez que se ha creado la nueva base de datos, Ud. podrá ver información acerca de dicha base de datos, modificar sus características o eliminar la base de datos.

Ver información referida a la base de datos
Se puede ver la definición de la base de datos y sus opciones de configuración en casos de problemas de funcionamiento o cuando se considere necesario realizar cambios en la base de datos. SQL Server provee diferentes métodos que se pueden utilizar para ver información acerca de la base de datos: el procedimiento almacenado sp_helpdb, la sentencia DATABASEPROPERTYEX, mediante el uso del SQL Server Enterprise Manager.

Borrar una base de datos SQL Server
Se puede eliminar una base de datos SQL Server cuando esta no será necesaria o cuando es movida a otra base de datos o a otro servidor. Cuando una base de datos es eliminada, esto se produce de manera permanente y no puede ser recuperada sin usar un resguardo (backup) previo. Las bases de datos de sistema (Model, MSdb, Master y Tempdb) no pueden ser eliminadas.

La base de datos Master debería ser resguardada después que se elimina una base de datos, porque el borrar una base de datos actualiza las tablas del sistema en la base de datos Master. Si la base Master necesita ser recuperada, cualquier base de datos que ha sido eliminada desde el último resguardo que se hizo, estaría aún siendo referenciada y podría generar mensajes de error.

Una base de datos puede ser eliminada utilizando el comando DROP DATABASE o ser borrada desde la consola del árbol en el SQL Server Enterprise Manager.

No hay comentarios:

Publicar un comentario