Salin data besar dari hasil kueri sql

9

Di server sql saya 2008, setelah menjalankan kueri pengembalian data sangat besar katakan dalam jutaan. Saya mencoba menyalin tetapi memberikan kesalahan memori sql pengecualian. Bisakah Anda memberi tahu kami bagaimana cara menyalin seluruh data dan menempelkannya ke excel.

Saya tidak ingin mengekspornya ke file txt karena datanya tidak selaras. Jadi saya ingin menyalin dan menempelkannya secara manual ke excel. Tolong beri tahu saya solusi untuk ini

Sohail
sumber
Sebagai titik klarifikasi: Anda bisa mendapatkan pengecualian "kehabisan memori" ketika SSMS mencoba menangani data yang masuk; jika ada lebih dari kesesuaian dalam memori, Anda akan mendapatkan kesalahan itu. Jika itu tidak menyebabkan kesalahan kehabisan memori, tetapi itu terjadi ketika Anda mencoba menyalin dan menempelkan data, maka masalahnya terletak pada menyalin data ke memori untuk kedua kalinya untuk menyalin dan menempel. Jawaban apa pun yang melibatkan memintas pengembalian data ke SMS (seperti jawaban yang diterima saat ini ) menghindari hal ini.
RDFozz

Jawaban:

17

Anda tidak akan dapat menyalin dan menempel seperti yang Anda inginkan. Namun Anda memiliki beberapa opsi. Paling sederhana adalah klik kanan pada output dan simpan sebagai file CSV. Itu mengasumsikan bahwa Anda tidak memiliki koma dalam data teks Anda.

Simpan Hasil Sebagai

Opsi Anda berikutnya (dan mungkin yang terbaik) adalah menggunakan panduan ekspor. Klik kanan pada nama database Anda, lalu Tugas, lalu Ekspor Wizard

Di mana penyihir itu?

Sumber Anda akan menjadi basis data yang Anda klik kanan.

Sumber

Pilih tujuan excel.

Tujuan

Pilih Tulis kueri untuk menentukan data yang akan ditransfer.

Pilih sebuah kueri

Rekatkan dalam kueri Anda

Rekatkan dalam kueri Anda

Anda dapat mengubah nama sheet di spreadsheet Anda di sini.

Pilih tabel sumber

Berikutnya adalah daftar pemetaan untuk Anda tinjau

Daftar pemetaan

Dan dari sini Anda dapat langsung menjalankan paket atau menyimpan paket SSIS untuk digunakan / diperbaiki nanti. Jika ekspor Anda tidak berfungsi pertama kali dan Anda sama sekali akrab dengan SSIS, saya akan menyimpan paket itu sehingga Anda dapat masuk ke dalamnya dan melakukan koreksi di luar wizard.

Simpan dan jalankan opsi

Kemudian tekan saja finish dan finish lagi.

Kenneth Fisher
sumber
2

Jika Anda bersikeras pada Excel sebagai tujuan, maka ada dua opsi mudah.

Pertama, asli "sqlcmd.exe" atau "bcp.exe" memungkinkan Anda untuk menjalankan kueri dan secara otomatis menampilkannya ke file. Dengan asumsi data Anda tidak memiliki tab, tab yang dibatasi keluaran akan secara otomatis dimasukkan ke dalam kolom Excel. Jika data Anda memiliki tab, Anda harus memilih pembatas lain dan meminta Excel memilih kolom berdasarkan itu selama impor.

Kedua, masukkan permintaan Anda ke dalam laporan SSRS (SQL Server Reporting Services), jalankan, klik panah di sebelah kanan ikon floppy disk / simpan, dan ekspor ke Excel. Jutaan baris membutuhkan SSRS 2012, hemat sebagai .xlsx - sayangnya, bahkan SSRS 2008 R2 tidak mengizinkan lebih dari 64k baris. Untuk mengotomatisasi, jadwalkan laporan.

Referensi untuk perintah ini:

Entri Technet sqlcmd

Entri Technet bcp

tab social.msdn sqlcmd posting forum dibatasi

Kata sandi yang lemah
sumber
0

Jika itu hanya satu kali.

Jalankan Query. Di jendela hasil di kanan bawah klik Empty Square di kiri atas. Simpan hasil Sebagai ... Default adalah CSV, pilih di mana pun Anda ingin membuang file (jaringan berbagi atau lokal).

Kenyal
sumber