2812: Could not find stored procedure (저장 프로시저를 찾을 수 없음)
SQL Server의미
EXEC로 호출한 저장 프로시저를 현재 데이터베이스/스키마 범위에서 찾을 수 없다. 해당 이름의 프로시저가 존재하지 않는다.
원인
프로시저 이름 오타, 스키마 접두사 누락 또는 오류(예: dbo. 생략), 프로시저가 다른 데이터베이스에 있음, 아직 생성되지 않음, 또는 권한 때문에 보이지 않음.
해결 방법
프로시저 이름과 스키마를 확인하고 호출 시 정규화된 전체 이름을 사용한다(예: EXEC dbo.ProcedureName). 올바른 데이터베이스에 있는지 확인한다(USE DatabaseName). 프로시저가 존재하는지 확인한다(sys.procedures / OBJECT_ID). 필요한 EXECUTE 권한을 부여하고 배포 스크립트가 실행되었는지 확인한다.
같은 데이터베이스의 다른 항목
- 512Subquery returned more than 1 value
- 207Invalid column name
- 156Incorrect syntax near the keyword
- 8623The query processor ran out of internal resources and could not produce a query plan (쿼리 프로세서 내부 리소스 부족으로 쿼리 계획 생성 불가)
- 4104The multi-part identifier could not be bound (다중 부분 식별자를 바인딩할 수 없음)
- 2714There is already an object named in the database (데이터베이스에 같은 이름의 개체가 이미 있음)
- 601Could not continue scan with NOLOCK due to data movement (데이터 이동으로 NOLOCK 스캔을 계속할 수 없음)