916: The server principal is not able to access the database under the current security context (o principal de servidor não consegue acessar o banco no contexto de segurança atual)
SQL ServerO que significa?
Um login tentou acessar um banco específico, mas não tem acesso a ele no contexto de segurança atual. O login consegue se conectar ao servidor, mas não tem um usuário/permissão correspondente no banco de destino.
Por que acontece?
O login não tem um usuário mapeado no banco (órfão ou nunca criado), o acesso ao banco está restrito ou a conta guest está desabilitada. Um caso comum é o Object Explorer do SSMS tentando ler metadados de um banco ao qual o login não tem acesso.
Como resolver
Crie um usuário para o login no banco de destino e conceda as permissões necessárias: USE [db]; CREATE USER [login] FOR LOGIN [login]; e atribua as roles/permissões adequadas. Se existir um usuário órfão, mapeie-o com ALTER USER ... WITH LOGIN = ... Se o acesso for realmente necessário, adicione-o à role de banco adequada; caso contrário, o erro é o comportamento esperado (sem acesso a esse banco).
Mais entradas deste banco
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings (INSERT/UPDATE falhou porque estas opções SET têm valores incorretos)
- 468Cannot resolve the collation conflict
- 4864Bulk load data conversion error (type mismatch or invalid character) (erro de conversão de dados na carga em massa (tipo incompatível ou caractere inválido))