tenta anexar a um arquivo de banco de dados, mas não pode procurar a pasta que contém o arquivo

7

Estou tentando anexar ao arquivo de banco de dados (* .mdf, * .ldf) que coloquei na mesma pasta que todos os outros bancos de dados do SQL Server. Eu começo o anexo, tentando navegar para a pasta que contém os arquivos db, bem como todos os meus arquivos de banco de dados ativos. Eu selecione "anexar Banco de Dados" e clique no botão "Adicionar" para adicionar um banco de dados à lista de bancos de dados para anexar. Quando faço isso, recebo este erro:

TITLE: Locate Database Files - BESI-CHAD
------------------------------

D:\SQLdata\MSSQL10_50.SQLBESI\MSSQL\DATA
Cannot access the specified path or file on the server. Verify that you have the necessary security privileges and that the path or file exists.  

If you know that the service account can access a specific file, type in the full path for the file in the File Name control in the Locate dialog box.

------------------------------
BUTTONS:

OK
------------------------------

O caminho está correto e, como eu mencionei, ele contém todos os meus outros arquivos de banco de dados, então eu não acho que as permissões devam ser um problema.

Alguma idéia de por que não posso navegar para essa pasta e anexar aos arquivos db que coloquei lá?

    
por Chad 04.06.2010 / 03:09

5 respostas

6

O serviço da sua instância do SQL Server não tem direitos suficientes para ler o diretório de dados e / ou o caminho da pasta. (Incluindo a raiz da unidade para listar a árvore na caixa de diálogo.) O Serviço precisa pelo menos dos direitos para listar o conteúdo de todo o caminho.

Se este é apenas um ambiente de teste / desenvolvimento, a melhor maneira de resolver isso é configurar o Serviço de Instância do SQL Server para execução com o SYSTEM-Accont. A conta de sistema tem acesso à raiz da unidade e a pasta de dados. Isso elimina também muitos outros problemas.

Se você estiver usando a Autenticação do Windows, também precisará executar o Management Studio como Administrador, se não tiver direitos suficientes nessa pasta.

Aviso: NUNCA use a conta SYSTEM para um servidor produtivo. Use o Exec-Command para anexar bancos de dados e garantir que haja direitos suficientes para o serviço acessar a pasta de dados.

    
por 24.06.2011 / 22:31
3

O usuário deve ter acesso total aos arquivos, mas na minha opinião, anexar o banco de dados enquanto estiver usando 'sa' ou outro administrador SQL e, em seguida, os usuários do banco de dados poderão acessar os bancos de dados.

    
por 09.06.2011 / 08:59
0

A resposta de DiableNoir parece ser a correta. No entanto, eu não conseguia entender o que ele queria dizer até ler outro post aqui .

A resposta curta e prática seria:

Vá para Gerenciamento do computador > SQL Server > Propriedades > Logon > Aqui você tem que verificar a marca na conta do sistema local > Clique em Permitir que o serviço interaja com o Desktop (a resposta de Sheela Chauhan é parafraseada).

AVISO: Apenas tenha em mente o aviso da DiableNoir.

    
por 04.05.2013 / 16:41
0

Você adiciona muito grupo USERS na segurança da pasta de origem / destino do backup.

Para fazer isso, clique com o botão direito do mouse na pasta, selecione o nome do computador, ... e adicione USUÁRIOS.

    
por 27.07.2013 / 09:19
0

Temos a seguinte situação: Serviço do SQL Server é executado em uma conta de domínio. Removemos algumas permissões padrão das unidades raiz como política.

Quando tentamos procurar um arquivo para anexar um banco de dados ou restaurar um banco de dados, falhamos em acessar a pasta padrão que contém os arquivos de dados da região do SQL Server. No entanto, se digitarmos o nome da pasta no campo "Local do Arquivo de Dados do Banco de Dados" e o nome do arquivo no campo "nome do arquivo", ele anexará o banco de dados sem um problema.

Quando procuramos falhas no log de segurança, não há nenhuma, mesmo que tenhamos ativado a auditoria de falhas na pasta mostrada no erro.

Eventualmente, corrigimos o problema adicionando a conta de domínio para ter acesso de leitura na unidade raiz da pasta de dados.

    
por 07.02.2017 / 16:22