MSSQLSERVER_916MSSQLSERVER_916

Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions)

DetalhesDetails

AtributoAttribute ValorValue
Nome do ProdutoProduct Name SQL ServerSQL Server
ID do eventoEvent ID 916916
Origem do EventoEvent Source MSSQLSERVERMSSQLSERVER
ComponenteComponent SQLEngineSQLEngine
Nome simbólicoSymbolic Name NOTUSERNOTUSER
Texto da mensagemMessage Text A entidade de segurança do servidor "%.*ls" não é capaz de acessar o banco de dados "%.*ls" no contexto de segurança atual.The server principal "%.*ls" is not able to access the database "%.*ls" under the current security context.

ExplicaçãoExplanation

O logon não tem permissões suficientes para conectar-se ao banco de dados nomeado.The login does not have sufficient permissions to connect to the named database. Os logons que podem conectar-se a essa instância do SQL ServerSQL Server, mas que não têm permissões específicas em um banco de dados, recebem as permissões do usuário convidado.Logins that can connect to this instance of SQL ServerSQL Server but that do not have specific permissions in a database receive the permissions of the guest user. Esta é uma medida de segurança para evitar que usuários em um banco de dados se conectem a outros bancos de dados em que não têm privilégios.This is a security measure to prevent users in one database from connecting to other databases where they do not have privileges. Esta mensagem de erro pode ocorrer quando o usuário convidado não tem permissão CONNECT para o banco de dados nomeado e a propriedade confiável não está definida.This error message can occur when the guest user does not have CONNECT permission to the named database and the trustworthy property is not set. Essa mensagem de erro poderá ser exibida quando o usuário convidado não tiver a permissão CONNECT para o banco de dados nomeado.This error message can occur when the guest user does not have CONNECT permission to the named database.

Quando a permissão CONNECT para o banco de dados msdb for negada ou revogada, o SQL Server Management StudioSQL Server Management Studio poderá receber esse erro quando o Pesquisador de Objetos tentar mostrar o status do gerenciamento baseado em políticas de cada banco de dados.When CONNECT permission to the msdb database is denied or revoked, SQL Server Management StudioSQL Server Management Studio can receive this error when Object Explorer tries to show the Policy Based Management status of each database. O Pesquisador de Objetos usa as permissões do logon atual para consultar o banco de dados msdb quanto a essas informações, o que causa o erro.Object Explorer uses the permissions of the current login to query the msdb database for this information, which causes the error. A seguinte mensagem de erro também ocorre:The following error message also occurs:

Falha ao recuperar dados para esta solicitação.Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)(Microsoft.SqlServer.Management.Sdk.Sfc)

Ação do usuárioUser Action

Aviso

Para evitar esta medida de segurança, verifique se há uma compreensão clara sobre a autenticação de usuários em diversos bancos de dados.Before circumventing this security measure be sure to have a clear understanding of users are authenticated in various databases. Os métodos a seguir talvez permitam que usuários tenham permissões em um banco de dados para se conectarem a outros bancos de dados que podem expor os dados a um usuário mal-intencionado.The following methods may allow users that have permissions in one database to connect to other databases which could expose data to a malicious user. Quando os bancos de dados independentes são habilitados, as etapas a seguir podem permitir proprietários de banco de dados em um banco de dados para conceder acesso a outro banco de dados na instância do SQL ServerSQL Server.When contained databases are enabled, the following steps can allow database owners in one database to grant access to other database on the instance of SQL ServerSQL Server.

Você pode se conectar ao banco de dados de uma das seguintes maneiras:You can connect to the database in one of the following ways:

  • Concedendo ao logon específico acesso ao banco de dados nomeado.Grant the specific login access to the named database. O exemplo a seguir concede ao logon Adventure-Works\Larry acesso ao banco de dados msdb.The following example grants the login Adventure-Works\Larry access to the msdb database.

    USE msdb ;
    
    GO
    
    GRANT CONNECT TO [Adventure-Works\Larry] ;
    
  • Concedendo a permissão CONNECT ao banco de dados nomeado na mensagem de erro para o usuário convidado.Grant the CONNECT permission to the database named in the error message for the guest user. O exemplo a seguir concede a permissão CONNECT ao banco de dados msdb para o usuário guest.The following example grants the CONNECT permission to the msdb database for the user guest.

    USE msdb ;
    
    GO
    
    GRANT CONNECT TO guest ;
    
  • Habilite a propriedade TRUSTWORTHY no banco de dados que tem o usuário autenticado.Enable the TRUSTWORTHY property on the database that has authenticated the user.

    ALTER DATABASE AdventureWorks SET TRUSTWORTHY ON;