Poniżej znajduje się zapytanie, którego używam do tworzenia kopii zapasowych (tworzenia .bak
) mojej bazy danych.
Jednak za każdym razem, gdy go uruchamiam, zawsze otrzymuję ten komunikat o błędzie:
Msg 3201, poziom 16, stan 1, wiersz 1
Nie można otworzyć urządzenia kopii zapasowej „C: \ Users \ Me \ Desktop \ Backup \ MyDB.Bak”. Błąd systemu operacyjnego 5 (odmowa dostępu).Msg 3013, poziom 16, stan 1, wiersz 1
BACKUP DATABASE kończy się nieprawidłowo.
To jest moje zapytanie:
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
Odpowiedzi:
Tak, właśnie to zaliczyłem.
Zajrzyj do usług Windows. Start> Administracja> Usługi
Znajdź usługę na liście o nazwie: SQL Server (MSSQLSERVER) poszukaj kolumny „Zaloguj się jako” (musisz ją dodać, jeśli nie ma jej na liście).
To jest konto, którego potrzebujesz, aby nadać uprawnienia do katalogu, kliknij prawym przyciskiem myszy w eksploratorze> właściwości> Udziały (i zabezpieczenia)
UWAGA : Pamiętaj, aby nadać uprawnienia do rzeczywistego katalogu ORAZ udziału, jeśli korzystasz z sieci.
Zastosuj i poczekaj na rozpowszechnienie uprawnień, spróbuj ponownie wykonać kopię zapasową.
UWAGA 2 : jeśli tworzysz kopię zapasową przez sieć, a Twój SQL działa jako „Usługa lokalna”, to masz problem ... możesz spróbować przypisać uprawnienia lub łatwiejsze może być tworzenie kopii zapasowych lokalnie i kopiowanie poza SQL Server ( godzinę później).
UWAGA 3 : Jeśli pracujesz jako usługa sieciowa, CZASAMI komputer zdalny nie rozpozna usługi sieciowej na serwerze SQL. W takim przypadku musisz dodać uprawnienia do samego komputera, np. MyServer $.
źródło
Przejdź do folderu serwera SQL w menu Start i kliknij narzędzia konfiguracyjne Wybierz menedżera konfiguracji SQL Server W usługach serwera SQL w żądanej instancji zmień (Zaloguj się jako) na system lokalny
źródło
Konto usługi programu SQL Server nie ma uprawnień do zapisu w folderze
C:\Users\Kimpoy\Desktop\Backup\
źródło
Niedawno miałem ten problem, ale wykonywałem zadanie tworzenia kopii zapasowej z serwera A, ale kopia zapasowa bazy danych znajdowała się na serwerze B w udziale plików na serwerze C.Gdy agent na serwerze A nakazuje serwerowi B wykonanie kopii zapasowej t -sql, jest to w rzeczywistości konto usługi, na którym działa sql na SERWERZE B, które próbuje zapisać kopię zapasową na serwerze C.
Pamiętaj tylko, że to konto usługi serwera sql wykonującego komendę BACKUP DATABASE jest tym, co wymaga uprawnień w systemie plików, a nie agent.
źródło
Właśnie przez to przechodziłem. Upewniłem się, że mój użytkownik logowania MSSQLSERVER miał,
full access
ale nadal powodowało to problemy. Zadziałało tylko wtedy, gdy przeniosłem miejsce docelowe do katalogu głównego C. Co ważniejsze, z folderu użytkownika (mimo że miałem udział z pełnymi uprawnieniami - wypróbowałem nawet opcję „Wszyscy” jako test).Nie wiem, czy uważam, że mój problem jest „naprawiony”, ale jest on „działa”.
Tylko informacja dla wszystkich innych użytkowników, którzy natknęli się na ten wątek.
źródło
Mam ten sam problem z SQL Express 2014 SP1 na Windows 10.
Rozwiązanie, które działa
źródło
Aby dowiedzieć się, któremu użytkownikowi musisz nadać uprawnienia do wykonania procesu przywracania, możesz wykonać następujące czynności:
Musisz przejść do serwera, na którym jest zainstalowany SQL Server. Znajdź Menedżera konfiguracji programu SQL Server
Następnie musisz przejść do „SQL Server Services”
Pod Twoją instancją SQL Server (MSSQLSERVER) będzie znajdować się konto z kolumną „Logon As”, w moim przypadku jest to NT Service \ MSSQLSERVER .
To jest konto, które musisz dodać na karcie Bezpieczeństwo w źródłowej lokalizacji .bak i nadać temu użytkownikowi uprawnienia do odczytu, aby plik kopii zapasowej mógł zostać odczytany.
Załóżmy, że plik kopii zapasowej znajduje się w folderze „D: \ Shared”, a następnie musisz nadać takie uprawnienia:
źródło
Miałem podobny problem. Dodałem uprawnienia do zapisu do samego pliku .bak i folderu, w którym zapisywałem kopię zapasową, dla użytkownika usługi NETWORK SERVICE. Aby dodać uprawnienia, po prostu kliknij prawym przyciskiem myszy plik / katalog, który chcesz zmienić, wybierz kartę zabezpieczeń i dodaj tam odpowiednich użytkowników / uprawnienia.
źródło
Oto, co zrobiłem, aby ominąć ten problem.
1) Przejdź do kopii zapasowej
2) Usuń docelową ścieżkę do pliku na dysk
3) Kliknij Dodaj
4) W polu Nazwa pliku: ręcznie wpisz nazwę kopii zapasowej po .. \ kopia zapasowa jak poniżej, gdzie Yourdb.bak jest nazwą kopii zapasowej bazy danych
C: \ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ Yourdb.bak
5) Kliknij OK
Mam nadzieję że to pomoże!
źródło
Jednym z powodów, dla których tak się dzieje, jest uruchomienie usługi MSSQLSERVER bez korzystania z systemu lokalnego. Aby rozwiązać ten problem, wykonaj następujące czynności.
Mam nadzieję, że to ci pomoże, tak jak mi pomogło. Twoje zdrowie!
źródło
Wiem, że nie jest to dokładne rozwiązanie, ale użycie zewnętrznych ścieżek dysku rozwiązuje ten problem.
źródło
SQL Server nie może uzyskać dostępu (zapisać) do kopii zapasowej w określonej lokalizacji.
Najpierw musisz zweryfikować konto usługi, na którym działa serwer Sql. Można to zrobić za pomocą Menedżera konfiguracji lub Services.msc.
lub
Użyj poniższego zapytania:
Teraz spójrz na kolumnę service_account i zanotuj ją.
Przejdź do lokalizacji, w której próbujesz wykonać kopię zapasową, w Twoim przypadku: C: \ Users \ Me \ Desktop \ Backup
Kliknij prawym przyciskiem myszy -> Właściwości -> Bezpieczeństwo ->
Dodaj konto usługi i nadaj uprawnienia do odczytu / zapisu. To rozwiąże problem.
źródło
Miałem ten sam problem, a poniższy adres URL naprawdę mi pomógł.
To też może ci pomóc.
http://blog.sqlauthority.com/2011/04/13/sql-server-fix-error-msg-3201-level-16-cannot-open-backup-device-operating-system-error-5access-is- odmówiono/
źródło
Msg 3201, poziom 16, stan 1, wiersz 1 Nie można otworzyć urządzenia kopii zapasowej „C: \ Backup \ Adventure_20120720_1024AM.trn”. Błąd systemu operacyjnego 5 (odmowa dostępu). Msg 3013, poziom 16, stan 1, wiersz 1 BACKUP LOG kończy się nieprawidłowo.
Zweryfikowałem folder kopii zapasowych na dysku C, czy nowe konto usługi ma pełne uprawnienia dostępu do kontroli, czy nie ?, zdałem sobie sprawę, że konto usługi „Test \ Kiran” nie ma uprawnień do pełnej kontroli.
Wykonaj poniższe kroki, aby zapewnić pełną kontrolę nad kontem usługi:
źródło
Sprawdź dostęp do dysków, najpierw utwórz jeden folder i przejdź do właściwości folderu,
Możesz znaleźć zakładkę bezpieczeństwa, kliknij na nią, sprawdź, czy Twój identyfikator użytkownika ma dostęp, czy nie.
jeśli nie możesz znaleźć swojego identyfikatora, kliknij przycisk dodawania i podaj nazwę użytkownika z pełnym dostępem.
źródło
Udostępnij ten folder i użyj ścieżki UNC, na przykład: \ pc \ backups \ mydb.bak
Następnie możesz przestać udostępniać.
Niezbyt eleganckie, ale rozwiązuje wszystkie problemy z uprawnieniami (musisz również przyznać uprawnienia do udostępniania, jak wspomniano powyżej)
źródło
Wystąpił ten problem, gdy plik .BAK był tymczasowo przechowywany w folderze zaszyfrowanym funkcją BitLocker. Zachował szyfrowanie po przeniesieniu do innego folderu.
Konto NETWORK SERVICE nie mogło odszyfrować pliku i przekazało ten dokładnie informacyjny komunikat o błędzie.
Usunięcie szyfrowania BitLocker (poprzez odznaczenie opcji „Szyfruj zawartość, aby zabezpieczyć dane” we właściwościach pliku) w pliku .BAK rozwiązało problem.
źródło
Mam ten sam błąd. Kolejne zmiany pomogły mi to naprawić.
źródło
Cześć, musisz zmienić zapytanie z:
do
Musisz dodać N przed ścieżką, która działa dla mnie.
źródło
W moim przypadku zapomniałem nazwać plik kopii zapasowej i nadal dawał mi ten sam błąd uprawnień: /
źródło
Rozwiązałem ten sam problem, wykonując następujące 3 kroki:
źródło