DBCC ShrinkDatabase()
DBCC ShrinkFile()
- Devo eseguire entrambi i comandi DBCC per ridurre il database?
- Qual è la differenza tra questi due sopra?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Risposte:
Semplicemente...
DBCC ShrinkDatabase()
: restringe tutti i fileDBCC ShrinkFile()
: solo un fileAd esempio, potresti avere un problema con il backup del registro ed è cresciuto senza controllo, quindi corri DBCC ShrinkFile()
.
Non lo usi quasi maiShrinkDatabase
.
Prima di prendere in considerazione l'utilizzo di uno dei due comandi, leggi il blog di Paul Randal sulla riduzione .
Ridurrei nessuno dei file (mdf, ldf) a meno che non ci fosse una ragione chiara. I file hanno le dimensioni in quanto devono essere. Qualsiasi blog che suggerisce di farlo come parte della manutenzione regolare probabilmente non capisce come funziona SQL Server.
Un database predefinito ha due file
MyDb.MDF e MyDb.LDF
Il file MDF è il file di dati in cui risiede la partizione primaria. A seconda delle esigenze, è possibile partizionare un database in più file. Questo viene fatto in modo che i dati (tabelle singole o multiple) possano estendersi su più file che di solito vengono messi su dischi rigidi separati per ottenere prestazioni più elevate.
Se si riduce un database, tutti i file associati a quel database verranno ridotti.
Se si restringe un file, solo il file selezionato verrà ridotto.
È sufficiente utilizzare il comando Riduci database. Ma di solito non è una buona pratica farlo e non è nemmeno una pratica raccomandata.
Se ci comunichi qual è il problema che stai riscontrando, possiamo fornirti ulteriori informazioni su come risolverlo.
Molto probabilmente usiamo solo dbcc shrinkfile. sp_helpdb 'databasename' fornisce l'elenco di dati e file di registro in un database.
fare clic con il tasto destro del mouse su mnagement studio, il file task-> riduci-> fornisce la percentuale di% che è possibile ridurre.
qualunque cosa ci restringiamo, è disponibile sul disco come spazio libero.
ad es .: usare 'databasename' dbcc shrinkfile (fileid, 100)
qui 100 è 100 MB
fileid può ottenere da sp_helpdb 'databasename'