A base de dados [dbName] não está acessível. (Explicador do objecto)

Tenho um problema com a utilização do servidor SQL 2008 R2.

recentemente tive um problema com o meu computador e, portanto, tive de reiniciar o windows e tive de conceder permissão de um utilizador para outro utilizador (usando a funcionalidade de segurança nas propriedades). Ao dar permissão inicialmente, porém, através de uma mensagem de "Acesso negado".

Depois de muita pesquisa, ele parou de produzir este erro (o usuário que eu precisava para conceder permissão também não estava disponível), que então causou outra questão a ocorrer, mas desta vez dentro do servidor SQL. Produz esta mensagem;

a base de dados [dbName] não está acessível. (Explicador do objecto)

este erro ocorre quando tento seleccionar a opção drop down para ver a lista de tabelas e procedimentos armazenados da base de dados no servidor SQL. Encontrei uma explicação para isto no seguinte: relação;

Http://www.microsoft.com/products/ee/transform.aspx?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617&EvtSrc=MSSQLServer&EvtID=916

e depois tentei implementar assim;

 USE msdb;
 GO
 GRANT CONNECT TO [DBName\MyName] ;

 CREATE DATABASE [DBNAME] ON PRIMARY

usando um script que eu criei (felizmente antes deste problema ocorrer) através de um monte de Mensagens;

Msg 15151, Nível 16, Estado 1, Linha 1
Não é possível encontrar o utilizador 'DBName\MyName', porque não existe ou porque não tem permissões.
Msg 262, Nível 14, Estado 1, Linha 2
Criar a permissão negada na base de dados 'master'.
Msg 5011, Nível 14, Estado 9, Linha 1
O Usuário não tem permissão para alterar a base de dados 'DBName', a base de dados não existe, ou a base de dados não está em um estado que permite verificações de acesso.
Msg 5069, Nível 16, Estado 1, Linha 1 ...

Depois deste monte de erros, perdi-me e por isso ficaria muito grato se alguém me pudesse dar algum feedback. no que se refere ao que poderia fazer para resolver esta questão. Aplauso.

Author: marc_s, 2013-01-02

3 answers

Geralmente é má ideia conceder permissões directamente aos registos. Você deve criar objetos de papel na base de dados, e todas as permissões na base de dados devem ser atribuídas aos papéis.

Então, ao mover a base de dados para outro computador (ou reinstalar), as únicas coisas que você tem que modificar São logins do servidor e atribuições de papel.

 3
Author: Ben, 2013-01-02 14:47:10

Um possível problema é que você tem duas instâncias do banco de dados, então você tem que desativar um exemplo, se você tiver seu banco de dados aberto e acessível no seu server explorer no Visual studio fechar conexão, em seguida, vá para serviços do windows e pare e reinicie SQL server service (MSSQL), em seguida, vá para Management studio e abrir seu banco de dados, ele deve ser aberto e você pode explorar as tabelas do Management studio.

 1
Author: Yasmine GreenApple, 2013-01-03 15:59:35

Parece que a base de dados a que está a tentar aceder não tem privilégios de administração. Fechar o SSMS e abri-lo por Executar como administrador.

 1
Author: user3259669, 2016-05-02 18:33:55