Di bawah ini adalah kueri yang saya gunakan untuk membuat cadangan (membuat .bak
) database saya.
Namun, setiap kali saya menjalankannya, saya selalu mendapatkan pesan kesalahan ini:
MSG 3201, Level 16,
Status 1, Baris 1 Tidak dapat membuka perangkat cadangan 'C: \ Users \ Me \ Desktop \ Backup \ MyDB.Bak'. Kesalahan sistem operasi 5 (Akses ditolak.).Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE berhenti secara tidak normal.
Ini pertanyaan saya:
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
Jawaban:
Ya saya baru saja mencetak yang ini.
Lihat di Layanan Windows. Mulai> Administrasi> Layanan
Temukan Layanan dalam daftar yang disebut: SQL Server (MSSQLSERVER) cari kolom "Log On As" (perlu menambahkannya jika tidak ada dalam daftar).
Ini adalah akun yang Anda butuhkan untuk memberikan izin ke direktori, klik kanan di explorer> properti> Berbagi (Dan Keamanan)
CATATAN : Ingatlah untuk memberikan izin ke direktori aktual DAN untuk berbagi jika Anda menggunakan jaringan.
Terapkan dan tunggu izin untuk menyebar, coba cadangan lagi.
CATATAN 2 : jika Anda membuat cadangan di seluruh jaringan dan SQL Anda berjalan sebagai "Layanan Lokal" maka Anda berada dalam masalah ... Anda dapat mencoba memberikan izin atau mungkin lebih mudah untuk membuat cadangan secara lokal dan menyalin di luar SQL Server ( satu jam kemudian).
CATATAN 3 : Jika Anda menjalankan sebagai layanan jaringan maka KADANG mesin remote tidak akan mengenali layanan jaringan di SQL Server Anda. Jika ini kasusnya, Anda perlu menambahkan izin untuk komputer itu sendiri, misalnya. MyServer $.
sumber
Buka folder server SQL di menu mulai dan klik alat konfigurasi Pilih manajer konfigurasi SQL Server Pada layanan server SQL, pada contoh yang diinginkan, ubah (Masuk sebagai) ke sistem lokal
sumber
Akun layanan SQL Server tidak memiliki izin untuk menulis ke folder
C:\Users\Kimpoy\Desktop\Backup\
sumber
Saya juga mengalami masalah ini baru-baru ini, namun saya menjalankan pekerjaan cadangan dari server A tetapi database yang dicadangkan ada di server B ke berbagi file di server C. Saat agen di server A memberi tahu server B untuk menjalankan cadangan t -sql, sebenarnya akun layanan yang menjalankan sql di SERVER B yang mencoba menulis cadangan ke server C.
Ingat saja, akun layanan dari sql server yang melakukan perintah BACKUP DATABASE yang sebenarnya adalah yang membutuhkan hak istimewa pada sistem file, bukan agennya.
sumber
Saya baru saja melalui ini sendiri. Saya telah memastikan bahwa pengguna login MSSQLSERVER saya memilikinya
full access
tetapi masih menyebabkan masalah. Ini hanya bekerja setelah saya memindahkan tujuan ke root C. Lebih penting lagi dari folder pengguna (meskipun saya memiliki bagian dengan izin penuh - bahkan mencoba "Semua" sebagai tes).Saya tidak tahu apakah saya menganggap masalah saya "diperbaiki", namun masalah itu "berfungsi".
Hanya FYI untuk pengguna lain yang menemukan utas ini.
sumber
Saya menghadapi masalah yang sama dengan SQL Express 2014 SP1 di Windows 10.
Solusi yang berhasil
sumber
Untuk mengetahui pengguna mana yang perlu Anda beri izin untuk melakukan proses pemulihan, Anda dapat mengikuti langkah-langkah berikut:
Anda harus pergi ke server Anda tempat SQL Server diinstal. Temukan Manajer Konfigurasi Server SQL
Selanjutnya, Anda perlu membuka "SQL Server Services"
Di bawah contoh SQL Server (MSSQLSERVER) Anda akan ada akun dengan kolom "Logon As", dalam kasus saya adalah NT Service \ MSSQLSERVER .
Itu adalah akun yang perlu Anda tambahkan di bawah tab Keamanan di lokasi .bak sumber Anda dan berikan izin "Baca" kepada pengguna tersebut agar file cadangan dapat dibaca.
Misalkan file backup Anda ada di folder "D: \ Shared", maka Anda perlu memberikan izin seperti ini:
sumber
Saya memiliki masalah serupa. Saya menambahkan izin menulis ke file .bak itu sendiri, dan folder saya tempat saya menulis cadangan untuk pengguna LAYANAN JARINGAN. Untuk menambahkan izin, cukup klik kanan file / direktori apa yang ingin Anda ubah, pilih tab keamanan, dan tambahkan pengguna / izin yang sesuai di sana.
sumber
Inilah yang saya lakukan untuk melewati masalah ini.
1) Buka cadangan
2) Hapus jalur file tujuan ke disk
3) Klik Add
4) Pada kotak File name: centang secara manual ketik nama backup setelah .. \ backup seperti di bawah ini dimana Yourdb.bak adalah nama backup database
C: \ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ Yourdb.bak
5) Klik OK
Semoga ini membantu!
sumber
Salah satu alasan mengapa ini terjadi adalah Anda menjalankan Layanan MSSQLSERVER Anda tidak menggunakan sistem lokal. Untuk memperbaiki masalah ini, gunakan langkah-langkah berikut.
Semoga ini membantu Anda dengan baik, seperti yang terjadi pada saya. Bersulang!
sumber
Saya tahu ini bukan solusi yang tepat tetapi menggunakan jalur drive eksternal memecahkan masalah ini.
BACKUP DATABASE AcinsoftDB TO DISK = 'E:\MyDB.Bak' WITH FORMAT, MEDIANAME = 'C_SQLServerBackups', NAME = 'Full Backup of MyDB';
sumber
SQL Server tidak dapat mengakses (menulis) cadangan ke lokasi yang ditentukan.
Pertama, Anda perlu memverifikasi akun layanan yang menjalankan server Sql. Ini dapat dilakukan dengan menggunakan Manajer konfigurasi atau Services.msc.
atau
Gunakan kueri di bawah ini:
Sekarang lihat kolom service_account dan catat.
Buka lokasi tempat Anda mencoba untuk mengambil cadangan, dalam kasus Anda: C: \ Users \ Me \ Desktop \ Backup
Klik kanan -> Properties -> Security ->
Tambahkan akun layanan dan berikan izin baca / tulis. Ini akan menyelesaikan masalah.
sumber
Saya memiliki masalah yang sama dan url di bawah sangat membantu saya.
Ini mungkin membantu Anda juga.
http://blog.sqlauthority.com/2011/04/13/sql-server-fix-error-msg-3201-level-16-cannot-open-backup-device-operating-system-error-5access-is- ditolak /
sumber
MSG 3201, Level 16, Status 1, Baris 1 Tidak dapat membuka perangkat cadangan 'C: \ Backup \ Adventure_20120720_1024AM.trn'. Kesalahan sistem operasi 5 (Akses ditolak.). Msg 3013, Level 16, State 1, Line 1 BACKUP LOG berhenti secara tidak normal.
Saya memverifikasi folder cadangan di drive C, Apakah akun layanan baru memiliki izin akses kontrol penuh atau tidak ?, saya menyadari bahwa akun layanan "Uji \ Kiran" tidak memiliki izin keamanan kontrol penuh.
Ikuti langkah-langkah di bawah ini untuk memberikan kontrol penuh ke akun layanan:
sumber
Silakan periksa akses ke drive. Pertama buat satu folder dan buka properti folder,
Anda dapat menemukan tab keamanan, klik di situ periksa apakah id pengguna Anda memiliki akses atau tidak.
Jika tidak dapat menemukan id Anda, silakan klik add buttion dan beri nama pengguna dengan akses penuh.
sumber
Bagikan folder ini dan gunakan jalur UNC, dengan contoh: \ pc \ backups \ mydb.bak
Kemudian Anda dapat berhenti berbagi.
Tidak terlalu elegan, tetapi ini menyelesaikan semua masalah perizinan (Anda perlu memberikan izin untuk berbagi juga, seperti yang disebutkan di atas)
sumber
Saya mengalami masalah ini ketika file .BAK disimpan sementara di folder yang dienkripsi dengan BitLocker. Itu mempertahankan enkripsi setelah dipindahkan ke folder lain.
Akun LAYANAN JARINGAN tidak dapat mendekripsi file dan memberikan pesan kesalahan yang sangat informatif ini.
Menghapus enkripsi BitLocker (dengan menghapus centang "Enkripsi konten untuk mengamankan data" di properti file) pada file .BAK menyelesaikan masalah.
sumber
Saya mempunyai kesalahan yang sama. Perubahan berikut membantu saya memperbaiki ini.
sumber
Hai, Anda perlu mengubah kueri dari:
BACKUP DATABASE AcinsoftDB TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
untuk
BACKUP DATABASE AcinsoftDB TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak'
Anda harus menambahkan N di depan jalan yang berfungsi untuk saya.
sumber
Dalam kasus saya, saya lupa memberi nama file cadangan dan itu terus memberi saya kesalahan izin yang sama: /
sumber
Saya memecahkan masalah yang sama dengan 3 langkah berikut:
sumber