Não é possível acessar o banco de dados quando conectado como SA

2

Estamos usando a autenticação de modo misto. Eu posso ver e ler todos os bancos de dados no servidor, exceto por um. Estou logado como a conta SA. Um banco de dados não se expande no SSMS quando tento examiná-lo e recebo o erro:

"O banco de dados não está acessível (ObjectExplorer)"

Quando tento olhar para ele. Logs de erro não são úteis. O backup também falha.

Alguma ideia? Poderia ser corrupto? Quais são os próximos passos para colocar isso de volta online?

Obrigado !!

    
por John Azzolina 06.05.2011 / 17:24

1 resposta

1

Se você puder ver o banco de dados enquanto estiver conectado, mas não como SA, será um problema de permissão. O SA deve ter sido restringido desse banco de dados. Verifique com o administrador do banco de dados. Se você é o administrador do banco de dados, faça login como você mesmo e verifique as permissões do SA.

Se você não consegue ver, não importa quem está logado, pode ser que esteja desconectado ou off-line.

Além disso, isso seria melhor colocado no ServerFault.com.

Editar novamente

Este banco de dados foi restaurado recentemente de um servidor diferente? Eu não posso acreditar que eu não pensei nisso porque aconteceu comigo no mês passado ... Se isso foi restaurado de um backup feito em outro servidor, então eu tenho outra opção possível ...

Você e eu vemos o login SA como "SA", mas sob o capô, o SQL Server o vê com um ID diferente. (Eu acho que é um guia).

Ocasionalmente, eu tenho que fazer um backup do DB do nosso servidor ao vivo e restaurá-lo em nosso servidor de teste. Quando isso acontece, as permissões não são definidas corretamente para logins do SQL Server (mas eles são bons para logins do Windows). Posso examinar uma tabela, por exemplo, que mostra que o SA tem acesso, mas quando tento conectar usando o SA Recebi a mesma mensagem.

O que finalmente descobrimos foi que precisávamos EXCLUIR o usuário SA do banco de dados, depois DELETAR no nível do servidor e, em seguida, configurá-lo novamente com as permissões adequadas.

Isso ocorre devido à discrepância entre os IDs que o SQL Server usa sob o capô para o nome de usuário "amigável".

Por exemplo, em nosso servidor de teste, o SA pode ter um id de abc e em nosso servidor ativo, o ID pode ser def. De alguma forma, isso estraga tudo ao restaurar um banco de dados de um servidor para outro.

Há um artigo sobre isso aqui: link

Opa. Você tem que se registrar para o acima. Aqui está um que você não precisa se registrar.

link

Esse último contém links para um KB que mostra uma maneira melhor de corrigir isso do que a maneira que eu estava fazendo. Isso figura. Portanto, mesmo que isso não responda ao seu problema, você me ajudou a encontrar uma resposta melhor para a minha, portanto, receba +1 por fazer a pergunta e me ajudar.

    
por 06.05.2011 / 17:25

Tags