MSSQLSERVER_208MSSQLSERVER_208

DettagliDetails

Nome prodottoProduct Name SQL ServerSQL Server
ID eventoEvent ID 208208
Origine eventoEvent Source MSSQLSERVERMSSQLSERVER
ComponenteComponent SQLEngineSQLEngine
Nome simbolicoSymbolic Name SQ_BADOBJECTSQ_BADOBJECT
Testo del messaggioMessage Text Il nome di oggetto '%.ls' non è valido.Invalid object name '%.ls'.

SpiegazioneExplanation

Non è possibile individuare l'oggetto specificato.The specified object cannot be found.

Possibili causePossible Causes

L'errore può essere causato da uno dei problemi seguenti:This error can be caused by one of the following problems:

  • L'oggetto non è stato specificato correttamente.The object is not specified correctly.

  • L'oggetto non esiste nel database corrente oppure in quello specificato.The object does not exist in the current database or in the specified database.

  • L'oggetto esiste, ma potrebbe non essere esposto all'utente.The object exists, but could not be exposed to the user. È possibile ad esempio che l'utente non disponga di autorizzazioni sull'oggetto oppure l'oggetto è stato creato all'interno di un'istruzione EXECUTE, ma l'accesso è stato eseguito al di fuori dell'ambito dell'istruzione EXECUTE.For example, the user might not have permissions on the object or the object is created within an EXECUTE statement but accessed outside the scope of the EXECUTE statement.

Azione dell'utenteUser Action

Verificare le informazioni seguenti e correggere l'istruzione in base alle esigenze.Verify the following information and correct the statement as appropriate.

  • Correttezza dell'ortografia dell'oggetto.The object name is spelled correctly.

  • Correttezza del contesto di database corrente.The current database context is correct. Se per l'oggetto non è specificato un nome di database, l'oggetto deve esistere nel database corrente.If a database name for the object is not specified, the object must exist in the current database. Per altre informazioni sull'impostazione del contesto di database, vedere USE (Transact-SQL).For more information about setting the database context, see USE (Transact-SQL).

  • Esistenza dell'oggetto nelle tabelle di sistema.The object exists in the system tables. Per verificare l'esistenza di una tabella o un altro oggetto con ambito schema, eseguire una query nella vista del catalogo sys.objects.To verify whether a table or other schema-scoped object exists, query the sys.objects catalog view. Se l'oggetto non è presente nelle tabelle di sistema, significa che è stato eliminato o l'utente non dispone delle autorizzazioni necessarie per visualizzare i metadati dell'oggetto.If the object is not in the system tables, the object has been deleted, or the user does not have permissions to view the object metadata. Per altre informazioni sulle autorizzazioni per visualizzare i metadati degli oggetti, vedere Configurazione della visibilità dei metadati.For more information about permissions to view object metadata, see Metadata Visibility Configuration.

  • Presenza dell'oggetto nello schema predefinito dell'utente.The object is contained in the default schema of the user. Se questa condizione non si verifica, l'oggetto deve essere specificato nel formato in due parti schema_name.object_name.If it is not, the object must be specified using the two-part format schema_name.object_name. Si noti che è sempre necessario richiamare funzioni a valori scalari utilizzando almeno un nome in due parti.Note that scalar-valued functions must always be invoked by using at least a two-part name.

  • Distinzione tra maiuscole e minuscole delle regole di confronto del database.The case sensitivity of the database collation.

    Quando in un database vengono utilizzate regole di confronto con distinzione tra maiuscole e minuscole, il nome dell'oggetto deve corrispondere alla combinazione di maiuscole e minuscole dell'oggetto nel database.When a database uses a case-sensitive collation, the object name must match the case of the object in the database. Ad esempio, se un oggetto è specificato come MiaTabella in un database con regole di confronto che rispettano la distinzione tra maiuscole e minuscole, le query che si riferiscono all'oggetto come miatabella o Miatabella restituiranno l'errore 208 poiché i nomi degli oggetti non corrispondono.For example, when an object is specified as MyTable in a database with a case sensitive collation, queries that refer to the object as mytable or Mytable will cause error 208 to return because the object names do not match.

    Per verificare le regole di confronto del database, eseguire l'istruzione seguente.You can verify the database collation by running the following statement.

    SELECT collation_name FROM sys.databases WHERE name = 'database_name';  
    

    L'abbreviazione CS nel nome delle regole di confronto indica che le regole di confronto rispettano la distinzione tra maiuscole e minuscole.The abbreviation CS in the collation name indicates the collation is case sensitive. Ad esempio, Latin1_General_CS_AS è una regola di confronto con distinzione tra maiuscole e minuscole e distinzione tra caratteri accentati e non accentati,For example, Latin1_General_CS_AS is a case sensitive, accent sensitive collation. mentre CI indica una regola di confronto senza distinzione tra maiuscole e minuscole.CI indicates a case insensitive collation.

  • Autorizzazioni di accesso all'oggetto concesse all'utente.The user has permission to access the object. Per verificare le autorizzazioni di cui l'utente dispone sull'oggetto, usare la funzione di sistema Has_Perms_By_Name.To verify the permissions the user has on the object, use the Has_Perms_By_Name system function.

Vedere ancheSee Also

USE (Transact-SQL)USE (Transact-SQL)
Configurazione della visibilità dei metadatiMetadata Visibility Configuration
HAS_PERMS_BY_NAME (Transact-SQL)HAS_PERMS_BY_NAME (Transact-SQL)