Скопіюйте великі дані з результату запиту sql


9

На моєму сервері sql 2008 після запуску запиту повернення даних дуже величезне в мільйонах. Я спробував скопіювати, але це дає виняток помилки sql пам'яті. Чи можете ви повідомити нам, як я можу скопіювати всі дані та вставити їх у excel.

Я не хочу експортувати його у файл txt, оскільки дані не вирівнюються. Тому я хочу вручну скопіювати та вставити його в excel. Будь ласка, дайте мені знати рішення для цього


Як уточнення: ви можете отримати виняток "з пам'яті", коли SSMS намагається обробляти вхідні дані; якщо пам'яті більше, ніж вміщається, ви отримаєте цю помилку. Якщо це не викликає помилки в пам'яті, але це трапляється при спробі скопіювати та вставити дані, проблема полягає в її копіюванні даних в пам'ять вдруге для копіювання та вставки. Будь-яка відповідь, що включає обхід повернення даних у SMSS (наприклад, поточна прийнята відповідь ), уникає цього.
RDFozz

Відповіді:


17

Ви не зможете копіювати та вставляти так, як хочете. Однак у вас є кілька варіантів. Найпростіше - клацнути правою кнопкою миші вихідний файл і зберегти його як файл CSV. Це передбачає, що у текстових даних у вас немає коми.

Зберегти результати як

Наступним варіантом (і, мабуть, найкращим) є використання майстра експорту. Клацніть правою кнопкою миші ім’я бази даних, потім завдання, а потім майстер експорту

Де майстер?

Вашим джерелом стане база даних, на яку ви натиснули правою кнопкою миші.

Джерело

Виберіть місце призначення.

Місце призначення

Виберіть Написати запит, щоб вказати дані для передачі.

Виберіть запит

Вставте свій запит

Вставте свій запит

Тут ви можете змінити назву аркуша у своїй таблиці.

Виберіть вихідні таблиці

Далі - список відображень, які ви повинні переглянути

Список відображень

І звідси ви можете або запустити пакет негайно, або зберегти пакет SSIS для подальшого використання / виправлень. Якщо ваш експорт не працює з першого разу, і ви взагалі знайомі з SSIS, я би врятував пакунок, щоб ви могли зайти в нього і внести виправлення за межами майстра.

Збережіть та запустіть параметри

Потім просто натисніть на фініш і закінчіть знову.


2

Якщо ви наполягаєте на Excel як пункт призначення, то є два простих варіанти.

По-перше, нативний "sqlcmd.exe" або "bcp.exe" дозволяє запустити запит і автоматично виведе його у файл. Якщо у ваших даних немає вкладок, вихід з обмеженими вкладками автоматично вводиться в стовпці Excel. Якщо у ваших даних є вкладки, вам потрібно вибрати інший роздільник та мати стовпці вибору Excel на основі цього під час імпорту.

По-друге, опустіть запит у звіт SSRS (служби звітів SQL Server), запустіть його, клацніть стрілку праворуч від піктограми дискети / збереження та експортуйте в Excel. Мільйонам рядків потрібен SSRS 2012, зберігаючи як .xlsx - на жаль, навіть SSRS 2008 R2 не допускає більше 64 к рядків. Для автоматизації плануйте звіт.

Посилання на ці команди:

Запис Technet sqlcmd

Запис Technet bcp

social.msdn sqlcmd розміщена на вкладці форуму


0

Якщо це лише разова річ.

Виконати запит. У вікні результатів у нижньому правому куті клацніть Порожній квадрат у верхньому лівому куті. Збереження результатів як ... За замовчуванням це CSV, вибирайте, де ви хочете скинути файл (мережевий спільний або локальний).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.