다음을 통해 공유


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)