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)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應