적용 대상:SQL Server
Azure SQL Managed Instance
데이터 페이지에 남는 정보를 제거합니다.
sp_clean_db_file_free_space 는 데이터베이스의 한 파일에서만 모든 페이지를 정리합니다.
구문
sp_clean_db_file_free_space
[ @dbname = ] N'dbname'
, [ @fileid = ] fileid
[ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]
인수
[ @dbname = ] N'dbname'
정리할 데이터베이스의 이름입니다. @dbname 기본값이 없는 sysname입니다.
[ @fileid = ] fileid
정리할 데이터 파일 ID입니다. @fileid 기본값이 없는 int입니다.
[ @cleaning_delay = ] cleaning_delay
각 페이지 정리 전에 몇 초 단위로 지연할 간격을 지정합니다.
@cleaning_delay 기본값인 int0. 이 지연은 정화 작업 시간을 늘리는 대신 I/O 시스템의 부하를 줄이는 데 도움을 줍니다.
반환 코드 값
0(성공) 또는 1(실패).
설명
sp_clean_db_file_free_space 시스템 저장 프로시저는 페이지 내 모든 행(고스트 레코드도 포함)을 페이지 시작 지점으로 이동시키고, 나머지 데이터 공간을 0초기화합니다. 데이터 파일이나 기본 저장소의 물리적 보안이 위험한 환경에서는 이 저장 프로시저를 사용하여 잔여 삭제된 데이터가 데이터 파일이나 저장소에 남지 않도록 할 수 있습니다.
실행 sp_clean_db_file_free_space 에 필요한 시간은 데이터 파일의 크기, 파일 내 사용 페이지 수, 디스크의 입출력 능력에 따라 달라집니다. 달리기가 sp_clean_db_file_free_space I/O 활동을 크게 증가시킬 수 있으므로, 이 절차를 일반 운영 시간 외에 시행할 것을 권장합니다.
실행 sp_clean_db_file_free_space하기 전에 전체 데이터베이스 백업을 만드는 것이 좋습니다.
데이터베이스 내 모든 데이터 파일에 대해 이 작업을 수행하려면 sp_clean_db_free_space를 사용하세요.
사용 권한
db_owner 데이터베이스 역할의 멤버 자격이 필요합니다.
예제
다음 예제에서는 데이터베이스의 기본 데이터 파일에서 모든 잔류 정보를 정리합니다 AdventureWorks2025 .
USE master;
GO
EXECUTE sp_clean_db_file_free_space
@dbname = N'AdventureWorks2022',
@fileid = 1;