MSSQLSERVER_208

適用於:SQL Server

詳細資料

屬性
產品名稱 SQL Server
事件識別碼 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)