Instantáneas de bases de datos (Snapshots) en SQL Server 2012

Mar, 27/08/2019 - 07:30 -- jsequeiros

Una instantánea de base de datos es una copia estática de sólo lectura de una base de datos existente de SQL Server. La base de datos existente se conoce como la base de datos fuente. Cuando se crea una instantánea, es una réplica exacta de solo lectura de la base de datos de origen en ese momento.
A medida que cambia la base de datos de origen, la instantánea se deberá actualizar para garantizar que esté sincronizada.

Comprensión de la instantánea de la base de datos

Requisitos y limitaciones

Al crear una instantánea de la base de datos, debe asegurarse de que su base de datos de origen permanezca disponible de manera constante y consistente. La siguiente es una lista de los requisitos y limitaciones más comunes de la base de datos de origen:

  • Las instantáneas de la base de datos sólo son compatibles con la versión Enterprise de SQL Server 2012.
  • La base de datos de origen y las instantáneas deben residir en la misma instancia de SQL Server.
  •  La base de datos de origen no se puede eliminar, separar o restaurar
  • Los archivos de la base de datos de origen no se pueden eliminar.
  • El rendimiento podría verse afectado negativamente debido al aumento de E/S en el origen.

Si bien la instantánea en sí misma proporciona una copia de solo lectura de la base de datos de origen, debe considerar algunos factores limitantes antes de implementar las instantáneas en su entorno. La siguiente es una lista de las limitaciones comunes de la instantánea:

  • Las instantáneas deben residir en el mismo servidor que la base de datos de origen.
  • Las instantáneas no se pueden hacer copias de seguridad, restaurar o separar.
  • Los cambios en la base de datos de origen harán que la base de datos de instantáneas crezca. Por lo tanto, debe asegurarse de tener un espacio en disco disponible igual al tamaño de su base de datos de origen.
  • Si una instantánea se queda sin espacio, debe eliminarse y volver a crearse.

Esta no es una lista exhaustiva de las limitaciones, pero estas son las que generalmente ocurren cuando se implementan las instantáneas de la base de datos en un entorno de producción.

Crear una instantánea de la base de datos usando T-SQL

  1. Abrir el editor de consultas en Microsoft SQL Server Management Studio (SSMS)
  2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:
  3. --Use este script para crear una instantánea de base de datos;
     USE master;
     CREATE DATABASE Colegio_dbsnapshot
     ON 
     (NAME = Colegio,
     FILENAME ='C:\SQLDATA\Colegio_snapshot.ss')
     AS SNAPSHOT OF  [Colegio];
    

Ver una instantánea de la base de datos con Microsoft SQL Server Management Studio (SSMS)

  1. Abrir SSMS y conéctese a un servidor.
  2. En el Explorador de objetos, expanda la carpeta Bases de datos.
  3. Expanda la carpeta Instantáneas de la base de datos.

Ver instantáneas de la base de datos en SQL Server 2012

Eliminar instantáneas de bases de datos



En algún momento, puede decidir que una instantánea de la base de datos ya no es útil, o que está consumiendo demasiado espacio y le gustaría comenzar con una instantánea nueva. Puede eliminar una instantánea ya sea mediante SSMS o T-SQL.

Eliminar una instantánea de la base de datos utilizando SQLSSMS

  1. Abrir SSMS y conéctese a un servidor.
  2. En el Explorador de objetos, expanda la carpeta Bases de datos.
  3. Expanda la carpeta Instantáneas de base de datos.
  4. Haga clic derecho en la instantánea de la base de datos que desea eliminar  y seleccione Eliminar en el menú contextual.
  5. Eliminar instantáneas de la base de datos en SQL Server 2012

  6. Marque la casilla Cerrar conexiones existentes
  7. Eliminar por SSMS instantáneas de la base de datos en SQL Server 2012

  8. Haga clic en Aceptar

Eliminar una instantánea de la base de datos usando T-SQL

  1. Abrir el editor de consultas en SSMS.
  2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:
  3.  --Script para crear una instantánea de base de datos:
     USE master;
     CREATE DATABASE Colegio_snapshot_2
     ON
     (NAME = Colegio, FILENAME = 'C:\SQLDATA\Colegio_snapshot2.ss')
     AS SNAPSHOT OF [Colegio];
    
  4. Abra una nueva ventana de consulta.
  5. En la nueva ventana del editor de consultas, ingrese y ejecute el siguiente código T-SQL:
  6.  --Script para eliminar una instantánea de base de datos:
     USE master;
     DROP DATABASE Colegio_snapshot_2;
    

Revertir a una instantánea de la base de datos

Una de las mayores ventajas que puede aprovechar al crear instantáneas de base de datos es que puede usarlas como una copia de seguridad de la base de datos. Por ejemplo, suponga que alguien ha eliminado accidentalmente los datos de una tabla en su base de datos, o ha sido borrada una tabla ¿Cómo restaurarías ese objeto? Podría usar una copia de seguridad de la base de datos; sin embargo, si creó una instantánea de la base de datos, podría utilizar esa instantánea. La instantánea puede ofrecer una versión aún más reciente del esquema y los datos de la base de datos que su última copia de seguridad.

Revertir a una instantánea de base de datos usando T-SQL

  1. Abrir el editor de consultas en SSMS.
  2. En el editor de consultas, ingrese y ejecute el siguiente código T-SQL:
  3. --Script para revertir una instantánea de una base de datos:
     USE master;
     RESTORE DATABASE Colegio FROM DATABASE_SNAPSHOT = 'Colegio_dbsnapshot';
    

Restaurar desde una instantánea de la base de datos es una opción viable en algunos casos, pero no es una copia completa de la base de datos. Por lo tanto, si la base de datos de origen se daña, no puede volver a la instantánea. Aquí hay algunas limitaciones más que puede encontrar:

  • La base de datos de origen debe tener solo una instantánea.
  • Si alguno de los archivos es de sólo lectura o está offline, no puede volver a una instantánea.
  • Se perderán los cambios que ocurrieron después de tomar la instantánea revertida.

Conclusiones:

Las instantáneas de la base de datos ofrecen a las organizaciones varias formas de aprovechar una copia de los datos y el esquema que pueden no haber estado disponibles antes. Se usan comúnmente como fuentes para informes y consultas ad-hoc. Además, puede usarlos como fuente de copia de seguridad en caso de pérdida de datos. Independientemente de su razón para aprovechar las instantáneas, debe tener en cuenta los requisitos adicionales de espacio en disco y la posible degradación del rendimiento cuando considere utilizar esta función.

Post new comment