DBAtlas · Atlas für Datenbankbetrieb

Eine Daten-/Logdatei an einen anderen Ort verschieben

SQL ServerSpeicher

Befehl

-- 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).

In DBAtlas öffnen →

Verwandte Einträge