MSSQLSERVER_208
적용 대상: SQL Server
세부 정보
attribute | 값 |
---|---|
제품 이름 | SQL Server |
이벤트 ID | 208 |
이벤트 원본 | MSSQLSERVER |
구성 요소 | SQLEngine |
심볼 이름 | SQ_BADOBJECT |
메시지 텍스트 | 개체 이름 '%.*ls'이(가) 잘못되었습니다. |
설명
지정한 개체를 찾을 수 없습니다.
가능성 있는 원인
이 오류는 다음 문제 중 하나로 인해 발생할 수 있습니다.
개체가 올바르게 지정되지 않았습니다.
개체가 현재 데이터베이스 또는 지정된 데이터베이스에 없습니다.
개체가 있지만 사용자에게 노출될 수 없습니다. 예를 들어 사용자에게 개체에 대한 권한이 없거나 개체가 EXECUTE 문 내에서 만들어지지만 EXECUTE 문의 범위 밖에 액세스할 수 있습니다.
사용자 작업
다음 정보를 확인하고 문을 적절하게 수정합니다.
개체 이름의 철자가 올바릅니다.
현재 데이터베이스 컨텍스트가 올바릅니다. 개체의 데이터베이스 이름을 지정하지 않으면 개체가 현재 데이터베이스에 있어야 합니다. 데이터베이스 컨텍스트 설정에 대한 자세한 내용은 USE(Transact-SQL)를 참조하세요.
개체가 시스템 테이블에 있습니다. 테이블 또는 다른 스키마 범위 개체가 있는지 확인하려면 sys.objects 카탈로그 뷰를 쿼리합니다. 개체가 시스템 테이블에 없는 경우 개체가 삭제되었거나 사용자에게 해당 개체 메타데이터를 볼 수 있는 권한이 없는 것입니다. 개체 메타데이터를 볼 수 있는 권한에 대한 자세한 내용은 메타데이터 표시 유형 구성을 참조 하세요.
개체는 사용자의 기본 스키마에 포함됩니다. 그렇지 않으면 schema_name.object_name과 같이 두 부분으로 구성된 형식을 사용하여 개체를 지정해야 합니다. 스칼라 반환 함수는 항상 두 부분 이상으로 구성된 이름을 사용하여 호출해야 합니다.
데이터베이스 데이터 정렬의 대/소문자 구분입니다.
데이터베이스에서 대/소문자 구분 데이터 정렬을 사용하면 개체 이름과 데이터베이스 개체의 대/소문자가 일치해야 합니다. 예를 들어 대/소문자를 구분하는 데이터 정렬이 있는 데이터베이스에서 개체를 MyTable로 지정하면 개체 이름이 일치하지 않으므로 개체를 mytable 또는 Mytable로 참조하는 쿼리로 인해 오류 208이 반환됩니다.
다음 문을 실행하여 데이터베이스 데이터 정렬을 확인할 수 있습니다.
SELECT collation_name FROM sys.databases WHERE name = 'database_name';
데이터 정렬 이름의 약어 CS는 데이터 정렬이 대/소문자를 구분했음을 나타냅니다. 예를 들어 Latin1_General_CS_AS 대/소문자를 구분하고 악센트를 구분하는 데이터 정렬입니다. CI는 대/소문자를 구분하지 않는 데이터 정렬을 나타냅니다.
사용자에게 개체에 액세스할 수 있는 권한이 있습니다. 사용자가 개체에 대한 사용 권한을 확인하려면 Has_Perms_By_Name 시스템 함수를 사용합니다.
참고 항목
USE(Transact-SQL)
메타데이터 표시 유형 구성
HAS_PERMS_BY_NAME(Transact-SQL)