Datenbank auf neuen Rechner übertragen

Frage:
Die Datenbanken eines SQL Servers sollen auf einen neuen Rechner übertragen werden.

Lösung:
Hier gibt es verschiedene Vorgehensweisen:

1.
Die Datenbanken auf dem alten Server per sp_detach_db datenbankname vom Server abhängen. Danach die Datenbanken auf den neuen Server kopieren und abschließend die Datenbank mit sp_attach_db datenbankname, mdf-pfad, ldf-pfad wieder anhängen.

2.
Für diese Variante muss bereits bei der Installation des SQL Servers auf dem neuen Server darauf geachtet werden, dass der Installationspfad und der Datenpfad identisch mit dem alten Server ist.
Für die eigentliche Ãœbertragung der Datenbanken sind der alte und neue SQL Server zu stoppen, damit die Datenbankdateien frei kopiert werden können. Das Zielverzeichnis auf dem neuen Server muss den gleichen Pfad haben, wie das Quellverzeichnis auf dem alten Server.
Es müssen alle Datenbankdateien inklusive der System-Datenbanken kopiert werden. Nach dem Kopieren können der alte und der neue SQL Server wieder gestartet werden.
Sofern die Server unterschiedliche Bezeichnungen haben, müssen die beiden Procedures sp_dropserver NameVomAltenServer und sp_addserver NameVomNeuenServer, local ausgeführt werden.
Und bei Windows-Authentifizierung müssen zusätzlich noch alle Accounts gelöscht und neu angelegt werden.

3. (nur bei SQL Server 2000)
Die Datenbank kann über das Kontextmenü der Datenbank mit dem Befehl Alle Tasks-> Offline Schalten abgehängt und auf dem neuen Server mit dem Kontextmenü von Datenbanken über Alle Aufgaben (oder Alle Tasks) -> Datenbank anhängen wieder angehängt werden.

/* übernommen aus der Original sqlfaq.de */