sp_recompile(Transact-SQL)
저장 프로시저 및 트리거가 다음에 실행될 때 다시 컴파일되게 합니다.
구문
sp_recompile [ @objname = ] 'object'
인수
[ @objname = ] 'object'
현재 데이터베이스에 있는 저장 프로시저, 트리거, 테이블 또는 뷰의 정규화된 이름 또는 정규화되지 않은 이름입니다. object는 **nvarchar(776)**이며 기본값은 없습니다. object가 저장 프로시저 또는 트리거의 이름인 경우 해당 저장 프로시저 또는 트리거가 다음에 실행될 때 다시 컴파일됩니다. object가 테이블 또는 뷰의 이름인 경우 해당 테이블 또는 뷰를 참조하는 모든 저장 프로시저가 다음에 실행될 때 다시 컴파일됩니다.
반환 코드 값
0(성공) 또는 0이 아닌 수(실패)
주의
sp_recompile은 현재 데이터베이스에서만 개체를 찾습니다.
저장 프로시저 및 트리거에 사용되는 쿼리는 컴파일되는 경우에만 최적화됩니다. 데이터베이스에 통계에 영향을 주는 인덱스 또는 다른 변경 내용이 생기면 컴파일된 저장 프로시저 및 트리거가 효율성을 잃을 수도 있습니다. 테이블에서 사용되는 저장 프로시저 및 트리거를 다시 컴파일하면 쿼리를 다시 최적화할 수 있습니다.
[!참고] SQL Server 는 자동으로 저장 프로시저 및 트리거를 다시 컴파일하는 편이 좋은 경우 그렇게 합니다.
사용 권한
지정된 개체에 대한 ALTER 권한이 필요합니다.
예
다음 예에서는 Customer
테이블에 대해 수행되는 저장 프로시저가 다음에 실행될 때 다시 컴파일되도록 합니다.
USE AdventureWorks;
GO
EXEC sp_recompile N'Sales.Customer';
GO
참고 항목
참조
CREATE PROCEDURE(Transact-SQL)
CREATE TRIGGER(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)