mars 12, 2022

sp_clean_db_free_space (Transact-SQL)

  • artikel
  • 01/29/2021
  • 2 minuter att läsa
    • m
    • c
    • r
    • p
    • M
    • +4
är den här sidan till hjälp?

tack.

gäller för: yesSQL Server(alla versioner som stöds)

tar bort kvarvarande information kvar på databassidor på grund av data modifiering rutiner i SQL Server. sp_clean_db_free_space rensar alla sidor i alla filer i databasen.

Ämneslänkikon Transact-SQL-syntaxkonventioner

Syntax

sp_clean_db_free_space 'database_name' 'delay_in_seconds' ] 

argument

@dbname = ’databasnamn’
är namnet på databasen som ska rengöras. dbname är sysname och kan inte vara NULL.

@cleaning_delay = ’delay_in_seconds’
anger ett intervall som ska fördröjas mellan rengöring av sidor. Detta bidrar till att minska effekten på I/O-systemet. delay_in_seconds är int med en standard på 0.

returnera kodvärden

0 (framgång) eller 1 (fel)

anmärkningar

ta bort åtgärder från en tabell eller uppdatera åtgärder som gör att en rad flyttas kan omedelbart frigöra utrymme på en sida genom att ta bort referenser till raden. Men under vissa omständigheter kan raden fysiskt förbli på datasidan som en spökrekord. Ghost-poster tas regelbundet bort av en bakgrundsprocess. Denna restdata returneras inte av databasmotorn som svar på frågor. I miljöer där den fysiska säkerheten för data eller säkerhetskopior är i fara kan du dock använda sp_clean_db_free_space för att rengöra dessa spökposter. För att utföra denna operation per databasfil, använd sp_clean_db_file_free_space (Transact-SQL).

den tid som krävs för att köra sp_clean_db_free_space beror på filens storlek, tillgängligt ledigt utrymme och diskens kapacitet. Eftersom körning sp_clean_db_free_space kan påverka I/O-aktivitet avsevärt, rekommenderar vi att du kör den här proceduren utanför vanliga driftstimmar.

innan du kör sp_clean_db_free_space rekommenderar vi att du skapar en fullständig databasbackup.

den relaterade sp_clean_db_file_free_space lagrade proceduren kan rengöra en enda fil.

behörigheter

kräver medlemskap i databasrollen db_owner.

exempel

följande exempel rensar all återstående information från databasen AdventureWorks2012.

USE master; GO EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2012'; 

Se även

databasmotor lagrade procedurer (Transact-SQL)
Ghost Cleanup Process Guide
sp_clean_db_file_free_space (Transact-SQL)

Lämna ett svar

Din e-postadress kommer inte publiceras.