Clonar base de Datos SQL SERVER

Buenos días queridos lectores, el día de hoy hablaremos sobre una característica muy importante, la clonación de una base de datos, disponible desde la versión 2014.

Imaginemos que queremos copiar la estructura de una base de datos, no así los datos, es decir, queremos tener una base de datos con la misma estructura, ademas todos los procedimientos almacenados, funciones, vistas, etc., pero sin los datos. El uso que le podemos dar puede ser distinto, podemos usarlo para hacer pruebas, para respaldo, etc. Pero basta de palabrería y pasemos a lo que realmente nos interesa, que es hacer.



Para realizar un clon de una base de datos utilizaremos el comando DBCC CLONEDATABASE, y se utilizará de la siguiente manera:

Ejemplo 1: Clonar la base de datos llamada pronosticos2, y colocar el nombre al clon pronosticos2_clone.

Realizar esa acción es muy sencillo




DBCC CLONEDATABASE (pronosticos2, pronosticos2_clone);   
GO

Como podemos ver, ese comando recibe dos parámetros, el primero, el nombre de la base de datos a clonar y el segundo con el nombre de la nueva base de datos que contendrá el clon. 





 Este es el uso básico del comando, sin embargo existen algunas otras opciones que podemos utilizar. Este comando básico nos guarda las estadísticas de uso de los índices, así como el registro de transacciones, si queremos dejar totalmente vacías las estadísticas de los índices utilizaremos la siguiente opción:

Ejemplo 2: Clonar la base de datos llamada pronosticos2, y colocar el nombre al clon pronosticos2_clone, dejando las estadísticas de uso de los índices totalmente vacía.


DBCC CLONEDATABASE (pronosticos2, pronosticos2_clone) WITH NO_STATISTICS;   
GO

Hay que destacar que la nueva base de datos, o el clon creado, se va a crear para solo lectua, ustedes puedes modificarlo para que esté también como escritura, pero de manera predeterminada, estará como Read only. A partir de SQL 2016, también podemos vaciar el registro de transacciones y para ello utilizaremos la siguiente instrucción

DBCC CLONEDATABASE (pronosticos2, pronosticos2_clone) WITH NO_STATISTICS, NO_STATISTICS;   
GO


Esta instrucción dejará totalmente vacío el registro de transacciones y lo hará también con las estadísticas.

A continuación les dejo un video para que la explicación quede más clara.




Espero que este post les haya sido de utilidad. Cualquier duda estoy a la orden. Espero compartan, comenten o den clic en algún anuncio que les interese, eso me ayudaría mucho



2 comentarios:

Featured Post

Como saber la versión de SQL que tengo

 Buenas tardes queridos lectores, el día de hoy les traigo un post muy básico, pero útil en determinadas circunstancias, cuando queremos sab...