2009-03-02 2 views
32

Ich möchte eine Tabelle von einer Datenbank in eine andere kopieren. Ich weiß, dass Sie Folgendes problemlos tun können, wenn sich die Datenbanken auf demselben SQL Server befinden.Tabelle in eine andere Datenbank auf einem anderen SQL Server kopieren

SELECT * INTO NewTable FROM existingdb.dbo.existingtable; 

Gibt es eine einfache Möglichkeit, dies zu tun, wenn die Datenbanken auf zwei verschiedenen SQL Server sind, ohne in der Originaltabelle durch jeden Datensatz zu Schleife und es in die neue Tabelle einfügen?

Auch dies muss in Code außerhalb von SQL Server Management Studio erfolgen.

Antwort

53

Ja. Fügen Sie einen linked server Eintrag hinzu, und verwenden Sie select, um die vierteilige DB-Objektbenennungskonvention zu verwenden.

Beispiel:

SELECT * INTO targetTable 
FROM [sourceserver].[sourcedatabase].[dbo].[sourceTable] 
2

die Skripte generieren?

Erstellen Sie ein Skript zum Erstellen der Tabelle, und generieren Sie ein Skript zum Einfügen der Daten.

check-out SP_ Genereate_Inserts zum Generieren der Daten einfügen Skript.

+0

Wenn Sie große Datenmengen skripten, kann das SSMS das SQL nicht öffnen. – jumxozizi

+0

Sie können jedoch 'sqlcmd' an einer Eingabeaufforderung verwenden, um das Skript auszuführen. –

+0

@Rubiksmmo - True, aber auch, dass, selbst wenn SSMS eine große Menge von Daten öffnen kann, kann die Einfügung immer noch ("Abfrage schließt mit Fehlern") beim Scripting selbst eine _momestly große_ Menge von Daten. Dies kann sogar mit einer kleinen Anzahl von Spalten (von geringer Breite, bei der) passieren. – OcelotXL

3

Wenn nur Tabellen kopiert werden, dann funktionieren verknüpfte Server oder Skripte, aber wenn die sekundäre Tabelle bereits einige Daten enthält, würde ich vorschlagen, ein Vergleichsprogramm von Drittanbietern zu verwenden.

Ich verwende Apex Diff aber es gibt auch viele andere Tools gibt, wie die von Red Gate oder Dev Kunst ...

Third-Party-Tools sind nicht erforderlich, natürlich und Sie können alles tun nativ es ist einfach bequemer. Selbst wenn Sie ein knappes Budget haben, können Sie diese im Testmodus verwenden, um Dinge zu erledigen ....

Here ist ein guter Thread zu ähnlichen Thema mit vielen weiteren Beispielen, wie Sie dies in pure sql tun.

0

Erstellen Sie die Datenbank, mit Script-Datenbank wie ... CREATE

Innerhalb SSMS auf dem Quellserver, den Export-Assistenten mit der Zielserver-Datenbank als Ziel verwenden.

  • Quelle Instanz> YourDatabase> Aufgaben> Exportieren von Daten
  • Daten Soure = SQL Server Native Client
    • Validate/enter Server & Datenbank
  • Ziel = SQL Server Native Client
    • Server bestätigen/eingeben & Da TAbase
  • Folgen Sie durch Assistenten
2

SQL Server (2012) bietet eine weitere Möglichkeit, Skript für die SQL Server-Datenbanken mit ihren Aufgaben und Daten zu erzeugen. Dieses Skript kann verwendet werden, um das Schema und die Daten der Tabellen von der Quelldatenbank in die Zieldatenbank in unserem Fall zu kopieren.

  1. Verwenden Sie das SQL Server Management Studio, klicken Sie mit der rechten Maustaste auf die Quelldatenbank im Objekt-Explorer, und wählen Sie dann unter Aufgaben die Option Skripts generieren aus. enter image description here
  2. Wählen Sie im Fenster Objekte auswählen die Option Bestimmte Datenbankobjekte auswählen, um die Tabellen anzugeben, für die Sie ein Skript erstellen möchten. Wählen Sie dann die Tabellen aus, indem Sie neben den einzelnen Tabellen ein Häkchen setzen. Weiter klicken. enter image description here
  3. Geben Sie im Fenster Skriptoptionen festlegen den Pfad zum Speichern der generierten Skriptdatei an, und klicken Sie auf Erweitert. enter image description here
  4. Geben Sie im angezeigten Fenster Erweiterte Skriptoptionen Schema und Daten als Datentypen für das Skript an. Sie können hier entscheiden, ob Sie die Indizes und Schlüssel in Ihren Tabellen skripten möchten. OK klicken. enter image description here Kehren Sie zum Fenster Erweiterte Skriptoptionen zurück und klicken Sie auf Weiter.
  5. Überprüfen Sie das Fenster Zusammenfassung und klicken Sie auf Weiter. enter image description here
  6. Sie können den Fortschritt im Fenster "Skripte speichern oder veröffentlichen" überwachen. Wenn es keinen Fehler gibt, klicken Sie auf Fertig stellen und Sie finden die Skriptdatei im angegebenen Pfad. enter image description here

SQL Scripting Methode ist hilfreich, ein einziges Skript für die Tabellen Schema und die Daten zu generieren, die Indizes und Schlüssel inklusive. Aber wiederum erzeugt diese Methode das Erstellungsskript der Tabellen nicht in der richtigen Reihenfolge, wenn Beziehungen zwischen den Tabellen bestehen.

Verwandte Themen