Eine Daten-/Logdatei an einen anderen Ort verschieben
SQL ServerSpeicherBefehl
-- 1) Tell SQL Server the new path (nothing is moved yet):
ALTER DATABASE [Customer]
MODIFY FILE (NAME = N'Customer_data',
FILENAME = N'G:\Data\Customer_data.mdf');
-- 2) Take the database offline:
ALTER DATABASE [Customer] SET OFFLINE WITH ROLLBACK IMMEDIATE;
-- 3) Physically copy/move the file to the new path AT THE OPERATING SYSTEM level (G:\Data\...).
-- 4) Bring it online:
ALTER DATABASE [Customer] SET ONLINE;Was es tut
Ändert den physischen Speicherort einer Datenbankdatei: Der neue Pfad wird in den Metadaten festgelegt, die Datei wird physisch verschoben, während die Datenbank offline ist, dann wird die Datenbank online geschaltet.
Wann einsetzen
Beim Austausch einer Platte oder beim Umzug auf ein anderes Laufwerk, um Platz zu gewinnen.
Vorsicht
OFFLINE + ROLLBACK IMMEDIATE trennt alle aktiven Verbindungen; plane eine Downtime ein. Schalte die Datenbank nicht ONLINE, bevor die Datei im Betriebssystem tatsächlich an den neuen Pfad kopiert wurde, sonst wird die Datenbank SUSPECT. tempdb erfordert eine andere Methode (MODIFY FILE + Neustart des SQL-Server-Dienstes).