4104: The multi-part identifier could not be bound (다중 부분 식별자를 바인딩할 수 없음)
SQL Server의미
점으로 구분된 다중 부분 식별자(예: table.column 또는 alias.column)를 확인할 수 없다. SQL Server가 이 이름을 쿼리 내 테이블/열에 바인딩하지 못했다.
원인
잘못되었거나 정의되지 않은 테이블 별칭, FROM/JOIN에 없는 테이블 참조, 다른 테이블에 귀속된 열, 별칭 정의 후 실제 테이블 이름 사용, 또는 오타.
해결 방법
사용한 별칭이 FROM/JOIN 절에 정의되어 있는지 확인한다. 열을 올바른 테이블/별칭으로 한정한다. 테이블에 별칭을 지정했다면 모든 곳에서 실제 이름이 아닌 별칭을 사용한다. 누락된 테이블을 JOIN에 추가하고 이름을 확인한다.
같은 데이터베이스의 다른 항목
- 156Incorrect syntax near the keyword
- 2812Could not find stored procedure (저장 프로시저를 찾을 수 없음)
- 8623The query processor ran out of internal resources and could not produce a query plan (쿼리 프로세서 내부 리소스 부족으로 쿼리 계획 생성 불가)
- 2714There is already an object named in the database (데이터베이스에 같은 이름의 개체가 이미 있음)
- 601Could not continue scan with NOLOCK due to data movement (데이터 이동으로 NOLOCK 스캔을 계속할 수 없음)
- 50000Custom error raised with RAISERROR (RAISERROR로 발생시킨 사용자 정의 오류)
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (대응하는 BEGIN TRANSACTION이 없는 COMMIT TRANSACTION)