Scambio di dati tra due db server

mercoledì 04 agosto 2010 - 21.48

dompa72 Profilo | Senior Member

Ho la necessità di trasferire dei dati tra due database manipolando i dati.

In questo momento sviluppo del codice in c# e la cosa funziona abbastanza bene, ma non soddisfatto delle prestazioni, ho la sensazione che posso velocizzare molto il processo.

Una aiuto please

Saluti

alx_81 Profilo | Guru

>Ho la necessità di trasferire dei dati tra due database manipolando i dati.
che piattaforme sono? Di che RDBMS stiamo parlando?

>In questo momento sviluppo del codice in c# e la cosa funziona
>abbastanza bene, ma non soddisfatto delle prestazioni, ho la
>sensazione che posso velocizzare molto il processo.
ci serve sapere prima che cosa stai usando e che edizioni possiedi per proseguire nella risposta.
Ciao!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

dompa72 Profilo | Senior Member

Grazie per la risposta

i DB in questo momento sono SQLServer 2005, penso inizio anno prossimo qualcuno di questi passerà alla versione 2008

Sto programmando con visual studio 2008

i dati vengono presi dai db delle macchine di produzione e riversati in un db centralizzato per poi essere utilizzati per delle statistiche
I dati delle macchine di produzione che utilizzano la piattaforma rockwell sono suddivisi per tag, la tagelle hanno questi campi: Timestamp, TagIndex e Valore.
I dati vengono campionati ogni 10 secondi per 35/40 canali (tag) questo genera 302400 righe al giorno, questi devono essere moltiplicati per 15 macchine per un totale di 4536000 records.
Oggi questi dati vengono copiati con una funziona sviluppata in c# in modo che i tag diventino colonne oltre ad aggiungere informazioni derivate dal sistemna di avanzamento (db attuale 2005 futuro 2008); questa funzione impiega 90 minuti.
Dimenticavo che i db di origine hanno ad oggi circa 80milioni di righe per 5 gb di spazio.

Altra attività che devo implementare è il trasferimento dei dati senza manipolazione a un altro db di backup, questo per allegerire i db di produzione, ho provato con una funzione specifica ma il tempo è molto ma molto lento

Un consiglio a questo

Grazie

alx_81 Profilo | Guru

>Altra attività che devo implementare è il trasferimento dei dati
>senza manipolazione a un altro db di backup, questo per allegerire
>i db di produzione, ho provato con una funzione specifica ma
>il tempo è molto ma molto lento
Ti chiedevo le edizioni perchè se hai almeno una workgroup puoi implementare dei SSIS (Integration Services) che sono fatti apposta per operazioni ETL di questo tipo. Hai mai preso in considerazione questo approccio?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

dompa72 Profilo | Senior Member

Onestamente prima utilizzavo i dts
poi considerando che dovevo sviluppare ho pensato di farlo con c#

Di documentazione neanche ne ho trovata più di tanta....quindi ho lasciato perdere.
Altro problema riscontrato è che non sono riuscito a capire dove inserisce il progetto salvato....e qui la decisione era irreversibile

Sai più o meno quantificare (naturalmente un'idea) il miglioramento???
E' molto complesso???
La versione che utilizzo sui db aziendali sono Work Group e Standard

alx_81 Profilo | Guru

>Onestamente prima utilizzavo i dts
se usavi dts il passaggio naturale era ssis, e, credimi, è veloce nell'implementazione ma soprattutto validissimo nelle prestazioni.

>Di documentazione neanche ne ho trovata più di tanta....quindi ho lasciato perdere.
allora ti consiglio il mio blog che trovi nella firma

>Altro problema riscontrato è che non sono riuscito a capire dove
>inserisce il progetto salvato....e qui la decisione era irreversibile
questa non l'ho capita

>Sai più o meno quantificare (naturalmente un'idea) il miglioramento??? E' molto complesso???
dovrei essere in loco per vedere veramente come migliorare le cose. Spannometricamente posso dirti che di certo ci prendi, perchè già l'architettura, per come è fatta, ti dà un vantaggio sulle prestazioni rispetto ad un software scritto in casa

>La versione che utilizzo sui db aziendali sono Work Group e Standard
con la standard puoi installarlo, con la workgroup hai solo l'import export wizard.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

dompa72 Profilo | Senior Member

Appena riesco a metterci le mani lo farò subito.

Ho provato a convertire alcuni DTS ma non sono mai riuscito a trovare dove si trovano i progetti convertiti.

Scusa l'ignoranza

alx_81 Profilo | Guru

>Ho provato a convertire alcuni DTS ma non sono mai riuscito a
>trovare dove si trovano i progetti convertiti.
cosa usi per convertire?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

dompa72 Profilo | Senior Member

Ho installato un componete microsoft per fare eseguire e modificare i vecchi dts, da questo è possibile effettuare la migrazione (dalla console di SQL), ma non ho mai capito cosa faccia considerando che il messaggio mi avvisa che la procedura si è conclusa con successo

spero che mi puoi aiutare

alx_81 Profilo | Guru

>Ho installato un componete microsoft per fare eseguire e modificare
>i vecchi dts, da questo è possibile effettuare la migrazione
>(dalla console di SQL), ma non ho mai capito cosa faccia considerando
>che il messaggio mi avvisa che la procedura si è conclusa con
>successo
e non ti dice dove vai a mettere i tuoi ssis? Probabilmente li ha messi nell'msdb database.
Per aprirli devi provare a connetterti al servizio Integration Service Engine con Management studio (sulla macchina standard) e provare a fare browse sull'msdb.
Hai installato anche SSIS sulla macchina standard vero?



--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

dompa72 Profilo | Senior Member

Certo
appena ho un po' di tempo provvedo
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5