Domanda

Sto usando SQL Server 2008. Il mio database ha una dimensione di quasi 2 GB. Il 90% di esso è una tabella (come da sp_spaceused), di cui non ho bisogno per gran parte del mio lavoro.

Mi chiedevo se fosse possibile prendere questa tabella e averne eseguito il backup in un file separato, permettendomi di trasferire i dati importanti su una base più frequente di questa.

La mia ipotesi è il modo più semplice per farlo è creare un nuovo database, creare lì la tabella, copiare il contenuto della tabella nel nuovo database, eliminare le relazioni tra tabelle, rilasciare la tabella, creare una vista che punta all'altro database e usa quella vista nelle mie applicazioni.

Tuttavia, mi chiedevo se avessi qualche suggerimento su strategie diverse di cui potrei non essere a conoscenza a questo punto.

È stato utile?

Soluzione

Crea la tabella in un gruppo di file diverso.

Ecco un link con alcuni buoni esempi.

Questo crea un secondo file fisico solo per quella tabella. Può essere posizionato su un'unità fisica diversa per le prestazioni. Puoi fare un backup o un ripristino solo di filegroup specifici, che sembra quello di cui hai bisogno.

Questo è un esempio dell'argomento più ampio di " Data Partitioning " ;, che prevede vari metodi di divisione di tabelle di grandi dimensioni su più file.

Altri suggerimenti

Suggerisco la soluzione di filegroup. Tuttavia, per copiare una tabella da un database a un altro puoi fare questo trucco:

SELECT * INTO MyNewDatabase..MyTable FROM MyOldDatabase..MyTable
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top