SQL: Attacher et Détacher une Base de données

Attacher et Détacher une Base de données :


Pourquoi attacher et détacher une base de données ??


Parfois quand on veut copier les fichiers de base (.mdf ou .ndf) où journal (.ldf) d’une base de données où les supprimer manuellement de leurs emplacements physiques, un message d’erreurs apparaît pour interdire l’action; la cause c’est qu’ils sont encore utilisés, alors on doit détacher la base pour avoir le droit de les copier où les supprimer à partir de leurs emplacements physiques.
Après avoir détacher une base de données on peut l’attacher dans un autre serveur où poste et visualiser les tables de cette base, les modifier etc.…, sans avoir besoin de créer la même base de nouveau sur le nouveau poste.


Syntaxe pour détacher une base de données : sp_detach_db Nom_Base

Pour détacher une base de données on doit :

1- Se connecter par une autre si on veut détacher la base X, on se connecte par une autre base Y

2- Après exécute la commande : sp_detach_db Nom_Base
Exemple : Use Master
Sp_detach_db MaBase





Syntaxe pour attacher une base de données : Sp_attach_db Nom_Base

Pour attacher une base de données on doit :

1- Copier et savoir l’emplacement des fichiers de base et journal qu’on veut attacher
2- Après exécute la commande :

Sp_attach_db Nom_Base
@filename1 = ' Chemin_Fichier\Nom_Physique_Fichier_Base.mdf ',
@filename2 = ' Chemin_Fichier\Nom_Physique_Fichier_Journal.ldf ',
………………………………………………………………………..
@filenameN = ' Chemin_Fichier\Nom_Physique_Fichier_Journal_N.ldf '

Exemple :

Supposons que la base de données Ma base est enregistrée  dans le dossier  Base d’une clé USB montée dans
le lecteur F de votre poste de travail.


Rappel des noms des fichiers qu’on veut attacher

Fichier de base Principal                                        Deuxième Fichier journal
Nom Logique : Fichier_dat                                        Nom Logique : Fichier_log2
Nom Physique : Fichierdat.mdf                                  Nom Physique  : Fichierlog2.ldf

Fichier de base Supplémentaire
Nom Logique : Fichier_dat2
Nom Physique : Fichierdat2.ndf

Les nouveaux emplacements des fichiers qu’on veut attacher

Fichier de base Principal                                                 Deuxième Fichier journal
Nouveau Emplacement : 'F:\base\Fichierdat.mdf'         Nouveau Emplacement :
'F:\base\Fichierlog2.ldf'
Nom Physique : Fichierdat.mdf                                           Nom Physique : Fichierlog2.ldf

Fichier de base Supplémentaire
Nouveau Emplacement : 'F:\base\Fichierdat2.ndf'
Nom Physique : Fichierdat2.ndf

La syntaxe pour attacher les trois fichiers

Sp_attach_db MaBase
@filename1 = 'F:\base\Fichierdat.mdf',          (Pour attacher le fichier de base Principal)



@filename2 = 'F:\base\Fichierdat2.ndf',         (Pour attacher le fichier de base Supplémentaire)

@filename3 = 'F:\base\Fichierlog2.ldf'                (Pour attacher le deuxième fichier Journal)

Aucun commentaire:

Enregistrer un commentaire