Citation :
SP_ATTACH_DB (T-SQL)
Attache une base de données à un serveur.
Syntaxe
sp_attach_db [@dbname =] 'nom_de_base_de_données'
[@filename1 =] 'nom_de_fichier_n' [,?16]
Arguments
[@dbname =] 'nom_de_base_de_données'
Nom de la base de données à attacher au serveur. Ce nom doit être unique. nom_de_base_de_données est de type sysname, et sa valeur par défaut est NULL. [@filename1 =] 'nom_de_fichier_n'
Nom physique, incluant le chemin d'accès, d'un fichier de base de données. Nom_de_fichier_n est de type nvarchar(260), et sa valeur par défaut est NULL. Jusqu'à 16 noms de fichiers peuvent être spécifiés. Les noms de paramètres démarrent à @filename1 et vont en augmentant jusqu'à @filename16. La liste des noms de fichiers doit comprendre au moins le fichier primaire, qui contient les tables système qui pointent sur les autres fichiers de la base de données. Elle doit aussi comprendre tous les fichiers qui ont été déplacés après que la base de données fut détachée.
Valeur des codes renvoyés
0 (succès) ou 1 (échec)
Jeu de résultats
Aucun
Notes
sp_attach_db ne doit être exécutée que sur des bases de données qui ont préalablement été détachées du serveur de base de données au moyen d'une opération sp_detach_db explicite. Si plus de 16 fichiers doivent être spécifiés, utilisez CREATE DATABASE avec la clause FOR ATTACH.
Si vous attachez une base de données à un serveur autre que le serveur auquel la base de données a été détachée, et que la base de données détachée a été activée pour réplication, vous devez exécuter sp_removedbreplication pour supprimer la réplication dans la base de données.
Autorisations
Seuls les membres du rôle de serveur fixe sysadmin sont habilités à exécuter sp_attach_db.
Exemples
Dans l'exemple suivant, deux fichiers de pubs sont attaché au serveur actif.
EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\mssql7\data\pubs.mdf', @filename2 = N'c:\mssql7\data\pubs_log.ldf'
|