So che questa non è la soluzione esatta alla domanda sopra, ma per me è stato un incubo quando stavo cercando di copiare i dati da un database situato in un server separato nel mio locale.
Stavo cercando di farlo esportando prima i dati dal server CSV/txt
e quindi importandoli nella mia tabella locale.
Entrambe le soluzioni: scrivere la query per importare CSV
o utilizzare la procedura guidata di importazione dei dati SSMS ha sempre prodotto errori (gli errori erano molto generali, dicendo che c'è un problema di analisi). E anche se non stavo facendo niente di speciale, solo esportare a CSV
e poi cercando di importare CSV
al localeDB
, gli errori ci sono sempre stati.
Stavo cercando di esaminare la sezione di mappatura e l'anteprima dei dati, ma c'era sempre un grande casino. E so che il problema principale veniva da una delle table
colonne, che conteneva JSON
e il SQL
parser lo trattava in modo errato.
Quindi alla fine, ho trovato una soluzione diversa e voglio condividerla nel caso in cui qualcun altro abbia un problema simile.
Quello che ho fatto è che ho usato la procedura guidata di esportazione sul server esterno.
Ecco i passaggi per ripetere lo stesso processo:
1) Fare clic con il tasto destro sul database e selezionareTasks -> Export Data...
2) Quando si aprirà la procedura guidata, selezionare Avanti e al posto di "Origine dati:" selezionare "SQL Server Native Client".
Nel caso di un server esterno dovrai probabilmente scegliere "Usa autenticazione di SQL Server" per la "Modalità di autenticazione:".
3) Dopo aver premuto Next , devi selezionare il Destionation .
A tale scopo, selezionare nuovamente "SQL Server Native Client".
Questa volta puoi fornire il tuo locale (o qualche altro esterno DB
) DB
.
4) Dopo aver premuto il pulsante Avanti, sono disponibili due opzioni per copiare l'intera tabella da una DB
all'altra o scrivere la query per specificare i dati esatti da copiare. Nel mio caso, non avevo bisogno dell'intera tabella (era troppo grande), ma solo di una parte di essa, quindi ho scelto "Scrivi una query per specificare i dati da trasferire".
Suggerirei di scrivere e testare la query su un editor di query separato prima di passare alla procedura guidata.
5) Infine, è necessario specificare la tabella di destinazione in cui verranno selezionati i dati.
Suggerisco di lasciarlo come [dbo].[Query]
o un Table
nome personalizzato nel caso in cui si verificassero errori nell'esportazione dei dati o se non si è sicuri dei dati e si desidera analizzarli ulteriormente prima di passare alla tabella esatta desiderata.
E ora vai dritto alla fine della procedura guidata premendo i pulsanti Avanti / Fine .
BULK NSERT
o non si dispone delle autorizzazioni per esso).