Mam plik .bak utworzony dzisiaj przez kogoś innego, ręcznie utworzony za pomocą SSMS 2008 R2. Próbuję ręcznie przywrócić bazę danych, niestety plik nie pojawia się, gdy przeglądam.
Mogę napisać skrypt procesu przywracania, ale widziałem już ten problem i nie jestem pewien, co może spowodować, że plik .bak się nie pojawi.
sql-server
backup
ssms
Sean Long
źródło
źródło
Odpowiedzi:
Ten sam problem mieliśmy dzisiaj. Okazało się, że jest to problem z uprawnieniami, jak pokazano w niektórych innych odpowiedziach. Różnica polega na tym, że konieczne było dodanie konta
NT SERVICE\MSSQLSERVER
.Zidentyfikowałem konto, porównując uprawnienia domyślnych uprawnień do folderu kopii zapasowej SQL do folderu zawierającego plik kopii zapasowej.
Dodanie konta usługi nie jest tak proste, jak się wydaje. Oto, co zadziałało dla mnie. (Server 2012 R2)
NT SERVICE\MSSQLSERVER
polu nazwy. (Nie klikaj Sprawdź nazwy)Powinieneś zobaczyć konto usługi wymienione w ustawieniach bezpieczeństwa i możesz odpowiednio dostosować uprawnienia.
Po dodaniu uprawnień (dodałem opcję Pełna kontrola, aby dopasować domyślny folder kopii zapasowej SQL.) I zrestartowaniu konsoli zarządzania SQL Server, byłem w stanie wybrać i przywrócić mój plik kopii zapasowej.
źródło
s
istnieje konto wirtualne o nazwieNT Service\s
, nawet jeśli usługa nie działa na tym koncie.NT Service\MSSQL$SQLSERVER2014
, być może dlatego, że nazwałem moją instancjęSQLSERVER2014
Mam to dzisiaj.
Wyłączyłem udostępnianie plików, indeksowanie i wyczyściłem wszystkie otwarte sesje (ludzie zalogowali się, aby skopiować kopie zapasowe), ale problem nie zniknął.
Poszedłem do Eksploratora Windows, skopiowałem kopie zapasowe do innego folderu i przejrzałem ten plik za pośrednictwem Management Studio, i mogłem go tam zobaczyć.
Usunąłem oryginalny folder i odtworzyłem go, ponownie skopiowałem zawartość i przejrzał
.bak
pliki, a wszystko wróciło do normy.Mam nadzieję, że to komuś pomoże.
źródło
Kilka razy spotkałem się z tym problemem. Problem nie dotyczy SQL Server, ale uprawnienia systemu Windows do folderu. Musisz dodać odpowiednie uprawnienia do folderu, do którego skopiowałeś plik .bak (myślę, że
System Network
rolę).Najłatwiejszym rozwiązaniem jest przeniesienie pliku do domyślnego folderu kopii zapasowej w Program Files. Ma wszystkie niezbędne uprawnienia. W przypadku SQL Server 2012 tak jest
źródło
Też natknąłem się dzisiaj na ten sam problem. Otrzymałem plik kopii zapasowej do przywrócenia, ale nie był on dla mnie widoczny podczas przeglądania. Udało mi się jednak uzyskać dostęp do systemu plików, ale za pomocą kreatora przywracania
SQL Server management Studio
.Po wydaniu niektórych odkryłem, że to problem z uprawnieniami. Usługa SQL Server działa,
Network Service
aleNetwork Service
konto nie ma uprawnień dostępu do folderu. Po udzieleniu uprawnień doNetwork Service
. Plik kopii zapasowej był widoczny do przywrócenia.Szczegółowe informacje można znaleźć na blogu .
źródło
Jeśli możesz go znaleźć w Eksploratorze Windows, powinieneś napisać
RESTORE DATABASE
polecenie zamiast polegać na niezręcznym GUI, aby go znaleźć. Kto wie, jaki kod się tam dzieje i dlaczego nie może znaleźć pliku - przepraszam, mam tylko obejście, a nie rozwiązanie.Upewnij się także, że plik to w rzeczywistości coś.bak, a nie coś.bak.txt (system Windows może „pomocnie” ukrywać przed tobą rozszerzenie. Nienawidzę tego domyślnego zachowania).
źródło
Zdarzyło mi się to dzisiaj na moim urządzeniu deweloperskim. W moim przypadku konto usługi miało uprawnienia do folderu, ale moje konto użytkownika nie. Po przyznaniu uprawnień do konta folderowi mogłem zobaczyć pliki .BAK.
źródło