다음을 통해 공유


sp_recompile(Transact-SQL)

저장 프로시저 및 트리거가 다음에 실행될 때 다시 컴파일되게 합니다.

항목 링크 아이콘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)

도움말 및 정보

SQL Server 2005 지원 받기