Kann man die Systemdatenbanken (master, model, msdb, tempdb) im Dateisystem verschieben, zum Beispiel auf ein anderes Laufwerk ?Ja. Im laufenden Betrieb? Nein.
So verschiebt man die Systemdatenbanken MODEL, MASTER und MSDB
Wo befinden sich die Datenbankdateien im Moment?
SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID(N’model’);
- Neuen physikalischen Pfad für model, msdb und tempdb festlegen:
USE master; -- model Datenbank verschieben ALTER DATABASE model MODIFY FILE (NAME = modeldev, FILENAME = "E:\SQL-DB\model.mdf"); ALTER DATABASE model MODIFY FILE (NAME = modellog, FILENAME = "E:\SQL-DB\modellog.ldf"); -- msdb Datenbank verschieben ALTER DATABASE msdb MODIFY FILE (NAME = MSDBData, FILENAME = "E:\SQL-DB\MSDBData.mdf"); ALTER DATABASE msdb MODIFY FILE (NAME = MSDBLog, FILENAME = "E:\SQL-DB\MSDBLog.ldf"); -- tempdb Datenbank verschieben ALTER DATABASE TempDB MODIFY FILE (NAME = Tempdev, FILENAME = "E:\SQL-DB\tempdb.mdf"); ALTER DATABASE TempDB MODIFY FILE (NAME = Templog, FILENAME = "E:\SQL-DB\templog.ldf");
- SQL Server Dienst beenden
- Dateien im Dateisystem verschieben
- SQL Server Dienst starten
So verschiebt man die Systemdatenbank MASTER
- SQL Konfigurationsmanager öffnen
- Links in der Baumansicht auf „SQL Server Dienste“
- Rechts die Eigenschaften von „SQL Server (INSTANZNAME)“ öffnen
- Auf dem Tab „Startparameter“ die Pfade auf die neuen Zielpfade ändern
- ACHTUNG, BUG in SQL 2012/2014: Der „Aktualisieren“ Knopf lässt keine Pfade zu, die ein Minuszeichen enthalten („Ungültiger Parameter“).
- Wenn der Pfad ein Minuszeichen enthält, muss man den Pfad in der Registry direkt bearbeiten:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\Parameters
- SQL-Server Dienst beenden
- Dateien im Dateisystem verschieben
- SQL-Server Dienst starten