2016-06-08 10 views
0

Ich hoffe, Sie können mir mit dieser Situation helfen. Mein Chef hat eine brandneue Datenbank aufgebaut und möchte einige der alten Tabellen in der neuen Datenbank haben. Meine Frage ist, wie übertrage ich die Daten und das Schema von der alten Datenbank auf die neue Datenbank, ohne die Tabellen in der alten Datenbank zu löschen? Hier sind meine zwei Datenbanken: WTS-SQL-DEV = Dies ist die alte Datenbank : WTS-Geschäft = wird die neue DatenbankÜbertragen Sie Daten und Schema von einer Datenbank in eine andere Tabelle zu einer Zeit

Weitere Informationen von Kommentar:

ich beide Datenbanken zugreifen kann auf die gleiche Maschine. Ich habe ein Video auf youtube gefunden, wie man die Tabelle über und die Struktur überträgt. Ich war fehlt die Daten.

+0

Oh Im mit Microsoft SQL Server 2016 – kliebwatchtower

+1

Nehmen Sie eine vollständige Sicherung der alten db.Auf neuen Computer kopieren. – jarlh

+0

Wenn Sie beide Datenbanken auf demselben Server oder zumindest auf einem verbundenen Server haben, wäre das Einfügen solcher Daten ein Kinderspiel. Lassen Sie uns ein bisschen mehr darüber wissen, können Sie auf beide Datenbanken von demselben Rechner aus zugreifen? –

Antwort

0
  1. eine Sicherung der Datenbank
  2. Nehmen

enter image description here

enter image description here

  1. Auf der neuen Maschine
die Datenbank wiederherstellen

enter image description here

enter image description here

0

Sie haben erwähnt, dass die 2-Datenbanken auf der gleichen Maschine sind, und dass Sie herausgefunden, wie das Schema zu verschmerzen

(ich benutze Tasks - Create Scripts von der rechten Maustaste im Kontextmenü in der Datenbank, und generieren Sie die Skripte, indem Sie die einzelnen Tabellen auswählen und in einem neuen Abfragefenster speichern. Dann ist es so einfach wie Use [new_db] oben auf jedem erstellten Skript, und die Objekte werden in der neuen Datenbank erstellt, wo [new_db] Ihr neuer Datenbankname ist.).

Da die Tabellen die gleiche Struktur haben, um die Daten einzufügen, ist es eine insert select-Anweisung, sobald Sie Tabellen in der neuen DB erstellen. Aktivieren Sie identity insert, wenn (wie es sein sollte) eine automatisch generierte Primärschlüsselspalte vorhanden ist. Fügen Sie die Daten ein. Deaktivieren Sie dann identity insert.

Ziemlich geradlinig in Ihrem Fall, und keine Notwendigkeit, die db zu sichern/wiederherstellen. Wenn sich die Datenbanken auf separaten, nicht verbundenen Servern befinden, wäre eine Sicherung/Wiederherstellung erforderlich, um die alten und neuen Datenbanken auf demselben Rechner zu erhalten ... etwas, das Sie in Ihrem speziellen Fall bereits haben.

+0

Verwenden Sie [WTS-Business] Legen Sie IDENTITY_INSERT [dbo]. [WTS-Expense-RecurringCharges] On In [dbo] einfügen. [WTS-Expense-RecurringCharges] Wählen Sie * Von [WTS-SQL-DEV]. [Dbo ] [WTS-Expense-RecurringCharges] IDENTITY_INSERT [dbo]. [WTS-Expense-RecurringCharges] Aus Meldung 40515, Ebene 15, Status 1, Zeile 30 Referenz auf den Datenbank- und/oder Servernamen in 'WTS-SQL- DEV.dbo.WTS-Expense-RecurringCharges 'wird in dieser Version von SQL Server nicht unterstützt. Ich habe versucht, Ihrem Beispiel zu folgen Dies ist, was ich sehe, wenn ich excute – kliebwatchtower

+0

@kliebwatchtower Dies scheint eine SQL 2016-Einschränkung (Cross-Datenbank-Transaktion), wenn zwei Datenbanken auf der gleichen Instanz sind nicht erlaubt sind ... Ich denke @ JiggsJedi's Antwort könnte der Weg sein, hier zu gehen. –

1

Zwei gute Antworten bereits.

Eine weitere Option besteht darin, mit der rechten Maustaste auf die Datenbank zu klicken und dann zu Aufgaben> Daten exportieren zu gehen.

Dies startet den Import/Export-Assistenten. Sie können Quell-/Zielserver/Datenbanken und Objekte definieren und alles kopieren.

https://msdn.microsoft.com/en-us/library/ms140052.aspx

+0

Schön und einfach :) –

+0

Ich habe die Daten über den Importeur/Exporteur. Das war einfach. Gibt es eine einfache Möglichkeit, all die zusätzlichen Dinge wie Einschränkungen und dergleichen einzubeziehen? – kliebwatchtower

+0

Diese müssten wahrscheinlich gescriptet werden. Klicken Sie mit der rechten Maustaste auf DB> Aufgaben> Skripte erstellen. In "Set Scripting Options", klicken Sie auf Advanced und in der Nähe des unteren können Sie Scripting von Constraints/Schlüssel/Indizes/Trigger/etc aktivieren. – JiggsJedi

Verwandte Themen