sábado, 31 de agosto de 2019

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.

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



No hay comentarios.:

Publicar un comentario

Sinónimos de palabras similares en SQL SERVER

Buenas tardes. Hace un tiempo publique un post que hablaba sobre Sinónimos en SQL SERVER, sin embargo trataba de sinónimos en en objetos, e...