Microsoft introdujo los snapshots de la base de datos con SQL Server 2005. Un snapshot de la base de datos es una copia estática y de solo lectura de una base de datos fuente que te brinda una vista consistente de una base de datos en un punto específico en el tiempo. Esta característica solo está disponible en la edición Enterprise de Microsoft SQL Server 2005 y todos los modelos de recuperación admiten los snapshots de la base de datos.
Cómo funcionan los snapshots de la base de datos
Cuando se crea un snapshot de la base de datos, SQL Server no crea físicamente un archivo de base de datos separado. En cambio, crea un archivo especial llamado archivo disperso. Este archivo está inicialmente vacío y asigna un espacio mínimo en el disco. A medida que se modifican las páginas en la base de datos fuente, la versión original (sin modificar) del archivo de página se escribe en el archivo disperso. Este proceso, conocido como copia al escribir, permite que SQL Server cree un registro de la base de datos tal como existía en el momento de la creación en el archivo disperso.
Durante las operaciones de lectura en el snapshot, los datos originales se leen desde la base de datos fuente. Para los datos que han sido modificados, el snapshot lee la información desde el archivo disperso. Esto te permite utilizar un snapshot de la base de datos en casi cualquier situación en la que podrías utilizar el archivo de la base de datos, excepto cuando necesitas acceso de escritura.
Uso de los snapshots de la base de datos
Existen varios usos típicos para los snapshots de la base de datos:
- Consultar un snapshot te permite evitar bloqueos debido a operaciones de actualización/inserción en la base de datos fuente.
- Los snapshots de la base de datos son útiles como fuente de datos para aplicaciones de informes.
- Pueden ser utilizados como fuente de datos para operaciones de exportación de datos.
- Los snapshots de la base de datos pueden servir como fuente de datos históricos.
- Pueden ser utilizados como una copia redundante de archivos para redundancia de datos o archivo.
- Los snapshots de la base de datos pueden ser utilizados como una copia de archivo para pruebas y validaciones.
Gestión de los snapshots de la base de datos
Cuando se crean snapshots de la base de datos, es importante utilizar nombres que identifiquen claramente la base de datos fuente, el archivo como un snapshot y la fecha y hora en que se creó el snapshot. Puedes crear snapshots de la base de datos utilizando el comando CREATE DATABASE con la cláusula AS SNAPSHOT OF. Debes especificar un archivo de snapshot para cada archivo de base de datos, excepto para el archivo de registro de transacciones, cualquier archivo sin conexión o archivos que se estén restaurando.
Los snapshots de la base de datos se pueden ver y eliminar utilizando SQL Server Management Studio. Eliminar un snapshot no afecta a la base de datos fuente. Revertir a un snapshot es lo mismo que restaurar la base de datos al punto en el tiempo en que se creó el snapshot.
Conclusión
Los snapshots de la base de datos son una herramienta valiosa para los administradores de bases de datos, ya que brindan una vista consistente de una base de datos en un punto específico en el tiempo. Aunque es lamentable que esta característica solo esté disponible en la edición Enterprise de SQL Server, puede ser una herramienta útil para actualizaciones del sistema y otros escenarios donde se necesita una copia de solo lectura de una base de datos. Con un mayor desarrollo, los snapshots de la base de datos tienen el potencial de convertirse en una herramienta ampliamente utilizada en la comunidad de SQL Server.