คำตอบ ARCHIVIAZIONE DATI

  • sabato 14 luglio 2012 14:18
     
     
    Salve, utilizzo una versione SQL 2008 express e per motivi di limite del db imposti dal gestionale utilizzato, dovrei in qualche modo migrare i dati di alcune tabelle in altro db, stessa tabella. Per questo però vorrei poter continuare a interrogare le tb del primo db, andando in automatico a estrarre i dati dal secondo db nel caso in cui l'id di tabella sia minore si XXX (quindi avere i dati storici da una parte e quelli attuali in linea dall'altra). Tempo fa ad un corso SQL mi sembrava di aver capito che fosse possibile creare una "regola" su alcune tabelle per fare in modo che una SELECT in automatico vada a leggere i dati in un altra tabella. E' possibile? Grazie, saluti

Tutte le risposte

  • lunedì 16 luglio 2012 20:49
    Moderatore
     
     
    Salve, utilizzo una versione SQL 2008 express e per motivi di limite del db imposti dal gestionale utilizzato, dovrei in qualche modo migrare i dati di alcune tabelle in altro db, stessa tabella. Per questo però vorrei poter continuare a interrogare le tb del primo db, andando in automatico a estrarre i dati dal secondo db nel caso in cui l'id di tabella sia minore si XXX (quindi avere i dati storici da una parte e quelli attuali in linea dall'altra). Tempo fa ad un corso SQL mi sembrava di aver capito che fosse possibile creare una "regola" su alcune tabelle per fare in modo che una SELECT in automatico vada a leggere i dati in un altra tabella. E' possibile? Grazie, saluti

    Ciao,

    potresti descrivere quali sono questi limiti? Ti ricordo che la dimensione massima di un database SQL Server 2008 Express Edition è di 4 GB; tale limite è stato portato a 10 GB a partire da  SQL Server 2008 R2 Express Edition.

    Se l'accesso di cui hai bisogno è in sola lettura, potresti valutare la definizione di alcune distributed partitioned views.

    Ciao!


    Lorenzo Benaglia
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit

  • martedì 17 luglio 2012 08:27
     
     
    Ciao, grazie per la risposta. Il limite dei 2GB è imposto dalla versione "lite" del gestionale utilizzato, non da SQL Express che infatti è di 10GB (come tu stesso indichi). Effettivamente la soluzione proposta potrebbe essere fattibile e penso sia quello che avevo visto al corso SQL di tre anni fa. Grazie mille per l'aiuto. Ciao
  • martedì 17 luglio 2012 10:57
    Moderatore
     
     

    salve,

    giusto una curiosita'.... ma questo gestionale lo scrivete voi o e' da voi solo in uso? se la risposta e' la seconda, non so quanto il fornitore voglia possa supportare l'operazione, anche per eventuali limiti di violazione di licenza... :)

    saluti


    http://www.asql.biz - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/

  • mercoledì 18 luglio 2012 09:41
     
     
    il gestionale è utilizzato da noi con la versione "lite", quindi limite db 2GB. Passeremo alla versione "professional" entro qualche mese, appena saranno pronte delle implementazioni richieste. Nel frattempo devo però in qualche modo tamponare, almeno per la consultazione dei dati operativi più vecchi del 31/12/2010. Tutto qui. Saluti
  • lunedì 19 novembre 2012 22:28
     
     Con risposta

    Ciao,
    magari hai già risolto.
    una delle varie possibilità potrebbe essere quella di tenere su un database di appoggio i dati storici in modo da alleggerire il database in uso.
    se possibile, si potrebbe dare in pasto al gestionale una vista che faccia una SELECT UNION cross database inserendo nelle condizioni WHERE il controllo della data.

    Emanuele


    Emanuele Zanchettin | .NET & SQL Server consultant | Twitter | Linkedin