Lưu kết quả dưới dạng CSV * với các tiêu đề * trong SSMS


13

Với SQL Server 2008 R2, khi tôi lưu kết quả dưới dạng CSV, không có tiêu đề. Tôi có thể giải quyết vấn đề này bằng cách sao chép và dán bằng "Sao chép bằng tiêu đề" hoặc chỉ cần lấy các tiêu đề và dán chúng vào CSV, v.v., nhưng có cách nào tốt hơn để làm điều này không?


Trên thực tế, một sp làm điều này có thể là lý tưởng.
Kyle Brandt

Sao chép bằng Tiêu đề sau đó dán vào Excel!

Câu trả lời:


22

Trong SSMS, bạn cần thay đổi một số tùy chọn:

Công cụ - Tùy chọn - Kết quả truy vấn - Máy chủ sql - kết quả vào lưới (hoặc văn bản) -> Bao gồm các tiêu đề cột khi sao chép hoặc lưu kết quả .

Cài đặt thay đổi được áp dụng cho các cửa sổ truy vấn mới, nhưng không có sẵn.


10

Tôi thấy rằng bạn đã tuyên bố rõ ràng rằng bạn đang tìm kiếm một giải pháp trong SSMS nhưng tôi nghĩ rằng tôi sẽ cung cấp giải pháp PowerShell trong trường hợp có ích (SQLPS có thể truy cập được từ bên trong SSMS 2008 & 2008 R2).

Bạn có thể sử dụng SQLPS (hoặc PowerShell thông thường với snapin SQL cmdlet) để chạy một cái gì đó như thế này:

Invoke-Sqlcmd -Query "sp_databases" -ServerInstance "LocalHost\R2" |
Export-Csv -Path "C:\temp\MyDatabaseSizes.csv" -NoTypeInformation

Tôi có thể tiếp tục với ví dụ này nếu bạn quan tâm.


3

Nếu bạn thích cách tiếp cận tập lệnh PowerShell, tôi có tập lệnh Xuất khẩu sang CSV từ SSMS thông qua PowerShell . Tôi thích nó cho đến nay bạn có thể có một Tập lệnh SQL động, bạn có thể chọn bất kỳ văn bản nào và SSMS chuyển nó đến tập lệnh làm đối số.

Nhược điểm duy nhất là tôi không tìm thấy một cách thông minh để vượt qua kết nối của cửa sổ hiện tại. Công việc hiện tại của tôi là có các công cụ khác nhau được thiết lập chỉ khác nhau trong các chuỗi kết nối của chúng, ví dụ: PROD_DW, PROD_DB, TEST_DW ...


1

Bạn có thể thực hiện liên kết tất cả tham gia để thêm rõ ràng các tiêu đề cột dưới dạng một hàng chọn liên kết với các hàng thực, ví dụ:

SELECT 'col1' AS col1... 
UNION ALL 
SELECT T.col1... 
FROM TABLE T

Nỗi đau lớn nhất với cách tiếp cận này là việc ép buộc nhập kiểu dữ liệu ký tự trong phần chọn thứ hai.


-1

SSMS không phải là một công cụ xuất dữ liệu. Sử dụng trình hướng dẫn Nhập / Xuất hoặc BCP cả hai đều được thiết kế làm công cụ xuất dữ liệu và sẽ thực hiện những gì bạn đang muốn làm.


Nếu điều đó hoàn toàn đúng, thì nó hoàn toàn không có tùy chọn xuất. Đối với bất kỳ phần mềm nào, nếu bạn thêm một tính năng, hãy làm cho nó hoạt động đúng. Ít nhất SSMS 2008R2 thất bại trong bài kiểm tra đó khi xuất khẩu. Ngoài ra, SSMS thực sự có thể đáp ứng nhu cầu của OP.
Eric J.

2
SSMS một công cụ xuất dữ liệu đặc biệt. Nếu bạn cần trích xuất dữ liệu một lần vào, giả sử, Excel thì SSMS là công cụ nhanh nhất và dễ nhất. Trong thời gian để Trình hướng dẫn xuất khẩu khởi động, bạn có thể thực hiện truy vấn và lưu kết quả.
Greenstone Walker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.