Estou tentando restaurar algum arquivo de backup de banco de dados no mesmo banco de dados. O .bak
arquivo está sempre criando problemas. Quando seleciono o .bak
arquivo em uma unidade de rede "\\TestPC\ShareFolder\test.bak"
, ele está funcionando corretamente.
Mas o mesmo .bak
arquivo, se eu selecionar de uma unidade local copiando-o para o meu pc, digamos C:\TestPath\test.bak
que toda vez que estiver lançando uma exceção dizendo
Não é possível abrir o dispositivo de backup 'C:\TestPath\test.bak'. Erro 3 do sistema operacional (o sistema não pode encontrar o caminho especificado).
RESTORE DATABASE está encerrando de forma anormal.
Não sei por que está jogando, também alterei o logon do SQL Server de uma unidade de rede para uma conexão local. Ainda não está funcionando. Alguém pode me dar uma dica de como resolver esse problema?
Se você deseja restaurar um
*.bak
arquivo em uma máquina, por exemploTESTSERVER
, esse*.bak
arquivo precisa serTESTSERVER
, ou:TESTSERVER
pode atingir (um compartilhamento "público")Portanto, se você tiver o
*.bak
arquivo no seu PC localMyPC
, tente fazer uma restauração\\MyPC\C$\ShareFolder\Backupfile.bak
e isso pode ou não funcionar.Mas você não pode usar
C:\ShareFolder\Backupfile.bak
, pois isso irá para a unidade C:\ do servidor e procurará esse arquivo - e, portanto, você receberá a mensagem de erro e não poderá ser encontrado.Afinal: sua instância do SQL Server está em execução
TESTSERVER
- portanto, se esse processo executar uma restauração da unidade C:\, será a unidade C:\ da máquina do servidor - não o seu PC local! Se esse processo do servidorTESTSERVER
puder alcançar sua máquina, você poderá usar a notação de caminho UNC para seu disco local - para que funcione .Então, você colocou o arquivo de backup localmente e o Sql Server tem que lê-lo ou
\\YourPC\c$\TestPath\test.bak
(porque o sql server não sabe nada sobre SEU disco C - o que é possível apenas na rede de domínio e você concedeu privilégios de administrador local à conta, o sql server é executado ou você precisa compartilhar sua pasta TestPath e conceder acesso à conta do servidor sqlMAS
Se houver um ambiente de domínio do Windows, execute o sql server em LocalSystem e defina a permissão de compartilhamento para acessar o usuário DOMAINNAME\SQLSERVERPC$ onde SQLSERVERPC é o nome do machinesql server em execução
Se não houver nenhuma autenticação de domínio disponível, você precisará abrir a autenticação de convidado para compartilhar na máquina de arquivo de backup