Outils pour utilisateurs

Outils du site


bases_de_donnees:sqlserver:changer_emplacement_base_de_donnees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bases_de_donnees:sqlserver:changer_emplacement_base_de_donnees [2015/08/20 17:17] sgariepybases_de_donnees:sqlserver:changer_emplacement_base_de_donnees [2022/02/02 00:42] (Version actuelle) – modification externe 127.0.0.1
Ligne 5: Ligne 5:
 On peut déplacer les fichiers d'une base de données à un autre endroit. On peut déplacer les fichiers d'une base de données à un autre endroit.
  
-  - Il faut connaître le nom logique de la base de données, qui n'est pas nécessairement le même nom qui est utilisé dans la liste des bases de données.  Pour se faire, exécuter :<code sql>USE master+  - Il faut connaître le nom logique (**LogigalFileName**) de la base de données, qui n'est pas nécessairement le même nom qui est utilisé dans la liste des bases de données.  Pour se faire, exécuter :<code sql>USE master
 GO GO
 SELECT SELECT
Ligne 12: Ligne 12:
     state_desc AS Status      state_desc AS Status 
 FROM sys.master_files  FROM sys.master_files 
-WHERE database_id = DB_ID('database_name ');+WHERE database_id = DB_ID('database_name');
 </code> </code>
   - Mettre la base de données //offline// soit en allant dans **Tasks** -> **Take Offline** ou en exécutant : <code sql>ALTER DATABASE database_name SET OFFLINE;</code>   - Mettre la base de données //offline// soit en allant dans **Tasks** -> **Take Offline** ou en exécutant : <code sql>ALTER DATABASE database_name SET OFFLINE;</code>
 +  - Déplacer les fichiers Data et Log dans un nouvel emplacement, exemple ''D:\SQLServerDatabaseFiles''.
 +  - Faire le changement dans la base de données ''master'' pour le fichier data :<code sql>USE master
 +GO
 +ALTER DATABASE database_name
 +MODIFY FILE ( NAME = database_name_data, 
 +FILENAME = 'D:\SQLServerDatabaseFiles\database_name.mdf');</code>
 +  - Faire le changement dans la base de données ''master'' pour le fichier log :<code sql>USE master
 +GO
 +ALTER DATABASE database_name
 +MODIFY FILE ( NAME = database_name_log, 
 +FILENAME = 'D:\SQLServerDatabaseFiles\database_name_1.ldf');</code>
 +  - Donner les permissions (contrôle complet) au répertoire ''D:\SQLServerDatabaseFiles\'' et aux fichiers de la base de données à l'utilisateur utilisé par l'instance de SQL Server.  Ceci peut être trouvé dans la liste des services de Windows.  Dans mon cas il s'agit de ''NT SERVICE\MSSQL$SQL2012''.{{:bases_de_donnees:sqlserver:sqlserver-instance-user.png|}}
 +  - Remettre la base de données //online//.<code sql>ALTER DATABASE database_name SET ONLINE;</code>
 +
 +
 +====== Sources ======
 +
 +  * [[http://sqlserverzest.com/2013/08/10/sql-server-how-to-move-database-files-data-file-and-log-file-from-one-drive-location-to-the-other/|SQL Server – How to Move Database Files – Data File and Log File – From One Drive Location to the Other]]
 +  * [[https://msdn.microsoft.com/en-us/library/jj219062.aspx|Configure File System Permissions for Database Engine Access]]
 +
bases_de_donnees/sqlserver/changer_emplacement_base_de_donnees.1440083874.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)