Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Podrobnosti
| Attribute | Value |
|---|---|
| Název produktu | SQL Server |
| ID události | 208 |
| Zdroj události | MSSQLSERVER |
| Součást | SQLEngine |
| Symbolický název | SQ_BADOBJECT |
| Text zprávy | Neplatný název objektu '%.*ls'. |
Explanation
Specifikovaný objekt nelze najít.
Možné příčiny
Tato chyba může být způsobena jedním z následujících problémů:
Objekt není správně specifikován.
Objekt neexistuje v aktuální databázi ani ve specifikované databázi.
Objekt existuje, ale uživatel ho nemůže zpřístupnit. Například uživatel nemusí mít oprávnění k objektu nebo je objekt vytvořen v rámci příkazu EXECUT, ale přístupný mimo rozsah příkazu EXECUT.
Uživatelská akce
Ověřte následující informace a podle potřeby opravte tvrzení.
Název objektu je napsán správně.
Současný databázový kontext je správný. Pokud není specifikován název databáze objektu, objekt musí existovat v aktuální databázi. Pro více informací o nastavení databázového kontextu viz USE (Transact-SQL).
Objekt existuje v systémových tabulkách. Pro ověření, zda existuje tabulka nebo jiný objekt se schématem zaměřený, dotazujte se do katalogu sys.objects . Pokud objekt není v systémových tabulkách, byl smazán nebo uživatel nemá oprávnění zobrazit metadata objektu. Pro více informací o oprávněních k zobrazení metadat objektů viz Konfigurace viditelnosti metadat.
Objekt je obsažen ve výchozím schématu uživatele. Pokud ne, objekt musí být specifikován pomocí dvoudílného formátu schema_name.object_name. Všimněte si, že skalární funkce musí být vždy vyvolány alespoň dvoudílným jménem.
Citlivost na velikost písmen při kolaci databáze.
Když databáze používá sortaci rozlišující písmena, musí název objektu odpovídat pádu objektu v databázi. Například když je objekt v databázi s velikostí a podobnou kolací specifikován jako MyTable , dotazy, které označují objekt jako mytable nebo Mytable , způsobí vrácení chyby 208, protože názvy objektů se neshodují.
Databázovou kolaci můžete ověřit spuštěním následujícího příkazu.
SELECT collation_name FROM sys.databases WHERE name = 'database_name';Zkratka CS v názvu kolace znamená, že kolace je rozlišující velká písmena. Například Latin1_General_CS_AS je kolace citlivá na velká písmena a akcent. CI označuje kolaci necitlivou na velké a závažné případy.
Uživatel má oprávnění k přístupu k objektu. Pro ověření oprávnění, která má uživatel k objektu, použijte funkci Has_Perms_By_Name system.
Související obsah
- USE (Transact-SQL)
- Konfigurace viditelnosti metadat
- HAS_PERMS_BY_NAME (Transact-SQL)