У SQL Server 2008 R2, коли я зберігаю результати як CSV, заголовків немає. Я можу обійти це, скопіювавши та вставивши за допомогою "Копіювати заголовки", або просто захопити заголовки та вставити їх у CSV тощо, але чи є кращий спосіб це зробити?
У SQL Server 2008 R2, коли я зберігаю результати як CSV, заголовків немає. Я можу обійти це, скопіювавши та вставивши за допомогою "Копіювати заголовки", або просто захопити заголовки та вставити їх у CSV тощо, але чи є кращий спосіб це зробити?
Відповіді:
У SSMS потрібно змінити деякі параметри:
Інструменти - Параметри - Результати запиту - сервер sql - результати для сітки (або тексту) -> Включити заголовки стовпців під час копіювання або збереження результатів .
Змінені налаштування застосовуються до нових, але не існуючих вікон запитів.
Я бачу, що ви чітко заявили, що шукаєте рішення в SSMS, але я подумав, що запропоную рішення PowerShell, якщо це допоможе (SQLPS доступний зсередини SSMS 2008 та 2008 R2).
Ви можете використовувати SQLPS (або звичайний PowerShell з оснащенням командлета SQL), щоб запустити щось подібне:
Invoke-Sqlcmd -Query "sp_databases" -ServerInstance "LocalHost\R2" |
Export-Csv -Path "C:\temp\MyDatabaseSizes.csv" -NoTypeInformation
Я можу продовжувати цей приклад, якщо вам цікаво.
Якщо вам подобається підхід до сценарію PowerShell, у мене є сценарій, який експортує до CSV з SSMS через PowerShell . Мені це подобається в тому, що ти можеш мати динамічний SQL Script, чорт ви можете вибрати будь-який текст і SSMS передає його в сценарій як аргумент.
Тільки недоліком є те, що я не знайшов розумного способу пройти через з'єднання поточного вікна. Моя поточна робота полягає в тому, щоб створити різні інструменти, які різняться лише в рядках їх з'єднання, тобто PROD_DW, PROD_DB, TEST_DW ...
Ви можете зробити об'єднання "all all", щоб явно додати заголовки стовпців у вигляді вибору єдиного рядка, об'єднаного проти реальних рядків, наприклад:
SELECT 'col1' AS col1...
UNION ALL
SELECT T.col1...
FROM TABLE T
Найбільший біль при такому підході - це вимушене відтворення типу даних персонажів під час другого вибору.
SSMS не є інструментом експорту даних. Використовуйте або майстра імпорту / експорту, або BCP, обидва з яких були розроблені як інструменти експорту даних і будуть робити те, що ви хочете зробити.