Recebi um arquivo de banco de dados e as instruções para carregá-lo são para instalar o SQL Server 2005 e anexá-lo usando o SQL Server Management Studio.
Depois de instalar tudo, tentei anexar o arquivo MDF, mas ele me diz:
a pesquisa de diretório para o arquivo "D: {nome_da_pasta} {nome do arquivo} .LDF" falhou com o erro 21 do sistema operacional (erro não encontrado)
Um arquivo LDF não veio com o banco de dados; portanto, presumivelmente, ele deve ser gerado automaticamente.
Agora, a unidade D é onde está a minha unidade de CD, então não encontrará nada lá. Tampouco terá sorte tentando criar alguma coisa lá.
Por que ele está tentando procurar um arquivo de log em um caminho específico? Por que não onde está o arquivo de banco de dados?
Como posso anexar esse banco de dados?
Percebi que quando seleciono um banco de dados para anexar, três entradas aparecem em "detalhes do banco de dados". um MDF, NDF e LDF. O "caminho do arquivo atual" do LDF aponta para o caminho da unidade D acima, então eu o removi.
Desta vez, quando clico em "OK", recebo uma mensagem de erro diferente:
O banco de dados não pode ser atualizado porque é somente leitura ou possui arquivos somente leitura.
Torne o banco de dados ou arquivos graváveis e execute novamente a recuperação.Falha na ativação do arquivo. O nome físico D: {folder} {file} .LDF pode estar incorreto.
Novo arquivo de log "..." foi criado. (Microsoft SQL Server, Erro: 3415)
Portanto, agora ele cria um novo arquivo de log na mesma pasta que o arquivo de banco de dados, o que é ótimo, mas parece que há problemas de segurança.
Informação adicional:
As instruções exigem que eu use o nome de login "sa", que parece ser a conta sysadmin. Estou conectado à minha instância do SQL Server usando esse logon.
Eu verifiquei as propriedades do arquivo que não são somente leitura. O diretório também não é somente leitura. Todas as ACLs são permitidas.
Não consigo anexar o banco de dados. Quando tento anexá-lo, ele lança uma mensagem de erro com "falha na conexão do banco de dados".
Fechar o SSMS e reabri-lo como administrador não fez diferença.
select SERVERPROPERTY('ProductVersion')
retorna 9.00.4035.00. Há outro arquivo que vem com o banco de dados chamado "dbdata.ini", que diz "IsSql2000 = 1", de modo que provavelmente ele deve ser carregado no SQL Server 2000. Vou ver se consigo fazê-lo funcionar no 2000.
fonte
LOG ON
com a correspondêncialdf
não resolver o problema para mimAcabei de encontrar um post que respondeu a esta pergunta:
Isso pode não funcionar em todos os casos, mas eu estava tentando instalar o banco de dados de pesquisa semântica e obtive o mesmo erro.
Você precisa executar o SQL Server Management Studio como administrador e ele funciona.
fonte
fonte
Clique direito no
.mdf
e.ldf
arquivos, um de cada vez e clique em 'Propriedades', em seguida, na parte inferior, onde ele diz que 'este arquivo veio de outro computador e pode ser bloqueado para ajudar a proteger este computador' clique no botão Desbloquear.Em seguida, clique com o botão direito do mouse em -> propriedades, -> guia segurança -> botão Editar e selecione 'usuários' e dê permissão de controle total.
fonte
No meu caso, a resolução foi fazer login no SSMS com o modo de autenticação do Windows em vez do usuário sql que possui função sysadmin. Apenas certifique-se de que o usuário que você usou no modo de autenticação do Windows tenha uma permissão adequada (meu caso foi sysadmin) Meu palpite é que o usuário sql não tem uma permissão adequada. (Encontro esse problema ao migrar / copiar mdf e ldf de diferentes máquina)
fonte
Não há permissões no nosso caso, era a versão do SSMS!
(foi em 2012 localmente que obtivemos o erro, mas funcionou quando usamos o SSMS 17+ a partir de uma caixa remota)
fonte
Eu também tive esse problema. Ajudei meu cliente reiniciando o serviço SQL e consegui anexar o MDF por procedimento normal.
fonte
1) Abra o Sql Server Configuration Manager
2) Selecione Sql Server Services (painel esquerdo)
3) Clique duas vezes em seu SqlServer (painel direito)
4) Selecione a guia Logon
5) Selecione o botão de opção embutido e altere o sistema local ou o serviço de rede na caixa de combinação.
6) Clique em Ok.
7) Anexe arquivo mdf no gerenciador de servidor sql.
fonte
Seu serviço do SQL Server provavelmente está sendo executado na conta NT Service \ MSSQLServer . Mudar o sistema local lhe dará acesso.
Provavelmente, é melhor criar um usuário e conceder a ele permissões completas para a pasta em que os arquivos estão.
fonte