it-swarm.it

Qual è la differenza tra Shrink Database e File?

DBCC ShrinkDatabase()
DBCC ShrinkFile()
  1. Devo eseguire entrambi i comandi DBCC per ridurre il database?
  2. Qual è la differenza tra questi due sopra?
34
Jango

Semplicemente...

  • DBCC ShrinkDatabase(): restringe tutti i file
  • DBCC ShrinkFile(): solo un file

Ad esempio, potresti avere un problema con il backup del log ed è cresciuto senza controllo, quindi esegui DBCC ShrinkFile().

Tu quasi non usi mai ShrinkDatabase.

Prima di prendere in considerazione l'utilizzo di uno dei due comandi, leggi 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.

36
gbn

Un database predefinito ha due file

MyDb.MDF e MyDb.LDF

Il MDF è il file di dati in cui risiede la partizione primaria. A seconda delle esigenze, è possibile partizionare un database in più file. In questo modo i dati (tabelle singole o multiple) possono estendersi 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 scelto 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.

2
Raj More

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 che è possibile ridurre.

qualunque cosa ci restringiamo, è disponibile sul disco come spazio libero.

ad es .: utilizzare 'databasename' dbcc shrinkfile (fileid, 100)

qui 100 è 100 MB

fileid può ottenere da sp_helpdb 'databasename'

0
Gigs