Abbiamo un'istanza di SQL Server utilizzata per l'archiviazione della posta elettronica (per gentile concessione di un pacchetto di archiviazione di terze parti). Ogni tanto, il software viene trasferito su un nuovo database vuoto. Lo abbiamo fatto trimestralmente in passato, ma ora stiamo cercando di farlo mensilmente. La quantità di dati archiviati è di circa 15-20 GB al mese e la maggior parte dei dati risiede solo in una manciata di tabelle (di solito 2 - 4).
Una volta passato a un nuovo database, quello vecchio viene utilizzato in modo strettamente di sola lettura. Quello che mi piacerebbe fare è ottimizzarlo in un file di dati bello e stretto, con tutte le tabelle / indici contigui e con un fattore di riempimento molto elevato, e non molto spazio vuoto alla fine del file di dati. Inoltre, stiamo usando Standard Edition su questo server, con tutte le limitazioni che ciò implica (altrimenti userei già la compressione dei dati).
Alcune possibilità che mi vengono in mente:
- RICOSTRUISCI / Riorganizza gli indici, DBCC SHRINKFILE (Okay, questa non è un'opzione sensata, dal momento che DBCC SHRINKFILE frammenterà il piscio da qualsiasi cosa tocchi, ma lo includo per completezza.)
- Crea un nuovo database con le statistiche automatiche disattivate. Script e ricrea tutte le tabelle dal database di origine. Utilizzare bcp per esportare / importare i dati nel nuovo database, in ordine di chiave cluster. Scrive e ricrea tutti gli indici. Ricalcola tutte le statistiche con la scansione completa.
- Crea un nuovo database con le statistiche automatiche disattivate. Script e ricrea tutte le tabelle dal database di origine. Utilizzare SSIS o T-SQL per trasferire i dati nel nuovo database. Scrive e ricrea tutti gli indici. Ricalcola tutte le statistiche con la scansione completa.
Il passaggio finale in ogni caso sarebbe impostare il database in modalità di sola lettura.
Quali altre opzioni buone / migliori ci sono per farlo? La mia preoccupazione è spostare i dati in modo tale da preservare un elevato fattore di riempimento e in modo logicamente contiguo.
Modificare:
Vorrei ricordare che circa il 75% dei dati sembra essere archiviato in colonne di immagini (LOB).
PRIMARY
?