L’emplacement par défaut des bases de données SQL Server est généralement <Dossier d'installation>\MSSQL.1\MSSQL\Data
SQL Server nous permet de modifier cet emplacement par défaut sauf qu’il faut faire attention que la procédure n’est pas la même pour les bases de données utilisateurs et les bases de données système.
Changement de l’emplacement par défaut des bases utilisateur
Pour modifier l’emplacement par défaut des base de donnés utilisateurs juste après l’installation de SQL Server :
- Ouvrir SQL Server Management Studio
- Avec le bouton droit de la souri cliquer sur Serveur | Propriétés
- Sélectionner la page Paramètres de base de données
- Au niveau de la section Emplacement de la base de données par défaut saisir les nouveau emplacements des fichiers de données et des fichiers Log
Pour réaliser cette opération on peut aussi exécuter le code T-SQL suivant :
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', REG_SZ, N'E:\UserDB'
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', REG_SZ, N'E:\UserLOG'
GO
Déplacement des bases de données systèmes
La base de données MASTER
- Changer les paramètres de démarrage de SQL Server en utilisant SQL Server Configuration Manager (Gestionnaire de configuration SQL Server)
- Changer le chemin du fichier master.mdf en précisant le nouveau chemin devant la commutateur –d
- Changer le chemin du fichier mastlog.ldf en précisant le nouveau chemin devant le commutateur –l
- Arrêter le service SQL Server en exécutant NET STOP MSSQLSERVER (pour une instance nommée utiliser NET STOP MSSQL$<Nom de l’instance>)
- Déplacer les fichier vers le nouvel emplacement
- Démarrer le service SQL Server en exécutant NET START MSSQLSERVER
Les bases de données MSDB et MODEL
Cette procédure s’applique à la base de données MSDB et MODEL :
Les scripts mentionnés concernent la base de données MSDB et il suffit de les adapter pour MODEL.
- Démarrer un invite de commande (cmd)
- Exécuter NET STOP MSSQLSERVER
- Exécuter NET START MSSQLSERVER /c /m /T3608
- Exécuter l’utilitaire SQLCMD (il faut s’assurer que tous les autres services SQL sont arrêtés et qu’aucune application ne tente de se connecter au serveur )
- Au niveau de l’invite SQLCMD exécuter le script T-SQL Suivant :
- Déplacer les fichiers msdbdata.mdf et msdglog.ldf dans le nouvel emplacement
- Exécuter NET STOP MSSQLSERVER
- Exécuter NET START MSSQLSERVER
- Lancer le script T-SQL suivant
sp_attach _db ‘msdb’ , ‘<nouvel emplacement>\msdbdata.mdf’, ‘<nouvel emplacement>\msdblog.ldf’
La base de données TEMPDB
- Exécuter le script T-SQL suivant :
USE master
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = 'tempdev',FILENAME = '<new location>\tempdb.mdf')
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = 'templog',FILENAME = '<new location>\templog.ldf')
GO
- Exécuter NET STOP MSSQLSERVER
- Déplacer les fichiers tempdb.mdf et templog.ldf au nouvel emplacement
- Exécuter NET START MSSQLSERVER