W SQL Server 2008 R2, kiedy zapisuję wyniki jako CSV, nie ma nagłówków. Mogę obejść ten problem, kopiując i wklejając za pomocą „Kopiuj z nagłówkami”, lub po prostu chwyć nagłówki i wklej je do pliku CSV itp., Ale czy istnieje lepszy sposób na zrobienie tego?
sql-server
sql-server-2008-r2
ssms
csv
Kyle Brandt
źródło
źródło
Odpowiedzi:
W SSMS musisz zmienić niektóre opcje:
Narzędzia - Opcje - Wyniki zapytania - serwer SQL - wyniki do siatki (lub tekstu) -> Dołącz nagłówki kolumn podczas kopiowania lub zapisywania wyników .
Zmienione ustawienia są stosowane do nowych, ale nie istniejących okien zapytań.
źródło
Widzę, że wyraźnie powiedziałeś, że szukasz rozwiązania w SSMS, ale pomyślałem, że dostarczę rozwiązanie PowerShell na wypadek, gdyby to pomogło (SQLPS jest dostępny z wnętrza SSMS 2008 i 2008 R2).
Możesz użyć SQLPS (lub zwykłego PowerShell z snapinem polecenia cmdlet SQL), aby uruchomić coś takiego:
Jeśli jesteś zainteresowany, mogę kontynuować ten przykład.
źródło
Jeśli podoba Ci się podejście skryptowe PowerShell, mam skrypt, który eksportuje do CSV z SSMS za pomocą PowerShell . Podoba mi się, do tej pory możesz mieć dynamiczny skrypt SQL, ale możesz wybrać dowolny tekst, a SSMS przekazuje go do skryptu jako argument.
Jedynym minusem jest to, że nie znalazłem sprytnego sposobu na przejście przez połączenie bieżącego okna. Moje obecne obejście polega na skonfigurowaniu różnych narzędzi, które różnią się tylko ciągami połączeń, tj. PROD_DW, PROD_DB, TEST_DW ...
źródło
Możesz wykonać łączenie wszystkich połączeń, aby jawnie dodać nagłówki kolumn jako pojedynczy wiersz zaznaczony w połączeniu z prawdziwymi wierszami, na przykład:
Największym problemem związanym z tym podejściem jest wymuszony typ danych rzutowania na postać w drugim wyborze.
źródło
SSMS nie jest narzędziem do eksportowania danych. Użyj kreatora importu / eksportu lub BCP, z których oba zostały zaprojektowane jako narzędzia do eksportowania danych i zrobią to, co chcesz.
źródło