Attualmente stiamo riscontrando alcuni problemi di prestazioni poiché il nostro database sta diventando troppo grande. Ci sono dati memorizzati negli ultimi 10 anni e non vedo un motivo per cui i dati più vecchi di 2 anni debbano essere archiviati nelle stesse tabelle dei nuovi dati.
Ora, poiché non ho un'esperienza molto profonda nell'amministrazione dei database, sto cercando i modi migliori per archiviare i vecchi dati.
Informazioni
Ci sono circa 310'000'000 record nel database in totale.
Il database ha bisogno di 250 GB sul disco rigido.
- La versione Server è SQL Server 2008 con livello di compatibilità SQL Server 2005 (90), ma stiamo pianificando presto l'aggiornamento a SQL Server 2012
Ho pensato a due possibilità:
Nuovo database
Creare un database simile a quello sul server di produzione e inserire tutti i vecchi dati nel nuovo database.
- Svantaggio: poiché i server collegati non sono consentiti nel nostro ambiente, sarebbe difficile unire i vecchi dati se necessario
Schema di storia
Creare un nuovo schema fe [hist] con le stesse tabelle del database di produzione. Inserisci tutti i vecchi dati in queste nuove tabelle nel nuovo schema.
- Vantaggio: facile accesso, se in futuro sarebbero necessari vecchi dati
- Preferisci una delle soluzioni rispetto all'altra?
- Perché?
- Ci sono possibilità migliori?
- Esistono strumenti esistenti con cui questo compito è facilmente possibile?
- Qualche altro pensiero?
Grazie in anticipo
modificare
Domanda aggiuntiva:
La tabella di archivio appena creata avrebbe bisogno anche di chiavi primarie / esterne?
O dovrebbero avere solo le colonne ma senza chiavi / vincoli?