Lorsqu'un clone de la base de données est créé à l'aide de DBCC CLONEDATABASE, il créera une copie de schéma et de statistiques uniquement de la base de données spécifiée et ne contiendra aucune copie des données.
Créer le clone est aussi simple que de transmettre la source nom de la base de données et cloner le nom de la base de données à la commande DBCC.
DBCC CLONEDATABASE ('SansSQL', 'SansSQL_Clone')
Sortie de la commande DBCC
Une fois le clonage terminé, la base de données clonée sera en mode lecture seule.
SELECT name, database_id, is_read_only FROM sys.databases WHERE name in ('SansSQL ', 'SansSQL_Clone')
Que se passe-t-il réellement lorsque nous lançons la commande DBCC CLONEDATABASE sur une base de données ?
Elle commencera par quelques validations avant la création du clone, Les validations suivantes sont effectuées par DBCC CLONEDATABASE. La commande échoue si l'une des validations échoue.
- La base de données source doit être une base de données utilisateur. Le clonage des bases de données système (maître, modèle, msdb, tempdb, base de données de distribution, etc.) n'est pas autorisé.
- La base de données source doit être en ligne ou lisible.
- Une base de données qui utilise le même nom que la base de données clonée ne doit pas déjà exister.
- La commande n'est pas dans une transaction utilisateur.
- Création d'un fichier de données principal et d'un fichier journal
- Ajout d'espaces de données secondaires
- Ajout de fichiers secondaires
SELECT database_id, file_id, type_desc, name, physical_name FROM sys.master_files WHERE DB_NAME(database_id) in ('SansSQL', 'SansSQL_Clone')
Ensuite, DBCC CLONEDATABASE effectuera un instantané de la base de données interne en suivant les étapes suivantes
- Valider la base de données source
- Obtenir le verrou S pour la base de données source
- Créer un instantané de la base de données source
- Créer une base de données clone (il s'agit d'une base de données vide qui hérite du modèle)
- Obtenir le verrou X pour la base de données clonée
- Copier les métadonnées dans la base de données clonée
- Libérez tous les verrous de la base de données
Référence :https://support.microsoft.com/en-in/kb/3177838