Domanda

Ho il seguente problema. Abbiamo un database che memorizza i file binari nel database. Sappiamo che la dimensione del database può essere grande così abbiamo rimosso tutti i binari dal database e usato il compito "shrink" su di esso. In questo modo si spera che la banca dati sarebbe molto più piccolo. Questi sono i risultati:

prima dimensione rimozione era: 20 gigabyte dopo aver formato la rimozione era: 25 gigabyte (file di log incl) dopo dimensioni strizzacervelli era: 13 gigabyte

ora non ho idea di dove che il 13 concerto è da, il più grande tabella nel database è una tabella di log ed è 1.3 concerto tutto il resto combinato non prende 200 mb ...

potrebbe essere che ci sia ancora alcuni dati nel file di log che il compito strizzacervelli non può rimuovere? c'è una soluzione per questo problema?

È stato utile?

Soluzione

Se il modello di recupero è "Full" e non è stato eseguito il backup e quindi ridotto il log delle transazioni allora potrebbe rimanere ancora grande.

A seconda della situazione, uno dei th modi più semplici di compattare il log delle transazioni è per impostare il modello di recupero per semplice, poi compattare i file di log delle transazioni e quindi impostare modello di recupero di nuovo a pieno .. Tuttavia, se questo è una produzione sistema in cui potrebbe essere necessario un punto nel tempo di recupero, allora è necessario eseguire backup del registro delle transazioni, invece.

Altri suggerimenti

Per ottenere maggiori informazioni su l'utilizzo dello spazio si può provare:

EXEC sp_spaceused;

Ricordati di impostare backup del log delle transazioni (non solo i backup del database in quanto non mancherà di tenere il registro piccolo come avete scoperto) dopo aver realizzato il consiglio di Robin Day e compattare il registro o il registro sarà solo crescere di nuovo grande. I nostri registri delle transazioni viene eseguito il backup ogni 15 minuti. La pianificazione può avere bisogno di essere più o meno frequenti a seconda della quantità di dati che si può permettere di perdere se si dispone di un fallimento. Come minimo mi piacerebbe fare un backup di registro giornaliero solo per mantenere il registro di dimensioni ragionevoli.

Una possibilità è che la tabella che hai cancellato i dati da è un Heap (significa che non c'è indice cluster), e quando si elimina da un mucchio non sarà necessariamente liberato lo spazio allocato per la tabella. Controllare questo articolo da MS: http://support.microsoft.com/kb/913399

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top