sp_clean_db_free_space (Transact-SQL)
- Artikkel
- 01/29/2021
- 2 minutter å lese
-
- m
- c
- r
- p
- M
-
+4
Gjelder for: SQL Server (alle støttede versjoner)
Fjerner gjenværende informasjon på databasesider på grunn av rutiner for endring av data I SQL Server. sp_clean_db_free_space renser alle sider i alle filer i databasen.
Transact-SQL Syntaks Konvensjoner
Syntaks
sp_clean_db_free_space 'database_name' 'delay_in_seconds' ]
Argumenter
@dbname = ‘databasenavn’
er navnet på databasen som skal rengjøres. dbname er sysname og KAN ikke VÆRE NULL.
@cleaning_delay = ‘delay_in_seconds’
Angir et intervall som skal forsinkes mellom rengjøring av sider. Dette bidrar til å redusere effekten på I/O-systemet. delay_in_seconds er int med en standard på 0.
Returner Kodeverdier
0 (suksess) eller 1 (feil)
Merknader
Slett operasjoner fra en tabell Eller oppdateringsoperasjoner som gjør at en rad flyttes, kan umiddelbart frigjøre plass på en side ved å fjerne referanser til raden. Under visse omstendigheter kan imidlertid raden fysisk forbli på datasiden som en spøkelsesoppføring. Ghost poster blir periodisk fjernet av en bakgrunnsprosess. Disse gjenværende dataene returneres ikke Av Databasemotoren som svar på spørringer. I miljøer der den fysiske sikkerheten til dataene eller sikkerhetskopifilene er i fare, kan du imidlertid bruke sp_clean_db_free_space
til å rense disse spøkelsesoppføringene. For å utføre denne operasjonen per databasefil, bruk sp_clean_db_file_free_space (Transact-SQL).
hvor lang tid det tar å kjøre sp_clean_db_free_space avhenger av størrelsen på filen, ledig plass og diskkapasiteten. Fordi kjøring sp_clean_db_free_space
kan påvirke i/U-aktiviteten betydelig, anbefaler vi at du kjører denne prosedyren utenom vanlig driftstid.
før du kjører sp_clean_db_free_space
, anbefaler vi at du oppretter en fullstendig sikkerhetskopi av databasen.
den relaterte sp_clean_db_file_free_space lagret prosedyre kan rense en enkelt fil.
Tillatelser
Krever medlemskap i db_owner
databaserollen.
Eksempler
følgende eksempel renser all gjenværende informasjon fra AdventureWorks2012
– databasen.
USE master; GO EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2012';
Se Også
Database Motor Lagret Prosedyrer (Transact-SQL)
Ghost Opprydding Prosessen Guide
sp_clean_db_file_free_space (Transact-SQL)