martie 12, 2022

sp_clean_db_free_space (Transact-SQL)

  • articol
  • 01/29/2021
  • 2 minute de citit
    • m
    • c
    • r
    • p
    • M
    • +4
este utilă această pagină?

mulțumesc.

se aplică la: yes SQL Server(toate versiunile acceptate)

elimină informațiile reziduale rămase pe paginile bazei de date din cauza rutinelor de modificare a datelor din SQL Server. sp_clean_db_free_space curăță toate paginile din toate fișierele bazei de date.

subiect link icon Transact-SQL sintaxă convenții

sintaxă

sp_clean_db_free_space 'database_name' 'delay_in_seconds' ] 

argumente

@dbname = ‘database_name’
este numele bazei de date pentru a curăța. dbname este sysname și nu poate fi nul.

@cleaning_delay = ‘delay_in_seconds’
specifică un interval de întârziere între curățarea paginilor. Acest lucru ajută la reducerea efectului asupra sistemului I/O. delay_in_seconds este int cu o valoare implicită de 0.

returnați valorile Codului

0 (succes) sau 1 (eșec)

observații

ștergerea operațiilor dintr-un tabel sau actualizarea operațiilor care determină mutarea unui rând pot elibera imediat spațiu pe o pagină eliminând referințele la rând. Cu toate acestea, în anumite circumstanțe, rândul poate rămâne fizic pe pagina de date ca o înregistrare fantomă. Înregistrările fantomă sunt eliminate periodic printr-un proces de fundal. Aceste date reziduale nu sunt returnate de motorul bazei de date ca răspuns la interogări. Cu toate acestea, în medii în care securitatea fizică a datelor sau a fișierelor de rezervă este în pericol, puteți utiliza sp_clean_db_free_space pentru a curăța aceste înregistrări fantomă. Pentru a efectua această operație pe fișier de bază de date, utilizați sp_clean_db_file_free_space (Transact-SQL).

durata de timp necesară pentru a rula sp_clean_db_free_space depinde de dimensiunea fișierului, de spațiul liber disponibil și de capacitatea discului. Deoarece rularea sp_clean_db_free_space poate afecta semnificativ activitatea I/O, vă recomandăm să executați această procedură în afara orelor obișnuite de funcționare.

înainte de a rula sp_clean_db_free_space, vă recomandăm să creați o copie de rezervă completă a bazei de date.

procedura stocată sp_clean_db_file_free_space poate curăța un singur fișier.

permisiuni

necesită apartenența la rolul bazei de date db_owner.

Exemple

următorul exemplu curăță toate informațiile reziduale din baza de date AdventureWorks2012.

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

a se vedea, de asemenea,

proceduri stocate motor de baze de date (Transact-SQL)
Ghid de proces de curățare fantomă
sp_clean_db_file_free_space (Transact-SQL)

Lasă un răspuns

Adresa ta de email nu va fi publicată.