Cuando un clon de la base de datos se crea utilizando DBCC CLONEDATABASE, creará una copia de esquema y estadísticas solo de la base de datos especificada y no contiene ninguna copia de los datos.
Crear el clon es tan simple como pasar la fuente nombre de la base de datos y clonar el nombre de la base de datos al comando DBCC.
DBCC CLONEDATABASE ('SansSQL', 'SansSQL_Clone')
Salida del comando DBCC
Una vez completada la clonación, la base de datos clonada estará en modo de solo lectura.
SELECCIONE nombre, id_de_base_de_datos, es_de_solo_lectura DESDE sys.databases DONDE nombre en ('SansSQL ', 'SansSQL_Clone')
Entonces, ¿qué sucede realmente cuando ejecutamos el comando DBCC CLONEDATABASE en una base de datos?
Comenzará con algunas validaciones antes de que se cree el clon, DBCC CLONEDATABASE realiza las siguientes validaciones. El comando falla si alguna de las validaciones falla.
- La base de datos de origen debe ser una base de datos de usuario. No se permite la clonación de bases de datos del sistema (maestra, modelo, msdb, tempdb, base de datos de distribución, etc.).
- La base de datos de origen debe estar en línea o ser legible.
- No debe existir una base de datos que use el mismo nombre que la base de datos clonada.
- El comando no está en una transacción de usuario.
- Creación de un archivo de datos principal y un archivo de registro
- Agregar espacios de datos secundarios
- Agregar archivos secundarios
Luego, DBCC CLONEDATABASE realizará una instantánea de la base de datos interna con los siguientes pasos
- Validar la base de datos de origen
- Obtenga S lock para la base de datos de origen
- Crear una instantánea de la base de datos de origen
- Cree una base de datos clonada (esta es una base de datos vacía que hereda del modelo)
- Obtener bloqueo X para la base de datos clonada
- Copie los metadatos a la base de datos clonada
- Liberar todos los bloqueos de base de datos
Referencia:https://support.microsoft.com/en-in/kb/3177838