บันทึกผลลัพธ์เป็น CSV * ด้วย * ส่วนหัวใน SSMS


13

ด้วย SQL Server 2008 R2 เมื่อฉันบันทึกผลลัพธ์เป็น CSV ไม่มีส่วนหัว ฉันสามารถแก้ไขได้โดยการคัดลอกและวางกับ "คัดลอกด้วยส่วนหัว" หรือเพียงแค่คว้าส่วนหัวแล้ววางลงใน CSV ฯลฯ แต่มีวิธีที่ดีกว่าในการทำเช่นนี้หรือไม่


จริงๆแล้ว sp ที่ทำสิ่งนี้อาจเหมาะ
Kyle Brandt

คัดลอกด้วยส่วนหัวแล้ววางลงใน Excel!

คำตอบ:


22

ใน SSMS คุณต้องเปลี่ยนตัวเลือกบางอย่าง:

เครื่องมือ - ตัวเลือก - ผลการค้นหา - เซิร์ฟเวอร์ SQL - ผลไปยังตาราง (หรือข้อความ) -> รวมส่วนหัวของคอลัมน์เมื่อคัดลอกหรือบันทึกผล

การตั้งค่าที่เปลี่ยนแปลงถูกนำไปใช้กับหน้าต่างแบบสอบถามใหม่ แต่ไม่ใช่หน้าต่างแบบสอบถามที่มีอยู่


10

ฉันเห็นว่าคุณระบุไว้อย่างชัดเจนว่าคุณกำลังมองหาโซลูชันในSSMSแต่ฉันคิดว่าฉันจะมอบโซลูชัน PowerShell ในกรณีที่มันช่วยได้ (SQLPS สามารถเข้าถึงได้จากภายใน SSMS 2008 และ 2008 R2)

คุณสามารถใช้ SQLPS (หรือ PowerShell ปกติกับ SQL cmdlet snapin) เพื่อเรียกใช้ดังนี้:

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

ฉันจะไปกับตัวอย่างนี้หากคุณสนใจ


3

ถ้าคุณชอบวิธีสคริปต์ PowerShell ผมมีสคริปต์ที่ส่งออกไปยัง CSV จาก SSMS ผ่าน PowerShell ฉันชอบมันจนถึงตอนนี้คุณสามารถมีสคริปต์ SQL แบบไดนามิก, heck คุณสามารถเลือกข้อความอะไรก็ได้และ SSMS ส่งผ่านไปยังสคริปต์เป็นอาร์กิวเมนต์

ข้อเสียเพียงอย่างเดียวคือฉันไม่พบวิธีที่ชาญฉลาดในการส่งผ่านการเชื่อมต่อของหน้าต่างปัจจุบัน งานปัจจุบันของฉันคือการตั้งค่าเครื่องมือต่าง ๆ ที่แตกต่างกันเฉพาะในสตริงการเชื่อมต่อของพวกเขาเช่น PROD_DW, PROD_DB, TEST_DW ...


1

คุณสามารถทำการรวมกลุ่มทั้งหมดเพื่อเพิ่มส่วนหัวคอลัมน์อย่างชัดเจนในฐานะที่เป็นแถวเดี่ยวให้เลือกรวมกับแถวจริงตัวอย่างเช่น

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

ความเจ็บปวดที่ใหญ่ที่สุดด้วยวิธีนี้คือการบังคับให้ใส่ข้อมูลประเภทอักขระในตัวเลือกที่สอง


-1

SSMS ไม่ใช่เครื่องมือส่งออกข้อมูล ใช้ตัวช่วยสร้างการนำเข้า / ส่งออกหรือ BCP ซึ่งทั้งสองอย่างได้รับการออกแบบเป็นเครื่องมือในการส่งออกข้อมูลและจะทำสิ่งที่คุณต้องการทำ


หากนั่นเป็นความจริงโดยเคร่งครัดก็ไม่ควรมีตัวเลือกการส่งออกใด ๆ สำหรับซอฟต์แวร์ใด ๆ หากคุณเพิ่มคุณสมบัติให้ใช้งานได้ อย่างน้อย SSMS 2008R2 ล้มเหลวในการทดสอบนั้นเมื่อมีการส่งออก นอกจากนี้ SSMS จริง ๆ สามารถตอบสนองความต้องการของ OP
Eric J.

2
SSMS เป็นเครื่องมือส่งออกข้อมูลแบบเฉพาะกิจ หากคุณต้องการแยกข้อมูลออกมาหนึ่งครั้งให้พูด Excel แล้ว SSMS เป็นเครื่องมือที่เร็วและง่ายที่สุด ในเวลาที่ตัวช่วยสร้างการส่งออกเริ่มต้นขึ้นคุณสามารถดำเนินการค้นหาและบันทึกผลลัพธ์ได้
Greenstone Walker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.