PI Services

Le blog des collaborateurs de PI Services

SQL Server – Changer l’emplacement par défaut des bases de données utilisateur et systèmes

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

ServerProp

- 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

dbLocation 

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

  1. Changer les paramètres de démarrage de SQL Server en utilisant SQL Server Configuration Manager (Gestionnaire de configuration SQL Server)

configSQL

  1. Changer le chemin du fichier master.mdf en précisant le nouveau chemin devant la commutateur –d
  2. Changer  le chemin du fichier mastlog.ldf en précisant le nouveau chemin devant le commutateur –l
  3. 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>)
  4. Déplacer les fichier vers le nouvel emplacement
  5. 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 :

      USE master
      Go
      sp_detach_db ‘msdb’
      Go

  • 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

      USE master
      Go
      sp_attach _db ‘msdb’ , ‘<nouvel emplacement>\msdbdata.mdf’, ‘<nouvel emplacement>\msdblog.ldf’
      Go

      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