• Saltar a la navegación principal
  • Saltar al contenido principal

DBA dixit

Recursos en línea para el administrador y el desarrollador de bases de datos

  • Lo básico
  • SQL
  • Administración
  • Herramientas
  • Buenas prácticas
  • Performance & Tuning
Usted está aquí: Inicio / Administración / Bases de datos de sistema en SQL Server

Bases de datos de sistema en SQL Server

30/04/2021 by DBA

Bases de datos de sistema en SQL Server

SQL Server, como cualquier otro Sistema Gestor de Bases de Datos, guarda toda la información en bases de datos (incluyendo la información de todas las bases de datos, por extraño que suene); y esto es debido a que en las Reglas de Codd se menciona que un motor de bases de datos relacional administra toda la información en forma de base de datos.

Por ello SQL Server tienes diveras bases de datos de sistema, algunas de ellas son utilizadas para guardar metadatos, otras para operaciones temporales, y otras más utilizadas por servicios adicionales a SQL Server; siendo las principales las siguientes.

Base de datos Master

Es la base de datos principal del todo el SGBD, ya que mantiene toda la información a nivel del sistema del motor de base de datos e inncluye metadatos de todas las instancias, usuarios, servidores vinculados, configuración del sistema, y además tiene el registro de la existencia de las demás bases de datos (nombre, ubicación, etc.).

Es tan importabte que SQL Server no puede iniciar sin Master, y puede crecer de manera indefinida, pero con un máximo de 2 TBytes.

Ubicación de Master

  • Los datos principales se ubican en master.mdf, y el nombre lógico con el que se le conoce es master.
  • El log se llama mastlog y se ubica físicamente en mastlog.ldf.

Consideraciones de uso de Master

  • No se puede cambiar de archivos, Filegroups o de Intercalación (utiliza la del servidor).
  • El propietario siempre es dbo.
  • No se pueden añadir tablas, procedimientos o triggers.
  • No se le puede hacer Drop.
  • Siempre deberá estar respaldada (sobre todo cuando se añade, borr o mueve una base de datos del usuaio).

Base de datos Model

Es la plantilla con la que se crean las demás bases de datos (estructura y configuración por default). Si se modifica Model, cualquier nueva base de datos que se genere tendrá ese nuevo modelo. En términos prácticos, cada vez que se crea una nueva base de datos entonces se hace una copia de Model y se le da el nombre de la nueva base de datos.

Puede crecer de manera indefinida, hata un tamaño máximo de 2 TBytes.

Ubicación de Model

  • Los datos principales se ubican en model.mdf, y el nombre lógico con el que se le conoce es modeldev.
  • El log se llama modellog y se ubica físicamente en modellog.ldf

Consideraciones de uso de Model

  • La intercalación (COLLATION) será la del servidor (Master).
  • El propietario siempre es dbo.
  • No se pueden añadir procedimientos o triggers encriptados (usando la cláusula WITH ENCRYPTION del comando DDL correspondiente).
  • No se le puede hacer Drop a Model ya que no habría plantilla para crear las nuevas bases de datos del usuario.
  • Siempre debe estar respaldada (sobre todo cuando se quiere replicar la instancia de SQL Server).

Base de datos Msdb

Es usada por el SQL Server Agent (Uno de los componentes de SQL Server) para programar sus tareas o alertas.

  • Se ubica en el archivo MSDBData.mdf.
  • El archivo del log se ubica en en MSDBLog.ldf.
  • Al igual que las anteriores, no se le puede dar Drop, cambiar la intercalación, renombrarla.

Base de datos Tempdb

Es un base de datos temporal que se usa como recurso global al que todos tienen acceso y sirve para, entre otras actividades:

  • Guardar recursos temporales  (tablas, cursores, sps’s).
  • Tablas para guardar resultados intermedios en una operación (cuando el motor de base de datos realiza operaciones parciales como segmentación, ordenamiento, agrupamientos, etc.).
  • Versiones de registros dentro de un transacción.

Se guarda en tempdb.mdf y templog.ldf (datos y log respectivamente).

Como requiere buen rendimiento para acceso aleatorio, es relativamente pequeña y el perder datos es aceptable, se recomienda tenerlo en arreglos RAID 0, RAID1 o RAID10.

Consideraciones generales de Tempdb

  • Cada vez que se inicia el motor se reinicia Tempdb
  • Se recomienda tenerla con un Recovery Model SIMPLE (ya que se minimiza el Log).
  • Se recomienda también configurar el Autogrow de 10% para archivos de 300MB, o más, iniciales (dependiendo de la carga normal de uso) o 15-25MB para archivos menores.
  • Si es posible, deberá colocarse en discos veloces, de acceso muy eficiente ya que se ocupa mucho.
  • De preferencia no debería compartir disco con bases de datos del usuario, y si lo hace, deberá compartir el disco con bases de datos que tengan poca actividad, ya que Tempbd tiene gran carga de trabajo.
  • Para determinar el tamaño inicial es recomendable  iniciar motor, hacer query’s, cargas y mantenimientos comunes y entonces determinar entonces el tamaño mínimo.
  • Prácticamente no tiene Log.

Base de datos Resource

Ess una base de datos de sólo lectura que contiene todos los objetos del motor (sys.objects) que, aunque lógicamente aparecen en cada base de datos del usuario, residen físicamente en Resource.

Físicamente está en mssqlsytemresource.mdf y ldf (datos y log respectivamente).

Algunas tablas dentro de Resource son

  • Sys.databases
  • Sys.objects
  • Sys.columns
  • Sys.check_constraints

 

Publicado en: Administración Etiquetado como: SQL Server

  • Lo básico
  • SQL
  • Administración
  • Herramientas
  • Buenas prácticas
  • Performance & Tuning

Copyright © 2023 · Wellness Pro on Genesis Framework · WordPress · Acceder