2017-11-07 1 views
0

Ich möchte eine Klon-Tabelle (gleiche Tabellenstruktur) mit einer bereits vorhandenen Tabelle erstellen. Ich weiß, eine der Möglichkeiten ist:SQL Server - Scripting einer Tabelle

Right click on table name -> Script table as -> Create To -> New query editor 

ich herausgefunden habe auch eine andere Möglichkeit wäre:

Right click on database name -> Tasks -> Generate scripts -> choose the tables you want 

Auf dem Weg dorthin können Sie Skriptoptionen zu Skript, was ich will, wie Zwang, Indizes gesetzt , Auslöser usw.

Was wäre der Unterschied zwischen diesen beiden Methoden? Soweit ich beide Methode versucht und beide das gleiche Ergebnis produzieren, oder zumindest das ist, was ich sehe.

Ich weiß, dass alle STATISTIKEN in einer Tabelle nicht geschrieben werden können, wenn ich mich für die erste Methode entscheide, aber wenn ich für die zweite Methode gehe, könnte ich alle Statistiken in die Klon-Tabelle scripten, indem ich die Statistikeinstellungen auf Skript setze Statistiken und Histogramme. Dies wäre bei der ersten Methode nicht möglich.

Kann jemand etwas Licht darauf werfen?

Dank

+0

Ich glaube, es gibt keinen Unterschied Ich denke, es sei denn man ist eine einzige Tabelle zu klonen. Die andere Möglichkeit besteht darin, so viele Tabellen wie möglich zu klonen. Eine Sache, die mich hier auffängt, ist, dass Trigger standardmäßig in der Generate-Scripts-Option –

+0

weggelassen wird. –

Antwort

1

Nach meinem Wissen sind beide gleich. Ie. Create To-> New Query window generiert auch das Skript, aber es erlaubt Ihnen nur, die Tabelle zu erstellen - Sie können nicht angeben, was alles im Create-Skript enthalten sein muss, da dies eine Standardvorlage ist. Es wird standardmäßig die Skripte für alle in der Tabelle verfügbaren Einschränkungen generieren.

Mit der Option Generate Scripts haben Sie mehr Kontrolle über das generierte Skript. Sie können das Script für die Inserts generieren. Sie können wählen, ob das Skript für Schlüssel und Constraints generiert werden soll oder nicht.

Also Wenn Sie nur das Create-Skript generieren möchten, dann können Sie mit der rechten Maustaste auf die Tabelle klicken und wählen -> Neues Abfrage-Fenster oder Wenn Sie mehr Kontrolle über den Prozess haben möchten, dann versuchen Sie vielleicht die Skripte generieren Möglichkeit.

Auch, wenn Ihre Anforderung nur eine Tabelle mit der gleichen Struktur sowie Daten - ohne die Einschränkungen, versuchen Sie können dann die Select * INTO Option

SELECT * INTO T2 FROM T1 

Bitte besuchen Sie diesen Link für weitere Informationen Generate Scripts for Data in the Tables of SQL Server

Options for scripting SQL Server database objects

+0

Was ist mit dem Statistikskript? Ich konnte Statistiken nicht mit der ersten Methode übertragen. –

+0

möchte vielleicht eine 1 = 2 am Ende dieser Klausel setzen, sonst wirst du ewig warten, wenn die Tabelle 500 Millionen Zeilen darin hat –

+0

Das erste Methodenskript für eine exakte Kopie der Tabelle mit allen Nebenbedingungen, aber Nein Daten. Also, wenn Sie die Statistikdaten der Tabelle wie die Werte ziehen möchten, sollten Sie vielleicht die 2. Option von Generate Scripts verwenden –

-1

Mit unten Option wird das Skript nicht in der Lage sein, zu erzeugen, um die Daten zu kopieren

Right click on table name -> Script table as -> Create To -> New query editor 

Aber wenn Sie das Skript aus Aufgabe generieren, können Sie Struktur kopieren sowie Daten

Right click on database name -> Tasks -> Generate scripts -> choose the tables you want 
+0

Was ist mit Scripting-Statistiken? Die erste Methode würde es mir nicht erlauben, alle Statistiken in die Klon-Tabelle zu schreiben. Selbst wenn ich die Skriptoptionen auf Skriptstatistiken setze. –

Verwandte Themen