문제

개체의 정의가 변경된다고 해서 이 개체를 참조하는 (스키마 바인딩 되지 않은) SP, UDF, VIEW의 메타데이터가 자동으로 갱신되지는 않습니다.

해결

--SQL Server 2000
참조한 개체는 Alter를 이용해서 다시 컴파일되어야 합니다. VIEW의 경우 sp_refreshview가 존재했지만, 다른 개체는 일일히 수작업을 해야 했었죠.

--SQL Server 2005
SQL Server 2005 SP2에서 sp_refreshsqlmodule 이 처음으로 소개되었습니다. 이 system sp를 이용하면 변경된 개체를 참조하는 SP, UDF, VIEW에 대해서 한번에 변경된 메타데이터를 갱신해 줍니다. 여전히 sp_refreshview도 사용 가능합니다.

실행 예)
EXEC sys.sp_refreshsqlmodule 'dbo.to_upper';

출처
http://msdn2.microsoft.com/ko-kr/library/bb326754.aspx
https://optimizer.tistory.com/entry/SQL2k5sprefreshsqlmodule-vs-sprefreshview


to Top