Détacher une base de données
Cette rubrique explique comment détacher une base de données dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. Les fichiers détachés restent et peuvent être rattachés à l'aide de CREATE DATABASE avec l'option FOR ATTACH ou FOR ATTACH_REBUILD_LOG. Vous pouvez les déplacer sur un autre serveur et les y attacher.
Dans cette rubrique
Avant de commencer :
Limitations et restrictions
Sécurité
Pour détacher une base de données, utilisez :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Limitations et restrictions
Pour obtenir une liste des limitations et des restrictions, consultez Attacher et détacher une base de données (SQL Server).
Sécurité
Autorisations
Nécessite l'appartenance au rôle de base de données fixe db_owner.
[Top]
Utilisation de SQL Server Management Studio
Pour détacher une base de données
Dans l'Explorateur d'objets de SQL Server Management Studio, connectez-vous à une instance de Moteur de base de données SQL Server et développez cette dernière.
Développez Bases de données, puis sélectionnez le nom de la base de données utilisateur que vous souhaitez détacher.
Cliquez avec le bouton droit sur le nom de la base de données, pointez sur Tâches, puis cliquez sur Détacher. La boîte de dialogue Détacher la base de données apparaît.
Bases de données à détacher
Répertorie les bases de données à détacher.Nom de la base de données
Spécifie le nom de la base de données à détacher.Supprimer les connexions
Permet de déconnecter les connexions à la base de données spécifiée.[!REMARQUE]
Vous ne pouvez pas détacher une base de données avec des connexions actives.
Mettre à jour les statistiques
Par défaut, l'opération de détachement conserve toutes les statistiques d'optimisation obsolètes avant de procéder au détachement ; pour actualiser les statistiques existantes, activez cette case à cocher.Conserver les catalogues de texte intégral
Par défaut, l'opération de détachement conserve tous les catalogues de texte intégral associés à la base de données. Pour les supprimer, désactivez la case à cocher Conserver les catalogues de texte intégral. Cette option s'affiche uniquement lors de la mise à niveau d'une base de données à partir de SQL Server 2005.État
Affiche l'un des états suivants : Prêt ou Non prêt.Message
La colonne Message peut indiquer des informations sur la base de données, comme suit :Lorsqu'une base de données est impliquée dans la réplication, l'État est Non prêt et la colonne Message indique Base de données répliquée.
Lorsqu'une base de données possède une ou plusieurs connexions actives, l'État est Non prêt et la colonne Message indique <number_of_active_connections> connexion(s) active(s), par exemple 1 connexion(s) active(s). Avant de détacher la base de données, vous devez déconnecter toutes les connexions actives en cliquant sur Supprimer les connexions.
Pour obtenir plus d'informations sur un message, cliquez sur le texte du lien hypertexte pour ouvrir le Moniteur d'activité.
Lorsque vous avez prêt à lancer le processus, cliquez sur OK.
[!REMARQUE]
La base de données ainsi détachée reste toujours visible dans le nœud Bases de données de l'explorateur d'objets jusqu'à ce que la vue soit actualisée. Vous pouvez actualiser la vue à tout moment en cliquant dans le volet de l'explorateur d'objets et en sélectionnant, dans la barre de menus, les éléments Affichage puis Actualiser.
[Top]
Utilisation de Transact-SQL
Pour détacher une base de données
Connectez-vous au Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple détache la base de données AdventureWorks2012 avec l'option skipchecks définie sur la valeur True.
EXEC sp_detach_db 'AdventureWorks2012', 'true';