Збереження результатів із заголовками в Sql Server Management Studio


183

Я використовую студію управління SQL Server.

Я хочу зберегти результати запиту у файлі excel.

Я вибираю "зберегти як", а потім збережу у файлі CSV, який я можу відкрити в excel. Все добре, окрім я не маю заголовків стовпців, якісь ідеї, як я їх експортую?

Відповіді:


274

Tools> Options> Query Results> SQL Server> Results to Text (or Grid if you want)>Include columns headers in the result set

Можливо, вам доведеться закрити і знову відкрити SSMS після зміни цієї опції.

На панелі інструментів редактора SQL ви можете зберегти файл без необхідності перезавантаження SSMS


35
+1, випробував це, і він працює: Інструменти -> Параметри -> Результати запитів -> SQL Server -> Результати до сітки, потім встановіть прапорець "Включити заголовки стовпців при копіюванні чи збереженні результатів".
Джефф Огата

46
Це працює для SSMS 2012 - вам потрібно перезапустити SSMS, щоб налаштування набули чинності.
SliverNinja - MSFT

17
Для підтвердження вам обов'язково потрібно закрити і знову відкрити SSMS, щоб застосувати цю опцію.
Крістофер Кінг

8
Як сказав Крістофер, вам НЕ потрібно перезапускати SSMS, щоб зміни працювали.
Роб

8
Для SSMS 2016 вам також потрібно перезапустити, щоб ці зміни вплинули.
Кріс Хаас

36

Спробуйте майстер експорту. У цьому прикладі я вибираю цілу таблицю, але ви можете так само легко вказати запит:

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

(ви також можете вказати запит тут)

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення


4
Дякую за це. Але це для таблиць. Моє запитання було для запиту.
дублінтех

1
Ви також можете вказати запит на четвертому кроці - "Вказати копію таблиці чи запит".
Джон Дьюї

Я спробував усі інші підходи, і це єдиний, який працював для моїх змішаних типів даних.
DOK

3
Хоча це працює, це дуже боляче і забирає багато часу. SQL Server і Excel - це продукти MS, дивно, що в 2013 році не існує простої кнопки експорту!
Андре

34

Інша можливість полягає у використанні буфера обміну для копіювання та вставлення результатів безпосередньо в Excel. Будьте обережні зі стовпцями Excel загального типу, оскільки вони іноді можуть мати непередбачувані результати, залежно від ваших даних. CTL-Aв будь-якій точці сітки результатів, а потім клацніть правою кнопкою миші:

введіть тут опис зображення

Якщо у вас виникли проблеми із загальним форматом Excel для здійснення небажаних перетворень, перед вставкою виберіть порожні стовпці в Excel та змініть формат на "текст".


Це чудово, за винятком форматування Excel. Числа з провідними нулями (наприклад, мобільні номери) опускають нулі в Excel. Є й інші проблеми із форматуванням, які також чекають, використовуйте на свій страх. Дякую Microsoft!
e_i_pi

12

Принаймні, у SQL Server 2012 можна клацнути правою кнопкою миші у вікні запиту та вибрати Параметри запиту. Звідти ви можете вибрати «Включити заголовки» для сітки та / або тексту та мати «Зберегти як» таким, яким ви хочете, без перезавантаження SSMS.

Вам потрібно буде змінити це в меню Інструменти-> Параметри на панелі меню, щоб нові вікна запитів використовували ці налаштування за замовчуванням.


7

Ця ж проблема існує і в Visual Studio, ось як її виправити:

Йти до:

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

Тепер встановіть прапорець у вірно: "Включити заголовки стовпців під час копіювання чи збереження результатів"


6

Виберіть результати, натиснувши у верхньому лівому куті, клацніть правою кнопкою миші та виберіть "Копіювати із заголовками". Вставити в excel. Готово!


4

Параметри, які рекомендували змінити у прийнятій відповіді @ Дієго, можуть бути корисними, якщо ви хочете постійно встановити цю опцію для всіх майбутніх сеансів запитів, які ви відкриєте в SQL Server Management Studio (SSMS). Зазвичай це не так. Крім того, зміна цього параметра потребує перезавантаження програми SQL Server Management Studio (SSMS). Це знову "не дуже приємний" досвід, якщо у вас є безліч збережених вікон сеансу відкритого запиту, і ви перебуваєте в середині налагодження.

SQL Server дає дуже гладкий варіант зміни його на сеансі, що дуже швидко, зручно та зручно . Я детально описую наведені нижче кроки, використовуючи вікно параметрів запиту:

  1. Клацніть правою кнопкою миші у вікні редактора запитів> Клацніть Query Options...внизу контекстного меню, як показано нижче:

введіть тут опис зображення

  1. Виберіть Results> Gridу лівій панелі навігації. Поставте Include column headers when copying or saving the resultsпрапорець у правій області, як показано нижче:

введіть тут опис зображення

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


2

Потрапив сюди, шукаючи спосіб змусити SSMS правильно вийти з роздільників CSV під час експорту результатів.

Вгадай що? - це насправді варіант, і він не відмічається за замовчуванням . Тож за замовчуванням ви отримуєте зламані файли CSV (і навіть не можете цього усвідомити, наприклад, якщо ваш експорт великий, а у ваших даних нормально немає коми) - і вам доведеться зайти та натиснути прапорець, щоб ваші CSV експортувалися правильно!

Мені це здається монументально нерозумним вибором дизайну і влучною метафорою для підходу Microsoft до програмного забезпечення взагалі ("ламаний за замовчуванням, потрібні безглузді ритуальні дії, щоб зробити тривіальну функціональність").

Але я з радістю пожертвую 100 доларів на благодійну допомогу на вибір респондента, якщо хтось може дати мені одну дійсну причину реального життя для існування цього варіанта (тобто фактичного сценарію, де це було корисно).


2

У студії управління SQL Server 2014 налаштування вказано на:

Інструменти> Опції> Результати запитів> SQL Server> Результати тексту> Включити заголовки стовпців у набір результатів.


0

Я також стикаюся з тим же питанням. Коли я скористався правою кнопкою миші у вікні запиту, виберіть Параметри запиту. Але рядки заголовка не відображаються у вихідному CSV-файлі.

Потім я виходжу з сервера, знову входжу в систему і запускаю скрипт. Тоді це спрацювало.


Ви спробували змінити Include column headers when copying or saving the resultsваріант? Цей параметр видно, коли ви виберете Results> Gridу лівій панелі навігації у Query Optionsвікні.
RBT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.