Hospedagem Segura — página inicial

Painéis de controle

Erro 916 no SQL Server: "The server principal is not able to access the database"

O erro 916 aparece quando o usuário tenta ler um banco de dados ao qual não tem acesso. Em hospedagem compartilhada, quase sempre é o Management Studio consultando todos os bancos do servidor, não um problema no seu.

  • Por equipe técnica da Hospedagem Segura
  • Atualizado em 10/10/2026
  • 3 min de leitura

Texto do artigo

Neste artigo
  1. Causa mais comum: a lista de bancos do Management Studio
  2. Como resolver
  3. Quando é permissão de verdade
  4. Perguntas frequentes

A mensagem completa costuma ser parecida com esta:

The server principal "usuario" is not able to access the database "outro_banco"
under the current security context. (Microsoft SQL Server, Error: 916)

Ela diz que o login conectado não tem um usuário mapeado naquele banco. Em um servidor compartilhado isso é esperado: cada cliente acessa só os próprios bancos.

Causa mais comum: a lista de bancos do Management Studio

Ao expandir a pasta Databases, o Object Explorer do SQL Server Management Studio (SSMS) pode pedir propriedades de todos os bancos do servidor, como a ordenação (collation). Quando chega a um banco de outro cliente, recebe o erro 916 e interrompe a listagem, mesmo que o seu banco esteja funcionando normalmente.

Como resolver

  1. Confira se o SSMS está atualizado. A linha atual é a 22; a versão 22.10.2 saiu em 28/09/2026, segundo as notas de versão da Microsoft.
  2. Na versão que você usa, abra View > Object Explorer Details (F7), clique com o botão direito no cabeçalho das colunas e desmarque Collation e outras colunas de propriedades. Depois, atualize a lista no Object Explorer.
  3. Para trabalhar direto no seu banco, informe o nome dele na conexão: na janela de conexão moderna, do SSMS 21 em diante, preencha Database Name; na janela clássica, clique em Options e preencha Connect to database.

Quando é permissão de verdade

Se o erro aparece ao acessar o seu próprio banco, o login não está associado a um usuário dentro dele. Em hospedagem com Plesk, confira em Bancos de dados se o usuário pertence ao banco certo e redefina a senha, se necessário. Em servidor próprio, mapeie o login ao banco:

USE meu_banco;
CREATE USER [usuario] FOR LOGIN [usuario];
ALTER ROLE db_owner ADD MEMBER [usuario];
Dê só o papel necessário: db_datareader e db_datawriter bastam para muitas aplicações.

Cadeia de conexão da aplicação

Na sua aplicação ASP.NET, use sempre o nome do banco no parâmetro Database (ou Initial Catalog) da connection string. Assim a conexão abre direto no banco certo.

Perguntas frequentes

O que significa o erro 916 no SQL Server?

Significa que o login conectado tentou ler um banco de dados em que não tem um usuário mapeado. Em servidor compartilhado, isso é esperado para os bancos de outros clientes; o erro só é problema quando aparece no seu próprio banco.

O erro 916 quer dizer que o meu banco está com defeito?

Não. Na maioria dos casos em hospedagem compartilhada, é o Management Studio tentando ler propriedades de todos os bancos do servidor ao montar a lista. O seu banco continua funcionando, e a aplicação conecta normalmente.

Como conectar o SSMS direto no meu banco?

Informe o nome do banco na própria janela de conexão: no campo Database Name da janela moderna, do SSMS 21 em diante, ou em Options, no campo Connect to database, da janela clássica. A conexão abre direto no seu banco.

Leia também

Hospedagem SQL Server

SQL Server incluído na hospedagem e na revenda Windows, com opções em VPS e servidor dedicado para ERP e bancos maiores.