Instância LocalDB do SQL Server; erro ao restaurar o backup (MasterDBPath não disponível)

16

Eu tenho o banco de dados local do SQL Server 2012 instalado e estou me conectando a ele via (localdb) \ v11.0.

Ao tentar restaurar um arquivo de backup, recebo:

TITLE: Microsoft SQL Server Management Studio

A propriedade MasterDBPath não está disponível para Informações 'Microsoft.SqlServer.Management.Smo.Information'. Esta propriedade pode não existir para este objeto ou pode não ser recuperável devido a direitos de acesso insuficientes. (Microsoft.SqlServer.Smo)

Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates .PropertyCannotBeRetrievedExceptionText & EvtID = MasterDBPath & LinkId = 20476

Eu tentei definir o valor da string MasterDBPath em:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\MSSQLServer\CurrentVersion`

mas isso não ajudou.

Alguém tem alguma opinião?

Andy Neillans
fonte
Qual é a edição e a versão do SQL Server de origem do arquivo de backup?
9786 Thomas Stringer #
O backup é de uma instalação da edição do SQL Server 2012 Developer.
Andy Neillans

Respostas:

15

Eu tive o mesmo problema e resolvi-o.

Você precisa adicionar 2 cordas no registro do Windows através regedit.exede HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\MSSQLServer:

DefaultData
DefaultLog                     

Para mim, seus valores são ambos C:\Users\neil\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0.

Neil
fonte
Trabalho Infelizmente doesnt para mim eu :( tentei configurar as entradas sob MSSQLServer e também a chave CurrentVersion, mas eu ainda obter o mesmo comportamento em Management Studio.
Andy Neillans
Isso funciona se você executar como administrador.
Max Toro
11
Obrigado - isso funcionou para mim executando como administrador, no entanto, eu também tive que criar uma terceira chave BackupDirectoryque eu apontei para um diretório semelhante.
21413 DaveHogan
Funcionou como um encanto, thx
njappboy
Isso corrigiu o problema para mim e deve ser a resposta aceita.
Lews Therin
1

Não é realmente uma solução adequada, mas esse erro não ocorre se você criar um banco de dados em branco e, em seguida, restaurar seu backup substituindo o banco de dados em branco.

Ou você pode usar os comandos restore T-SQL:

RESTORE DATABASE <database> FROM DISK = '<backupfile>' WITH NORECOVERY,
    MOVE 'example_dat' TO 'C:\Temp\<database>.mdf',
    MOVE 'example_log' TO 'C:\Temp\<database>.ldf'
Andy Neillans
fonte
-1

O problema foi corrigido depois que eu instalei o Microsoft SQL Server Management Studio 2017 mais recente.

Anton
fonte