Skopiuj duże dane z wyniku zapytania SQL

9

Na moim serwerze SQL 2008 po uruchomieniu zapytania zwrot danych jest bardzo duży w milionach. Próbowałem skopiować, ale daje wyjątek błąd pamięci sql. Czy możesz nam powiedzieć, jak mogę skopiować wszystkie dane i wkleić je do programu Excel.

Nie chcę eksportować go do pliku txt, ponieważ dane nie są wyrównane. Więc chcę ręcznie skopiować i wkleić go do programu Excel. Daj mi znać rozwiązanie tego problemu

Sohail
źródło
W celu wyjaśnienia: może występować wyjątek „z pamięci”, gdy SSMS próbuje obsłużyć przychodzące dane; jeśli w pamięci jest więcej niż mieści, pojawi się ten błąd. Jeśli to nie powoduje błędu braku pamięci, ale zdarza się, gdy próbujesz skopiować i wkleić dane, problem polega na tym, że po raz drugi kopiujesz dane do pamięci w celu skopiowania i wklejenia. Każda odpowiedź, która obejmuje obejście zwrotu danych do SMSS (taka jak aktualnie zaakceptowana odpowiedź ) pozwala tego uniknąć.
RDFozz

Odpowiedzi:

17

Nie będziesz mógł kopiować i wklejać, jak chcesz. Masz jednak kilka opcji. Najprościej jest kliknąć dane wyjściowe prawym przyciskiem myszy i zapisać jako plik CSV. Zakłada się jednak, że w danych tekstowych nie ma przecinków.

Zapisz wyniki jako

Następną opcją (i prawdopodobnie najlepszą) jest skorzystanie z kreatora eksportu. Kliknij prawym przyciskiem myszy nazwę bazy danych, następnie Zadania, a następnie Kreator eksportu

Gdzie jest czarodziej?

Twoim źródłem będzie baza danych, którą kliknąłeś prawym przyciskiem myszy.

Źródło

Wybierz cel podróży.

Miejsce docelowe

Wybierz Napisz zapytanie, aby określić dane do przesłania.

Wybierz zapytanie

Wklej zapytanie

Wklej zapytanie

Tutaj możesz zmienić nazwę arkusza w arkuszu kalkulacyjnym.

Wybierz tabele źródłowe

Następnie znajduje się lista mapowań do przejrzenia

Lista odwzorowań

Z tego miejsca możesz albo uruchomić pakiet natychmiast, albo zapisać pakiet SSIS do późniejszego wykorzystania / poprawek. Jeśli eksport nie działa po raz pierwszy i jesteś w ogóle zaznajomiony z SSIS, zapisałbym pakiet, abyś mógł wejść do niego i wprowadzić poprawki poza kreatorem.

Zapisz i uruchom opcje

Następnie kliknij przycisk Zakończ i Zakończ ponownie.

Kenneth Fisher
źródło
2

Jeśli nalegasz na Excel jako miejsce docelowe, istnieją dwie łatwe opcje.

Po pierwsze, natywny plik „sqlcmd.exe” lub „bcp.exe” pozwala uruchomić zapytanie i automatycznie wysyła je do pliku. Zakładając, że dane nie mają kart, dane rozdzielane tabulatorami będą automatycznie wprowadzane do kolumn Excela. Jeśli twoje dane mają tabulatory, musisz wybrać inny separator i mieć Excel wybierać kolumny na podstawie tego podczas importu.

Po drugie, upuść zapytanie do raportu SSRS (SQL Server Reporting Services), uruchom go, kliknij strzałkę po prawej stronie ikony dyskietki / zapisz i wyeksportuj do programu Excel. Miliony wierszy wymaga SSRS 2012, oszczędzając jako .xlsx - niestety nawet SSRS 2008 R2 nie pozwala na więcej niż 64 tys. Wierszy. Aby zautomatyzować, zaplanuj raport.

Referencje dla tych poleceń:

Wpis Technet sqlcmd

Wpis Technet BCP

social.msdn sqlcmd zakładka rozdzielana tabulatorami

Anty-słabe hasła
źródło
0

Jeśli to tylko jednorazowa sprawa.

Uruchom zapytanie. W oknie wyników w prawym dolnym rogu kliknij Pusty kwadrat w lewym górnym rogu. Zapisz wyniki jako ... Domyślnie jest to CSV, wybierz gdziekolwiek chcesz zrzucić plik (udział sieciowy lub lokalny).

Żucie
źródło