Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird beschrieben, wie Sie eine getrennte Datenbank an einen anderen Speicherort verschieben und sie erneut an dieselbe oder eine andere Serverinstanz in SQL Server 2014 anfügen. Es wird jedoch empfohlen, Datenbanken mithilfe des geplanten Verlagerungsverfahrens ALTER DATABASE zu verschieben, anstatt das Trennen und Anfügen zu verwenden. Weitere Informationen finden Sie unter Verschieben von Benutzerdatenbanken.
Von Bedeutung
Es wird empfohlen, Keine Datenbanken aus unbekannten oder nicht vertrauenswürdigen Quellen anzufügen oder wiederherzustellen. Solche Datenbanken können schädlichen Code enthalten, der möglicherweise unbeabsichtigten Transact-SQL -Code ausführt oder Fehler verursacht, indem er das Schema oder die physische Datenbankstruktur ändert. Bevor Sie eine Datenbank aus einer unbekannten oder nicht vertrauenswürdigen Quelle verwenden, führen Sie DBCC CHECKDB auf der Datenbank auf einem Nichtproduktserver aus, und überprüfen Sie den Code, z. B. gespeicherte Prozeduren oder anderen benutzerdefinierten Code, in der Datenbank.
Prozedur
So verschieben Sie eine Datenbank mithilfe von Trennen und Anfügen
Trennen Sie die Datenbank. Weitere Informationen finden Sie unter Trennen einer Datenbank.
Verschieben Sie in einem Windows Explorer- oder Windows-Eingabeaufforderungsfenster die getrennte Datenbankdatei oder -dateien und Protokolldateien an den neuen Speicherort.
Hinweis
Um eine Einzeldatei-Datenbank zu verschieben, können Sie eine E-Mail verwenden, wenn die Dateigröße klein genug ist, damit das E-Mail-Postfach die Größe verarbeiten kann.
Sie sollten die Protokolldateien auch dann verschieben, wenn Sie neue Protokolldateien erstellen möchten. In einigen Fällen erfordert das erneute Anziehen einer Datenbank die vorhandenen Protokolldateien. Behalten Sie daher immer alle getrennten Protokolldateien bei, bis die Datenbank erfolgreich ohne sie angefügt wurde.
Hinweis
Wenn Sie versuchen, die Datenbank anzufügen, ohne die Protokolldatei anzugeben, sucht der Anfügungsvorgang an seinem ursprünglichen Speicherort nach der Protokolldatei. Wenn eine Kopie des Protokolls noch am ursprünglichen Speicherort vorhanden ist, wird diese Kopie angefügt. Um die Verwendung der ursprünglichen Protokolldatei zu vermeiden, geben Sie entweder den Pfad der neuen Protokolldatei an, oder entfernen Sie die ursprüngliche Kopie der Protokolldatei (nach dem Kopieren in den neuen Speicherort).
Fügen Sie die kopierten Dateien an. Weitere Informationen finden Sie unter Attach a Database.
Beispiel
Im folgenden Beispiel wird eine Kopie der Transact-SQL-Anweisungen in einem Abfrage-Editor-Fenster ausgeführt, das mit der Serverinstanz verbunden ist, an die angefügt wird.
Trennen Sie die Transact-SQL-Anweisungen:
USE master; GO EXEC sp_detach_db @dbname = N'AdventureWorks2012'; GOKopieren Sie mit der von Ihnen gewählten Methode die Datenbankdateien (AdventureWorks208R2_Data.mdf und AdventureWorks208R2_log) in: C:\MySQLServer\AdventureWorks208R2_Data.mdf bzw. C:\MySQLServer\AdventureWorks208R2_Log.ldf.
Von Bedeutung
Platzieren Sie für eine Produktionsdatenbank die Datenbank und das Transaktionsprotokoll auf separaten Datenträgern.
Um Dateien über das Netzwerk auf einen Datenträger auf einem Remotecomputer zu kopieren, verwenden Sie den Namen der universellen Benennungskonvention (UNC) des Remotespeicherorts. Ein UNC-Name verwendet den Namen \\ "Servername\Sharename\Path\Filename". Wie beim Schreiben von Dateien auf die lokale Festplatte müssen die entsprechenden Berechtigungen, die zum Lesen oder Schreiben in eine Datei auf dem Remotedatenträger erforderlich sind, dem Benutzerkonto gewährt werden, das von der SQL Server-Instanz verwendet wird.
Fügen Sie die verschobene Datenbank und optional ihr Protokoll hinzu, indem Sie die folgenden Transact-SQL Anweisungen ausführen:
USE master; GO CREATE DATABASE MyAdventureWorks ON (FILENAME = 'C:\MySQLServer\AdventureWorks2012_Data.mdf'), (FILENAME = 'C:\MySQLServer\AdventureWorks2012_Log.ldf') FOR ATTACH; GOIn SQL Server Management Studio ist eine neu angefügte Datenbank im Objekt-Explorer nicht sofort sichtbar. Zum Anzeigen der Datenbank klicken Sie im Objekt-Explorer auf "Ansicht" und dann auf "Aktualisieren". Wenn der Knoten "Datenbanken" im Objekt-Explorer erweitert wird, wird die neu angefügte Datenbank jetzt in der Liste der Datenbanken angezeigt.