Portada

lunes, 26 de enero de 2015

Bases de datos en SQL Server

La Base de Datos es una conjunto de archivos:

Primarios
Secundarios
y Log de Transacciones.

Primarios: Punto de partida de la BD. cada BD tiene uno y  este contiene punteros a los demas files. Son punto MDF aunque no es obligatoria es muy recomendable usarla.

Secundarios; Son opcionales y definidos por el usuario, y se pueden esparcir en varios discos por mantenimiento o performance, extension NDF es la recomendada.

        Paginas del archivo de datos:(Pagina = Tabla) se enumeran secuencialmente a partir de 0, su numeracion es unica tanto el ID como el numero de pagina son obligatorios.

        Estensiones: Grupo de 8 paginas contiguas, se usan para simplificar la gestion. Las uniformes son todas las paginas similares dentro de  una extension, y las extensiones mixtas.

        Archivo de Registro: Informacion que se utiliza para recuperar la base de datos cuando se necesita. extension LDF.

Los archivos de registro y de datos se deben separar en discos fisicos distintos, Este aislamiento es necesario por seguridad en caso de perdida de la base de datos.

Es posible tener varios archivos de datos, y esto es beneficioso en multiples efectos, por tamaño mantencion y otras que son dignas de tema por separado. El motor de SQL escribe solo en un archivo de datos a la vez.

La capacidad de la BD como tamaño maximo se debe proyectar: Indices, registro de transacciones y TempDB en un periodo de tiempo determinado. SQL Server de forma automatica puede agrandar automaticamente el tamaño dependiendo de las politicas de mantencion. Las copias de seguridad por su tiempo pueden afectar la desicion pero no hay relacion logica en esto.

Bases de Datos de Sistema

Se crean durante la instalacion automaticamente

MASTER: es la principal, contiene toda la informacion del sistema y la informacion de la instancia, si esta dañada SQL no inicia, por lo que debe ser copiada por seguridad constatemente.

MSDB: Contiene info para sql agent. Alertas Jobs y operadores. es necesario hacer respaldos para que esta info no se pierda.

MODEL: Es una plantilla que se usa para todas las bases de datos de usuario, cualquiera que se crea utiliza la model como plantilla.

TEMDB: Contiene los datos temporales, se crea o trunca cada vez que SQL inicia. No requiere respaldo.

RESOURCE: BD oculta de solo lectura y contiene todos los objetos de sistema que se asignan al esquema sys y contiene las vistas y todos los objetos. en las versiones anteriores a 2005 se definian en la base de datos MASTER.

La TEMPDB es fundamental para el funcionamiento de todo el resto del sistema y se compone de los objetos internos que son utilizados por SQL Server para sus operaciones con tablas de trabajos de punteros hash y trabajos de orden intermedio, logs.

OBJETOS de USUARIO: la mayoria de los objetos de la TEMPDB son creados por el usuario y consisten en tablas temporales, variables de tablas, y conjuntos de variables de resultado etc,

TAMAÑO DE LA TEMPDB: Version Store y objetos de usuario son parte de ella, y su rendimiento es fundamental para el rendimiento de SQL Server. La falta de espacio puede hacer que SQL Server no funcione. Se puede aumentar el numero de archivos para aumentar el rendimiento general del SQL Server-.

TRABAJAR CON ARCHIVOS Y FILES GROUPS

Los nombres de base de datos debe ser unico dentro de una instancia, Cada Bd tiene opciones configurables unicas y no afectan a otra, estos valores estan por defecto al crearse una nueva y se puede cambiar. Las categorias de opciones son las siguientes:

AutoOptions:
De cursor:
De disponibilidad
De recuperacion:
De verificacion de pagina:

No se puede utilizar un espacio en disco usado por otro usuario sin primero escribir en ese espacio en disco. Cuando a un archivo se le asignan 200 gigas, debe primero escribirlo. Para evitar el tiempo que se tarda en esto puede utilizar el archivo de inicializacion IFI, teniendo los permisos SQL puede solicitar el espacio sin inicializar desde el sistema operativo.

MODIFICAR BASES DE DATOS

Lo mas comun es añadir espacio adicional o añadir archivos, se puede hacer esto con la instruccion ALTER DATA BASE o el SMSS. Si una base de datos agota el espacio asignado y no esta configurada para crecer automaticamente o si no hay sufuciente espacio en el disco. A veces ya no se requiere un archivo tan grande, tanto los datos como el registro de transacciones se pueden reducir.

DBCC SHRINKFILE  o el Comando DBCC RINKDATABASE  pueden ser utilizados para reducir el espacion en las bases de datos.


FILEGROUPS

Filegroups se denomina a un grupo de archivos y se utilizan para simplificar el colocar un grupo de datos y tareas administrativas como copias de seguridad y restauraciones. Puede mejorar el rendimiento de la base de datos ya que puede hacer que una BD se pueda crear en varios discos, varios controladores de discos o sistemas RAID.


MOVER ARCHIVOS DE BASES DE DATOS.

Se pueden separar las bases de datos y eso no elimina los datos de los archivos de datos, ni los archivos de datos solo se elimina la METADATA de la base de datos. Estas se pueden separar desde SMSS o con el T-SQL DETACH/ATTACH. Luego se podra copiar a otra instancia y volver a atachar. Esto requiere que la base de datos este fuera de linea y se debe realizar en una ventana de mantenimiento.

BASES DE DATOS DE SISTEMA: todas se pueden mover de lugar, salvo la RESOURCE. La MASTER se debe mover de forma especial.

-Abra SQLConfiguration Manager.
- En el nodo de servicios de SQL Server haga clic en la instancia y seleccione propiedades, luego en opciones avanzadas.
- Edite los valores de parametros de inicio para que apunte a los valores previstos para la base de datos Master.
- Detenga la instancia de SQL Server.
- Mueva Mater y Masterlog a la nueva ubicacion.
-Reinicie el SQL Server.

Para mover el resto de las bases de datos, salvo la RESOURCE...

1. Para cada archivo a mover, execute ALTER DATABASE … MODIFY FILE como usuario de la base de datos.
2. Detenga la instancia de SQL Server.
3. Mueva los archivos a la nueva instalacion.
4. Reinicie la instancia de SQL Server.

COPIAR BASES DE DATOS

Hay varias maneras, separar la base de datos copiar los archivos a la nueva ubicacion, y volver a atachar. Realizar una copia de seguridad y luego restaurarla con el mismo nombre de la BD en un mismo servidor o con otro nombre en la misma instancia.

Tambien puede utilizar el asistente para copiar bases de datos.





No hay comentarios:

Publicar un comentario