COMPATTAZIONE DB SQL SERVER 2000

venerdì 25 maggio 2007 - 09.05

delama77 Profilo | Junior Member

Come eseguo la compattazione di un database in SQL Server 2000

Grazie

lbenaglia Profilo | Guru

>Come eseguo la compattazione di un database in SQL Server 2000

Ciao delama77,

immagino che tu intenda compattare il Transaction Log, corretto?
In questo caso fai riferimento al seguente tip:
http://www.dotnethell.it/tips/ShrinkTLOGSql2000.aspx

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

delama77 Profilo | Junior Member

Ti spiego brevemente il mio problema
Ho un database di circa 3 Giga con un LOG di circa 500 mega
Il db originale conteneva 30 Tabelle ora ne ho soltanto 10
e mi occorre ridurlo di dimensioni.

Non ho mai fatto operazioni di amministrazione di Database ; fino ad oggi mi sono sempre occupata solo di programmazione di stored ma sai com'è nelle piccole aziende vogliono che si sappia fare di tutto ...

lbenaglia Profilo | Guru

>Ho un database di circa 3 Giga con un LOG di circa 500 mega
>Il db originale conteneva 30 Tabelle ora ne ho soltanto 10
>e mi occorre ridurlo di dimensioni.

OK, allora intendi ridurre anche le dimensioni del Master Data File (.mdf).
Prima di tutto esegui un backup del transaction log (eventualmente specificando le clausole WITH NO_LOG oppure TRUNCATE_ONLY se non vuoi generare il file di backup).
A questo punto puoi recuperare lo spazio allocato ma non utilizzato del Master Data File e del transaction log connettendoti all'istanza con il Query Analyzer ed una login amministrativa, scrivendo:

DBCC SHRINKDATABASE ( 'database_name' )

Per maggiori dettagli:

"DBCC SHRINKDATABASE (Transact-SQL)"
http://msdn2.microsoft.com/en-us/library/ms190488.aspx

>Non ho mai fatto operazioni di amministrazione di Database ;
>fino ad oggi mi sono sempre occupata solo di programmazione di
>stored ma sai com'è nelle piccole aziende vogliono che si sappia
>fare di tutto ...
Anche in quelle grandi

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

delama77 Profilo | Junior Member


Scusa la mia ignoranza ma tu mi dici di eseguire un Backup del transaction LOG (eventualmente specificando le clausole WITH NO_LOG oppure TRUNCATE_ONLY se non vuoi generare il file di backup). ma come procedo ?
Anche perchè non è mia intenzione andare a creare il file di BU

Grazie

lbenaglia Profilo | Guru

>Scusa la mia ignoranza ma tu mi dici di eseguire un Backup del
>transaction LOG (eventualmente specificando le clausole WITH
>NO_LOG oppure TRUNCATE_ONLY se non vuoi generare il file di backup).
>ma come procedo ?
>Anche perchè non è mia intenzione andare a creare il file di
>BU
In che senso come procedo?
E' tutto scritto nel tip che ti ho segnalato!
Apri una sessione col Query Analyzer, esegui un backup del t-log specificando la clausola WITH TRUNCATE_ONLY e lancia una SHIRNKDATABASE per compattare sia il t-log che i data file.

Tutti i dettagli sono sui BOL.

>Grazie
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5