Ridurre dimensioni DB

venerdì 14 settembre 2007 - 10.45

delama77 Profilo | Junior Member

Ciao a tutti
lavoro con sql Server 2000 .
Mi è stato passato un database di circa 4 Giga vorrei ridurre le dimensioni.
Il database contiene circa 50 tabelle ma per l'applicativo che devo costruire me ne occorrono solo una decina ; così ho elimanato le tabelle "inutili" e ho scritto le SP che mi servivano per le interrogazioni ma la dimensione è rimasta sempre la stessa ...
Ho provato anche con la DBCC SHRINKDATABASE ( 'database_name' ) ma la situazione non è migiorata .

Cosa posso provare ancora

Grazie

Alessandra

alx_81 Profilo | Guru

>Ciao a tutti
Ciao!
>lavoro con sql Server 2000 .
>Mi è stato passato un database di circa 4 Giga vorrei ridurre
>le dimensioni.
>Il database contiene circa 50 tabelle ma per l'applicativo che
>devo costruire me ne occorrono solo una decina ; così ho elimanato
>le tabelle "inutili" e ho scritto le SP che mi servivano per
>le interrogazioni ma la dimensione è rimasta sempre la stessa
>...
>Ho provato anche con la DBCC SHRINKDATABASE ( 'database_name'
>) ma la situazione non è migiorata .
>
>Cosa posso provare ancora
Prova a controllare le dimensioni fisiche sui file su cui è stato creato il database. Proprio sul disco..
Nelle proprietà del database vedi il percorso su cui sono stati messi i file.
A mio avviso hai il log delle transazioni enorme.. oppure la decina di tabelle che tieni sono ENORMI..
Controlla le dimensioni dei file (mdf e ldf)..
facci sapere!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

delama77 Profilo | Junior Member

>Prova a controllare le dimensioni fisiche sui file su cui è stato creato il database. Proprio sul disco..
>Nelle proprietà del database vedi il percorso su cui sono stati messi i file.
>A mio avviso hai il log delle transazioni enorme.. oppure la decina di tabelle che tieni sono ENORMI..
>Controlla le dimensioni dei file (mdf e ldf)..
>facci sapere!

MDB 3.5 Giga
Dimensione LOG delle transazioni 512 Mega

Effettivamente tengo un paio di tabelle che sono le più grandi del db , ma il Db di partenza era 5.2 Giga con un log delle transazioni pari a 800 mega

grazie in anticipo
alessandra

alx_81 Profilo | Guru

>MDB 3.5 Giga
>Dimensione LOG delle transazioni 512 Mega
>
>Effettivamente tengo un paio di tabelle che sono le più grandi
>del db , ma il Db di partenza era 5.2 Giga con un log delle transazioni
>pari a 800 mega
e la dimensione di partenza del DB? (sempre dalle proprietà)..
A parte questo.. come sono fatte le tabelle (allega script di create) e quante righe hanno?
Alx81 =)

http://blogs.dotnethell.it/suxstellino

delama77 Profilo | Junior Member

>è la dimensione di partenza del DB? (sempre dalle proprietà)..
sì dimensione del DB originale sempre dalle proprietà
>A parte questo.. come sono fatte le tabelle (allega script di create) e quante righe hanno?
in allegato lo script delle tabelle

grazie ancora

Alessandra

alx_81 Profilo | Guru

>sì dimensione del DB originale sempre dalle proprietà
non mi sono spiegato.. qual è il valore della dimensione di partenza dalle proprietà del database?

>in allegato lo script delle tabelle
mi serve di quelle che tu ritieni "impegnative" non di tutto =)
e poi mi serve sapere quante righe hanno effettivamente, fai una count(*)..

Alx81 =)

http://blogs.dotnethell.it/suxstellino

delama77 Profilo | Junior Member

>sì dimensione del DB originale sempre dalle proprietà
>non mi sono spiegato.. qual è il valore della dimensione di partenza dalle proprietà del database?
La dimensione del Db originale è 5.2 giga

>in allegato lo script delle tabelle
>mi serve di quelle che tu ritieni "impegnative" non di tutto =)
>e poi mi serve sapere quante righe hanno effettivamente, fai una count(*)..
in allegato le due tabelle
SMS_DATI 10.000.000 record
PUNTI_MISURA 500.000 record

alx_81 Profilo | Guru

>SMS_DATI 10.000.000 record
>PUNTI_MISURA 500.000 record
La prima è molto grande, ma anche la seconda ha il suo perchè..
prova a lanciare la sp_spaceused 'nometabella' e vedi quanto ti occupano effettivamente. Con quella puoi controllare anche le altre per vedere se la somma delle loro dimensioni è corretta o se bisogna intervenire per shrinkarlo..
Però, considera, anche per quello che vedo, che non è stato fatto uno studio molto approfondito per il dimensionamento dei campi.. Fate uso sempre del minor tipo di dato per il valore più grande possibile? Attenzione inoltre ai float, non sempre si comportano come si vorrebbe, essendo campi a virgola mobile. E, ove possibile, sostituire i datetime in smalldatetime.
Se è possibile ridurre le dimensioni dei campi, già su tutte quelle righe, qualcosa recuperi.
Anche se potrebbe essere necessario (per ridurlo) svecchiare i record "obsoleti" o che sai che non utilizzerai mai, ammesso che ci siano

Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5