2013-07-11 3 views
8

Ich habe zwei Datenbanken, eine heißt Natalie_playground und eine heißt LiveDB. Da ich einfügen möchte, Dinge zu aktualisieren, möchte ich einige der Tabellen von LiveDB zu Natalie_playground kopieren.SQL Server Kopieren von Tabellen von einer Datenbank in eine andere

Die Tabellen I kopiert werden soll heißen: Customers, Computers, Cellphones, Prices

Was ich zu tun versucht, dass (SSMS) direkt auf einem Tisch klicken, aber es gibt keine Kopie in there!

+0

In beiden Datenbanken existieren die gleichen Tabellen (mit der gleichen Struktur)? nur willst du nur ein daten weitergeben? –

+2

mögliches Duplikat von [SQL Server 2008: Kopieren des Inhalts aller Tabellen aus einer Datenbank in eine andere Datenbank] (http://stackoverflow.com/questions/4028104/sql-server-2008-copying-the-contents-of-all -tables-from-one-database-in-anoth) und [Wie kopiert man eine Tabelle von einer Datenbank in eine andere Datenbank/Tabelle in SQL Server] (http://stackoverflow.com/q/187770/62576), beide welche in der 'Related' Liste rechts von Ihrer Frage aufgeführt sind. ============================================================================================================================ Vielen Dank. –

+0

@natalia, Ken Grund haben, für diese Frage gibt es normalerweise die Antworten bereits. Vielen Dank. –

Antwort

9

Unter der Annahme, dass Sie zwei Datenbanken, zum Beispiel A und B:

  • Wenn Zieltabelle nicht vorhanden ist, wird das folgende Skript erstellen (ich auf diese Weise nicht empfohlen):

    SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N 
    INTO COPY_TABLE_HERE 
    FROM A.dbo.table_from_A table_A 
    
  • Wenn Zieltabelle vorhanden ist, dann:

    INSERT INTO TABLE_TARGET 
    SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N 
    FROM A.dbo.table_from_A table_A 
    

Hinweis: Wenn Sie dies lernen und üben möchten, können Sie vorherige Skripts verwenden. Wenn Sie jedoch die vollständige Struktur und Daten von der Datenbank in eine andere kopieren möchten, sollten Sie "Datenbank sichern und wiederherstellen" oder "Skriptdatenbank mit generieren" verwenden Daten "und führen Sie dies in eine andere Datenbank.

+0

Können Sie dies tun, ohne Auswahl die Feldnamen explizit? –

8

Rechts auf Ihre Datenbank klicken -> unter Aufgaben Skripte generieren zu wählen, folgen Sie dem Assistenten, Ihre Tabellen wählen und das Kontrollkästchen, das sagt ‚Skript Tabellendaten‘ (oder ähnlich) erzeugen sie ein SQL-Skript und führen Sie es auf Ihrer anderen DB aus.

4

Sie können auch den SQL Server Import/Export-Assistenten ausprobieren. Wenn Zieltabellen nicht bereits vorhanden sind, werden sie beim Ausführen des Assistenten erstellt.

Check out MSDN, um weitere Informationen http://msdn.microsoft.com/en-us/library/ms141209.aspx

+0

Wahrscheinlich der einfachste und zeitsparendste. +1 – LegendaryDude

0

versuchen diese

USE TargetDatabase 
GO 

INSERT INTO dbo.TargetTable(field1, field2, field3) 
SELECT field1, field2, field3 
FROM SourceDatabase.dbo.SourceTable 
WHERE (some condition) 
0

Wenn Sie nur das Schema der Tabellen zu kopieren, können Sie einen falschen Zustand bis zum Ende der genannten Abfragen hinzufügen.

ex.

SELECT table_A.FIELD_1, ..., table_A.FIELD_N 
INTO LiveDB.custom_table 
FROM Natalie_playground.dbo.custom_table table_A 
WHERE 0 > 1 
1

Versuchen Sie folgendes:

Wenn Zieltabelle vorhanden ist:

SELECT SourceTableAlias.* 
INTO TargetDB.dbo.TargetTable 
FROM SourceDB.dbo.SourceTable SourceTableAlias 

Und wenn Zieltabelle existiert nicht:

INSERT INTO TargetDB.dbo.TargetTable 
SELECT SourceTableAlias.* 
FROM SourceDB.dbo.SourceTable SourceTableAlias 

Good Luck!

Verwandte Themen