Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Esportare schema e dati con sql server
mercoledì 14 settembre 2005 - 17.10
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
martiele
Profilo
| Newbie
34
messaggi | Data Invio:
mer 14 set 2005 - 17:10
Dovrei esportare schema e dati dei miei database su un file.. la meglio sarebbe creare uno script sql contenente la definizione sia dello schema che dei contenuti.
Da "Genera script SQL" sotto "Tutte le attività" dell'enterprise manager mi fa fare uno script del genere che contiene solo la definizione dello schema però... qualche idea?
Grazie a tutti...
Daniele
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 14 set 2005 - 17:35
>Da "Genera script SQL" sotto "Tutte le attività" dell'enterprise
>manager mi fa fare uno script del genere che contiene solo la
> definizione dello schema però... qualche idea?
Ciao Daniele,
SQL Server non offre nativamente un sistema di generazione dei comandi INSERT INTO come ad esempio MySQL.
Ad ogni modo ti segnalo una stored procedure ed un piccolo client che svolgono questo lavoro:
- sp_generate_inserts
del SQL Server MVP Narayana Vyas Kondreddi, che puoi scaricare dal seguente link:
http://vyaskn.tripod.com/code.htm#inserts
- SQL Scripter
http://www.sqlscripter.com/
In alternativa puoi ricorrere al Bulk Copy Program (BCP) che importa/esporta in formato nativo (binario), ASCII o UNICODE il contenuto di una tabella.
Questo comando ad esempio esporta in formato ASCII il contenuto della tabella Employees del database Northwind:
C:\>bcp "Northwind.dbo.Employees" out "C:\Employees.txt" -c -T
Per maggiori informazioni leggi il seguente paragrafo dei Books Online:
"bcp Utility"
http://msdn.microsoft.com/library/en-us/coprompt/cp_bcp_61et.asp
>Grazie a tutti...
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mer 14 set 2005 - 17:35
La migliore soluzione è generare uno script con la struttura della tabella e successivamente un file tramite il DTS.
Se vuoi fare invece il caricamento da programma puoi fare:
- script sql per la struttura
- programmino in vb.net o c# che apre il database, riempie un dataset e lo salva su file xml
- programmino che carica su dataset da file xml e poi aggiorna il database nuovo
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mer 14 set 2005 - 17:37
Segui il consiglio di Lorenzo Benaglia, sicuramente migliore del mio
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 14 set 2005 - 18:06
>Segui il consiglio di Lorenzo Benaglia, sicuramente migliore
> del mio
Beh migliore, diciamo che se SQL Server ci offre "aggratis" uno strumento per svolgere un certo compito non vedo la necessità di sviluppare applicativi ad-hoc :-)
Sicuramente le operazioni bulk (come BCP, il comando T-SQL BULK INSERT ed il Bulk Insert Task dei DTS) sono in assoluto le più efficienti in ambito I/O e hanno un bassissimo overhead a livello ti transaction log (impostando il recovery model Bulk Logged).
In pochi secondi puoi importare/esportare MILIONI di righe...
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
martiele
Profilo
| Newbie
34
messaggi | Data Invio:
gio 15 set 2005 - 14:16
Molte molte molte grazie... adesso provo. Cmq sì dai... mi fa fatica mettermi a sviluppare un programma ad Hoc..
e soprattutto mi fa piacere constatare che non son cretino io, ma che davvero nell'SQL Server non c'è niente di pre-pronto che faccia questo mestiere (come invece c'è in Mysql..)
grazie.. ciaoo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !