Copia dei dati di grandi dimensioni dal risultato della query sql


9

Nel mio sql server 2008, dopo aver eseguito la query, il ritorno dei dati è enorme in milioni. Ho provato a copiare ma dà un errore di memoria sql di eccezione. Puoi farci sapere come posso copiare tutti i dati e incollarli in Excel.

Non voglio esportarlo in un file txt poiché i dati non vengono allineati. Quindi voglio copiarlo e incollarlo manualmente in Excel. Per favore fatemi sapere la soluzione per questo


Come punto di chiarimento: è possibile che si verifichi un'eccezione "memoria insufficiente" quando SSMS tenta di gestire i dati in arrivo; se nella memoria c'è qualcosa di più che semplice, otterrai questo errore. Se ciò non causa l'errore di memoria insufficiente, ma si verifica quando si tenta di copiare e incollare i dati, il problema risiede nella copia dei dati in memoria una seconda volta per la copia e incolla. Qualsiasi risposta che comporta il bypass della restituzione dei dati a SMSS (come la risposta attualmente accettata ) evita questo.
RDFozz,

Risposte:


17

Non sarai in grado di copiare e incollare come vuoi. Tuttavia hai diverse opzioni. Il più semplice è fare clic con il tasto destro sull'output e salvarlo come file CSV. Ciò presuppone tuttavia che non ci siano virgole nei dati di testo.

Salva risultati come

La tua prossima opzione (e probabilmente la migliore) è usare la procedura guidata di esportazione. Fare clic con il tasto destro sul nome del database, quindi su Attività, quindi su Esportazione guidata

Dov'è il mago?

La tua fonte sarà il database su cui hai fatto clic con il tasto destro.

fonte

Scegli una destinazione eccellente.

Destinazione

Seleziona Scrivi una query per specificare i dati da trasferire.

Scegli una query

Incolla nella tua query

Incolla nella tua query

Puoi cambiare il nome del foglio nel tuo foglio di calcolo qui.

Seleziona tabelle di origine

La prossima è la lista delle mappature da rivedere

Elenco di mappature

E da qui è possibile eseguire immediatamente il pacchetto o salvare il pacchetto SSIS per uso / correzioni successivi. Se la tua esportazione non funziona la prima volta e hai familiarità con SSIS, salverei il pacchetto in modo da poterlo inserire e apportare correzioni al di fuori della procedura guidata.

Salva ed esegui opzioni

Quindi premi Finisci e finisci di nuovo.


2

Se insisti su Excel come destinazione, ci sono due semplici opzioni.

Innanzitutto, "sqlcmd.exe" o "bcp.exe" nativo consente di eseguire una query e di inviarla automaticamente a un file. Supponendo che i tuoi dati non abbiano schede, l'output delimitato da tabulazioni verrà automaticamente inserito nelle colonne di Excel. Se i tuoi dati hanno schede, dovrai scegliere un altro delimitatore e far sì che Excel selezioni le colonne in base a quelle durante l'importazione.

In secondo luogo, rilascia la query in un rapporto SSRS (SQL Server Reporting Services), eseguilo, fai clic sulla freccia a destra dell'icona del dischetto / salva ed esporta in Excel. Milioni di righe richiedono SSRS 2012, risparmiando come .xlsx - sfortunatamente, anche SSRS 2008 R2 non consente più di 64k righe. Per automatizzare, pianificare il rapporto.

Riferimenti per questi comandi:

Voce Technet sqlcmd

Voce Technet bcp

post del forum delimitato dalla scheda social.msdn sqlcmd


0

Se è solo una cosa una volta.

Esegui la query. Nella finestra dei risultati in basso a destra fai clic sul quadrato vuoto in alto a sinistra. Salva risultati come ... L'impostazione predefinita è un CSV, scegliere dove si desidera scaricare il file (condivisione di rete o locale).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.