Numéro d'article: 224071 - Dernière mise à jour: jeudi 6 décembre 2007 - Version: 15.1 Comment faire pour déplacer des bases de données SQL Server vers un nouvel emplacement à l'aide des fonctions Détacher et Attacher dans SQL ServerSommaireRésumé Cet article explique comment modifier l'emplacement des données et des fichiers journaux d'une base de données SQL Server 2005, SQL Server 2000 ou SQL Server 7.0. Pour plus d'informations sur le déplacement de bases de données système dans SQL Server 2005, consultez la rubrique « Moving System Databases » dans la documentation en ligne SQL Server. Pour consulter cette rubrique, reportez-vous au site Web MSDN (Microsoft Developer Network) à l'adresse suivante : http://msdn2.microsoft.com/fr-fr/library/ms345408.aspx
(http://msdn2.microsoft.com/fr-fr/library/ms345408.aspx)
Plus d'informations Les étapes à suivre pour modifier l'emplacement de certaines bases de données système SQL Server diffèrent des étapes à suivre pour modifier l'emplacement des bases de données utilisateur. Ces cas particuliers sont décrits séparément. Remarque Les bases de données système SQL Server 7.0 sont incompatibles avec SQL Server 2000. N'attachez pas les bases de données SQL Server 7.0 master, model, msdb ou de distribution à SQL Server 2000. Si vous utilisez SQL Server 2005, vous pouvez attacher uniquement des bases de données SQL Server 2005 à une instance. Tous les exemples de cet article supposent que SQL Server est installé dans le répertoire D:\Mssql7, et que tous les fichiers de bases de données et les fichiers journaux se trouvent dans le répertoire D:\Mssql7\Data. Dans ces exemples, les fichiers de données et les fichiers journaux de toutes les bases de données sont déplacés vers le répertoire E:\Sqldata. Conditions préalables
Déplacement de bases de données utilisateurL'exemple suivant déplace une base de données nommée mydb. Cette base de données contient un fichier de données (Mydb.mdf) et un fichier journal (Mydblog.ldf). Si la base de données que vous déplacez contient d'autres fichiers de données ou fichiers journaux, spécifiez-les dans une liste séparée par des virgules dans la procédure stockée sp_attach_db. La procédure sp_detach_db ne change pas, quel que soit le nombre de fichiers que contient la base de données, car elle ne les répertorie pas.
922804
(http://support.microsoft.com/kb/922804/
)
CORRECTIF : une fois que vous avez détaché une base de données Microsoft SQL Server 2005 qui réside sur un stockage connecté au réseau, vous ne pouvez plus rattacher cette base de données SQL Server.
Envisagez le problème suivant. De plus, prenez en compte les autorisations qui sont appliquées à une base de données lorsqu'elle est détachée dans SQL Server 2005. Pour plus d'informations, consultez la section « Detaching and Attaching a Database » de la rubrique « Securing Data and Log Files » dans la document SQL Server en ligne. Pour consulter cette rubrique, reportez-vous au site Web MSDN (Microsoft Developer Network) à l'adresse suivante : http://msdn2.microsoft.com/fr-fr/library/ms189128.aspx
(http://msdn2.microsoft.com/fr-fr/library/ms189128.aspx)
Exemple de déplacement de bases de donnéesPour déplacer les exemples de bases de données Pubs et Northwind dans SQL Server 2000 ou dans SQL Server 7.0, ou pour déplacer les exemples de bases de données Adventure Works et Adventure WorksDW dans SQL Server 2005, procédez de la même manière que pour déplacer des bases de données utilisateur.Déplacement de la base de données modelSQL Server 7.0
SQL Server 2005 et SQL Server 2000Dans SQL Server 2005 et dans SQL Server 2000, vous ne pouvez pas détacher les bases de données système à l'aide de la procédure stockée sp_detach_db. Lorsque vous tentez d'exécuter l'instruction sp_detach_db 'model', le message d'erreur suivant peut s'afficher :Serveur : Msg 7940, Niveau 16, État 1, Ligne 1 Impossible de détacher les bases de données système master, model, msdb et tempdb. Remarque Après cela, vous ne serez plus en mesure d'accéder à une quelconque base de données utilisateur. N'effectuez aucune opération autre que celles décrites dans la procédure qui suit lorsque vous utilisez cet indicateur de suivi. Pour ajouter l'indicateur de suivi 3608 en tant que paramètre de démarrage de SQL Server, procédez comme suit :
http://msdn2.microsoft.com/fr-fr/library/ms190737.aspx
(http://msdn2.microsoft.com/fr-fr/library/ms190737.aspx)
Après avoir ajouté les options -c, -m et l'indicateur de suivi 3608, procédez comme suit :
Déplacement de la base de données MSDBSQL Server 7.0Remarque Si vous appliquez cette procédure en même temps que vous déplacez les bases de données msdb et model, vous devez rattacher d'abord la base de données model, puis la base de données msdb. Procédez comme suit :
Serveur : Msg 3702, Niveau 16, État 1, Ligne 0 Impossible de supprimer la base de données 'msdb', parce qu'elle est présentement utilisée. Exécution de DBCC terminée. Si DBCC vous a adressé des messages d'erreur, contactez l'administrateur du système. SQL Server 2005 et SQL Server 2000Pour déplacer la base de données, SQL Server doit être démarré avec les options -c et -m ainsi qu'avec l'indicateur de suivi 3608 afin de ne récupérer aucune base de données à l'exception de master. Pour ajouter les options -c, -m et l'indicateur de suivi 3608, suivez les indications de la section « Déplacement de la base de données model ». Après avoir ajouté les options -c, -m et l'indicateur de suivi 3608, procédez comme suit :
Msg 0, Niveau 11, État 0, Ligne 0
Une erreur sérieuse s'est produite sur la commande actuelle. Le résultat, s'il y en a un, doit être ignoré. Après avoir déplacé la base de données msdb, le message d'erreur suivant peut s'afficher : Erreur 229 : Autorisation EXECUTE refusée sur l'objet 'Nom_objet', base de données 'master', propriétaire 'dbo'. 272424
(http://support.microsoft.com/kb/272424/
)
Vérification des chaînes de propriétés d'objets d'une base de données à une autre en fonction des connexions qui sont mappées aux propriétaires d'objets
Déplacement de la base de données master
Déplacement de la base de données tempdbVous pouvez déplacer les fichiers tempdb à l'aide de l'instruction ALTER DATABASE.
Déplacement de la base de données master et de la base de données ResourcePour plus d'informations sur la base de données master et sur la base de données Resource, consultez le site Web MSDN (Microsoft Developer Network) à l'adresse suivante :http://msdn2.microsoft.com/fr-fr/library/ms345408.aspx
(http://msdn2.microsoft.com/fr-fr/library/ms345408.aspx)
Références
Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
912397
(http://support.microsoft.com/kb/912397/
)
Le service SQL Server ne peut pas démarrer lorsque vous modifiez un paramètre de démarrage d'une instance en cluster de SQL Server 2000 ou de SQL Server 2005 en lui affectant une valeur qui n'est pas valide.
274188
(http://support.microsoft.com/kb/274188/
)
Rubrique « Troubleshooting orphaned users » (en anglais uniquement) incomplète dans la documentation en ligne
246133
(http://support.microsoft.com/kb/246133/
)
Comment faire pour transférer des noms d'accès et des mots de passe entre instances de SQL Server
168001
(http://support.microsoft.com/kb/168001/
)
Risque que les ouvertures de session et les autorisations utilisateur sur une base de données soient incorrectes une fois cette base de données restaurée
Pour plus d'informations, reportez-vous aux manuels suivants : Microsoft Corporation Microsoft SQL Server 7.0 System Administration Training Kit (en anglais uniquement) Microsoft Press, 2001 Microsoft Corporation Kit de formation MCSE Microsoft SQL Server 2000 : Administrateur système (http://www.microsoft.com/mspress/books/4885.aspx) Microsoft Press, 2001 Microsoft Corporation Microsoft SQL Server 2000 Resource Kit (en anglais uniquement) (http://www.microsoft.com/mspress/books/4939.aspx) Microsoft Press, 2001 Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Traductions disponibles
|
Retour au début
