Tinha três bancos de dados conectados ao SQL Server 2012, infelizmente, agora não consigo ver nenhum deles na parte Bancos de dados da árvore no SQL Server Management Studio. Os arquivos (.mdf) ainda estão no disco, mas quando tento reconectá-los, recebo este erro quando clico no arquivo mdf,
Falha ao recuperar dados para esta solicitação (Microsoft.SqlServer.Management.Sdk.Sfc) Informações adicionais Ocorreu uma exceção durante a execução de uma instrução ou lote Transact-SQL. (Microsoft.SqlServer.ConnectionInfo) O principal do servidor "IESVE\user" não pode acessar o "modelo" do banco de dados no contexto de segurança atual (Microsoft SQL Server, Erro: 916)
Achei que isso poderia ser um problema com o estúdio de gerenciamento, mas quando tento conectar via ADO, recebo este erro, [DBNETLIB][ConnectionOpen(Invalid Instance())] Invalid Connection
Tudo isso funcionou antes e a única coisa que consigo pensar é uma atualização recente do Windows.
Se alguém tiver alguma ideia de como consertar/diagnosticar isso, eu ficaria muito grato, Obrigado James
Editar; Executar como administrador me deixa um pouco mais perto de reanexar os bancos de dados, mas agora tenho esse erro . Estou me perguntando se minha versão do servidor SQL foi rebaixada, a julgar por essa mensagem de erro.
Obrigado, James
Parece que o MS já viu isso. Você já tentou executar o SSMS através do botão direito - Executar como administrador?
http://connect.microsoft.com/SQLServer/feedback/details/198005/not-able-to-access-the-database-model-under-the-current-security-context-microsoft-sql-server-error- 916
Além disso, você está fazendo login como administrador de sistema no SQL Server? Você criou direitos DB?
Editar: acabei de ver sua postagem original atualizada. Parece que você está restaurando para a versão errada com certeza. Considere-se sortudo se esse for o problema!
Faça um
SELECT @@SERVERNAME
. O que ele retorna? Essa é a instância certa? Provavelmente não (espero). Tente seu script de restauração somente depoisSELECT @@SERVERNAME
de retornar as informações corretas. Além disso, você pode querer usar OSQL onde você tem que indicar o nome do servidor e as credenciais antes de se conectar, assim você sabe que está na instância certa.