SQL Server Instancja LocalDB; błąd podczas przywracania kopii zapasowej (MasterDBPath niedostępny)

16

Mam zainstalowaną lokalną bazę danych SQL Server 2012 i łączę się z nią przez (localdb) \ v11.0.

Podczas próby przywrócenia pliku kopii zapasowej otrzymuję:

TYTUŁ: Microsoft SQL Server Management Studio

Właściwość MasterDBPath nie jest dostępna dla informacji „Microsoft.SqlServer.Management.Smo.Information”. Ta właściwość może nie istnieć dla tego obiektu lub może nie być możliwa do odzyskania z powodu niewystarczających praw dostępu. (Microsoft.SqlServer.Smo)

Aby uzyskać pomoc, kliknij: 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

Próbowałem ustawić wartość ciągu MasterDBPath w:

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

ale to nie pomogło.

Czy ktoś ma jakieś przemyślenia?

Andy Neillans
źródło
Jaka jest źródłowa wersja SQL Server i wersja pliku kopii zapasowej?
Thomas Stringer,
Kopia zapasowa pochodzi z instalacji programu SQL Server 2012 Developer Edition.
Andy Neillans,

Odpowiedzi:

15

Miałem ten sam problem i go rozwiązałem.

Trzeba dodać 2 sznurki w rejestrze systemu Windows przez regedit.execo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\MSSQLServer:

DefaultData
DefaultLog                     

Dla mnie ich wartości są oba C:\Users\neil\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0.

Neil
źródło
Niestety nie robi praca dla mnie :( Próbowałem ustawienie wpisy pod MSSQLServer a także przycisk CurrentVersion, ale wciąż to samo zachowanie w Management Studio.
Andy Neillans
Działa to, jeśli działasz jako administrator
Max Toro
1
Dzięki - działało to dla mnie jako administratora, ale musiałem też stworzyć trzeci klucz, BackupDirectoryktóry wskazałem na podobny katalog.
DaveHogan
Działa jak urok, dzięki
njappboy
To rozwiązało problem i powinna być zaakceptowaną odpowiedzią.
Lews Therin,
1

Nie jest to właściwe rozwiązanie, ale ten błąd nie występuje, jeśli utworzysz pustą bazę danych, a następnie przywrócisz kopię zapasową, zastępując pustą bazę danych.

Lub możesz użyć komend przywracania 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
źródło
-1

Problem został rozwiązany po zainstalowaniu najnowszego programu Microsoft SQL Server Management Studio 2017.

Anton
źródło