it-swarm.com.de

Speichern von Ergebnissen mit Kopfzeilen in SQL Server Management Studio

Ich verwende SQL Server Management Studio. 

Ich möchte die Ergebnisse einer Abfrage in einer Excel-Datei speichern. 

Ich wähle "Speichern unter" und dann in eine CSV-Datei, die ich in Excel öffnen kann. Alles gut, außer mir fehlen Spaltenköpfe, irgendwelche Ideen, wie ich sie exportiere?

151
dublintech

werkzeuge -> Optionen -> Abfrageergebnisse -> SQL-Server -> Ergebnisse in Text (oder Raster, wenn Sie möchten) -> Spaltenheader in die Ergebnismenge einbeziehen

Möglicherweise müssen Sie SSMS nach dem Ändern dieser Option schließen und erneut öffnen.

* Auf der SQL Editor-Symbolleiste können Sie "Speichern in Datei" auswählen, ohne SSMS neu starten zu müssen

226
Diego

Eine andere Möglichkeit besteht darin, die Zwischenablage zum Kopieren und Einfügen der Ergebnisse direkt in Excel zu verwenden. Seien Sie vorsichtig mit dem Typ Excel-Spalten vom Typ General, da diese je nach Ihren Daten manchmal unvorhersehbare Ergebnisse haben können. CTL-A irgendwo im Ergebnisraster und dann mit der rechten Maustaste:

enter image description here

33
John Dewey

Versuchen Sie den Exportassistenten. In diesem Beispiel wähle ich eine ganze Tabelle aus, aber Sie können eine Abfrage genauso einfach angeben:

enter image description here

enter image description here

enter image description here

enter image description here

(Sie können hier auch eine Abfrage angeben)

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

33
John Dewey

Zumindest in SQL Server 2012 können Sie mit der rechten Maustaste in das Abfragefenster klicken und Abfrageoptionen auswählen. Von dort aus können Sie "Kopfzeilen einschließen" für Raster und/oder Text auswählen und die Funktion "Speichern unter" wie gewünscht verwenden, ohne SSMS neu zu starten.

Sie müssen es jedoch noch in der Menüleiste unter Extras-> Optionen ändern, damit neue Abfragefenster diese Einstellungen standardmäßig verwenden.

11

Klicken Sie mit der rechten Maustaste auf das Ergebnis, und klicken Sie mit der rechten Maustaste auf "Ergebnisse kopieren".

6
Chris Dimitriu

Das gleiche Problem tritt in Visual Studio auf. Hier können Sie es beheben:

Gehe zu:

Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid

Aktivieren Sie nun das Kontrollkästchen auf "true": "Spaltenüberschriften beim Kopieren oder Speichern der Ergebnisse einschließen".

6

Die Einstellungen, deren Änderung in der von @ Diego akzeptierten Antwort empfohlen wurde, sind möglicherweise hilfreich, wenn Sie diese Option für alle zukünftigen Abfragesitzungen, die Sie in SQL Server Management Studio (SSMS) öffnen, dauerhaft festlegen möchten. Dies ist normalerweise nicht der Fall. Wenn Sie diese Einstellung ändern, müssen Sie auch die Anwendung SQL Server Management Studio (SSMS) neu starten. Dies ist nicht so einfach, wenn Sie viele nicht gespeicherte offene Abfragesitzungsfenster haben und sich mitten im Debugging befinden.

SQL Server bietet eine sehr raffinierte Option zum Ändern pro Sitzung, die sehr schnell, praktisch und bequem ist . Ich führe die folgenden Schritte im Fenster mit den Abfrageoptionen aus:

  1. Klicken Sie mit der rechten Maustaste in das Abfrageeditorfenster> Klicken Sie auf Query Options... am unteren Rand des Kontextmenüs wie folgt:

enter image description here

  1. Wählen Sie im linken Navigationsbereich Results> Grid aus. Überprüf den Include column headers when copying or saving the results Kontrollkästchen im rechten Bereich wie folgt:

enter image description here

Das ist es. In Ihrer aktuellen Sitzung werden Ihre Einstellungen sofort übernommen, ohne dass SSMS neu gestartet werden muss. Diese Einstellung wird auch nicht auf zukünftige Sitzungen übertragen. Das effektive Ändern dieser Einstellung pro Sitzung ist viel weniger laut.

2
RBT

Wenn Sie nach einem Weg suchen, wie SSMS beim Exportieren von Ergebnissen den CSV-Separatoren ordnungsgemäß entgehen kann.

Erraten Sie, was? - Dies ist tatsächlich eine Option, und es ist standardmäßig deaktiviert. Standardmäßig erhalten Sie also defekte CSV-Dateien (und können dies möglicherweise gar nicht realisieren, insbesondere wenn Ihr Export umfangreich ist und Ihre Daten normalerweise keine Kommas enthalten). Außerdem müssen Sie ein Kontrollkästchen aktivieren, damit Ihre CSV-Dateien exportiert werden korrekt!

Für mich scheint dies eine monumental blöde Designwahl und eine geeignete Metapher für Microsofts Herangehen an Software im Allgemeinen zu sein ("standardmäßig defekt, erfordert bedeutungslose ritualistische Aktionen, um triviale Funktionen zum Laufen zu bringen"). 

Ich spende aber gerne $ 100 an die Wohltätigkeitsorganisation der Befragten, wenn mir jemand einen gültigen Grund für die Existenz dieser Option geben kann (d. H. Ein tatsächliches Szenario, in dem sie nützlich war).

1

In SQL Server 2014 Management Studio ist die Einstellung wie folgt:

Extras, Optionen, Abfrageergebnisse, SQL Server, Ergebnisse in Text: Spaltenüberschriften in die Ergebnismenge aufnehmen.

0
Jason Lewis

Ich habe auch das gleiche Problem, als ich mit der rechten Maustaste im Abfragefenster und der Auswahl von Abfrageoptionen verwendet wurde. Kopfzeilen werden jedoch nicht in der Ausgabe-CSV-Datei angezeigt. dann melde ich mich vom server ab, logge mich erneut ein und führe das script aus und es funktioniert.

0
hardik rawal