Domanda Esportare i dati della tabella da un server SQL a un altro


Ho due SQL Server (entrambi versione 2005).

Voglio migrare diverse tabelle da uno all'altro.

Ho provato:

  • Sul server di origine ho fatto clic con il tasto destro sul database, selezionato Tasks/Generate scripts. Il problema è che sotto Table/View options Non c'è Script data opzione.

  • Poi ho usato Script Table As/Create script generare file SQL per creare le tabelle sul mio server di destinazione. Ma ho ancora bisogno di tutti i dati.

Poi ho provato a usare:

SELECT * 
INTO [destination server].[destination database].[dbo].[destination table] 
FROM [source server].[source database].[dbo].[source table]

Ma ottengo errore:

L'oggetto contiene più del numero massimo di prefissi. Il massimo è   2.

Qualcuno può indicarmi la giusta soluzione al mio problema?


44
2018-06-13 06:15


origine


risposte:


Prova questo:

  1. crea il tuo tavolo sul server di destinazione usando i tuoi script dal Script Table As / Create Script passo

  2. sul server di destinazione, è quindi possibile emettere un'istruzione T-SQL:

    INSERT INTO dbo.YourTableNameHere
       SELECT *
       FROM [SourceServer].[SourceDatabase].dbo.YourTableNameHere
    

Questo dovrebbe funzionare bene.


45
2018-06-13 06:24



Solo per mostrare ancora un'altra opzione (per SQL Server 2008 e versioni successive):

  1. tasto destro del mouse su Database -> selezionare 'Attività' -> selezionare 'Genera script'
  2. Seleziona oggetti di database specifici che desideri copiare. Diciamo uno o più tavoli. Fare clic su Avanti
  3. Fai clic su Avanzate e scorri fino a "Tipi di dati da script" e scegli "Schema e dati". Clicca OK
  4. Scegli dove salvare lo script generato e procedi facendo clic su Avanti

34
2017-09-30 15:32



C'è l'opzione tabella di script in Attività / Genera script! Mi è anche mancato all'inizio! Ma è possibile generare script di inserimento lì (funzionalità molto bella, ma in un posto molto poco intuitivo).

Quando arrivi al passaggio "Imposta opzioni di scripting" vai alla scheda "Avanzate".

Passi descritti Qui (le foto possono capire, ma io scrivo in lettone lì).


9
2018-06-13 06:24



Se le tabelle sono già state create utilizzando gli script, esiste un altro modo per copiare i dati utilizzando il comando BCP per copiare tutti i dati dal server di origine al server di destinazione

Per esportare i dati della tabella in un file di testo sul server di origine:

bcp <database name>.<schema name>.<table name> OUT C:\FILE.TXT -c -t -T -S <server_name[ \instance_name]> -U <username> -P <Password> 

Per importare i dati della tabella da un file di testo sul server di destinazione:

bcp <database name>.<schema name>.<table name> IN C:\FILE.TXT -c -t -T -S <server_name[ \instance_name]> -U <username> -P <Password>

5
2018-06-13 06:38



Prova a utilizzare SQL Server Importazione ed esportazione guidata (in Attività -> Esporta dati).

Offre di creare le tabelle nel database di destinazione. Mentre, come hai visto, la procedura guidata di scripting può solo creare la struttura della tabella.


4
2018-06-13 06:25



Può essere fatto tramite "Importa / Esporta dati ..." in SQL Server Management Studio


3
2018-03-28 01:06



Non è possibile scegliere un server di origine / destinazione.

Se i database si trovano sullo stesso server, puoi farlo:

Se le colonne della tabella sono uguali (incluso l'ordine!), Puoi farlo:

INSERT INTO [destination database].[dbo].[destination table]
SELECT *
FROM [source database].[dbo].[source table]

Se si desidera eseguire questa operazione, è possibile eseguire il backup / ripristino del database di origine. Se è necessario farlo più spesso, consiglio di avviare un progetto SSIS in cui definire il database di origine (in questo caso è possibile scegliere qualsiasi connessione su qualsiasi server) e creare un progetto in cui spostare i dati lì. Vedi maggiori informazioni qui: http://msdn.microsoft.com/en-us/library/ms169917%28v=sql.105%29.aspx


2
2018-06-13 06:22