Kopieren von Daten zwischen Servern
Um Daten von einer MicrosoftSQL Server-Datenbank in eine andere massenzuübertragen, müssen zunächst Daten aus der Quelldatenbank in eine Datei massenexportiert werden. Die Datei wird dann in die Zieldatenbank massenimportiert.
Wichtig |
---|
Für eine Datenbank, die das einfache Wiederherstellungsmodell verwendet, wird nach dem Massenimport von Daten in eine Tabelle eine differenzielle Sicherung empfohlen. Für eine Datenbank, die das massenprotokollierte oder vollständige Wiederherstellungsmodell verwendet, ist eine Protokollsicherung ausreichend. Weitere Informationen finden Sie unter Erstellen einer vollständigen und einer differenziellen Sicherung einer SQL Server-Datenbank oder Verwenden von Transaktionsprotokollsicherungen. |
Kopieren von Daten zwischen Servern mithilfe von bcp oder Transact-SQL
Mit dem bcp-Befehl können Sie Daten exportieren oder importieren, und mit der BULK INSERT-Anweisung oder der INSERT ... SELECT * FROM OPENROWSET(BULK...)-Anweisung von Transact-SQL können Sie Daten importieren. Weitere Informationen finden Sie unter Importieren und Exportieren von Massendaten mithilfe des Dienstprogramms bcp und Importieren von Massendaten mithilfe von BULK INSERT oder OPENROWSET(BULK...).
Mit den bcp-Befehlen können Daten im systemeigenen, Zeichen- oder Unicode-Format zwischen verschiedenen Instanzen von SQL Server auf unterschiedlichen Prozessorarchitekturen kopiert werden. Falls Flexibilität erforderlich ist, kann eine Formatdatei verwendet werden. Das Format oder die Formatdatei, mit dem bzw. der die Daten exportiert werden, muss auch zum Importieren der Daten verwendet werden.
Hinweis |
---|
Falls Sie Daten zwischen Serverinstanzen kopieren, die unterschiedliche Sortierungen verwenden, finden Sie weitere Informationen unter Kopieren von Daten zwischen unterschiedlichen Sortierungen. |
Speichern von Informationen im systemeigenen Unicode-Format
Es ist nützlich, Informationen im systemeigenen Unicode-Format zu speichern, wenn Informationen zwischen Instanzen von SQL Server kopiert werden müssen. Durch die Verwendung des systemeigenen Formats bei nicht auf Zeichen basierenden Daten kann Zeit eingespart werden, und die unnötige Konvertierung der Datentypen in und aus dem Zeichenformat entfällt. Der Verlust von Zeichen ist dann möglich, wenn Sonderzeichen in Spalten kopiert werden, die nicht auf Unicode basieren, und das Sonderzeichen nicht dargestellt werden kann. Die Verwendung des Unicode-Zeichenformats für alle Zeichendaten verhindert, dass es zum Verlust von Sonderzeichen beim Massenübertragen von Daten zwischen Servern mit unterschiedlichen Codepages kommt. Eine Datendatei im systemeigenen Unicode-Format kann jedoch vom Dienstprogramm bcp oder von den Transact-SQL-Anweisungen gelesen werden, die den Massenimport unterstützen: BULK INSERT oder INSERT ... SELECT * FROM OPENROWSET(BULK...).
Zusätzliche Methoden zum Kopieren von Daten zwischen Datenbanken
Neben der Verwendung von bcp oder Transact-SQL können Sie im Allgemeinen Daten mithilfe der folgenden Methoden zwischen SQL Server-Datenbanken kopieren:
Mit dem Import/Export-Assistenten von Integration Services (SSIS)
Dieser Assistent kann auf eine große Anzahl von Datenquellen zugreifen. Daten können von und nach SQL Server, Flatfiles, Microsoft Access, Microsoft Excel und anderen OLE DB-Anbietern kopiert werden. Weitere Informationen finden Sie unter Importieren und Exportieren von Daten mit dem SQL Server-Import/Export-Assistenten.
Mit verteilten Abfragen als Teil einer INSERT-Anweisung. Weitere Informationen finden Sie unter Verteilte Abfragen und INSERT (Transact-SQL).
Mit der SELECT INTO-Anweisung, die angibt, dass mithilfe des Resultsets eine neue Tabelle erstellt wird. Weitere Informationen finden Sie unter SELECT (Transact-SQL).
Hinweis |
---|
Weitere Informationen zum Kopieren vollständiger Datenbanken finden Sie unter Kopieren von Datenbanken auf andere Server. |
Siehe auch