Saya memiliki file .bak yang dibuat hari ini oleh orang lain, dibuat secara manual melalui SSMS 2008 R2. Saya mencoba mengembalikan database secara manual, sayangnya file tidak muncul ketika saya menjelajahnya.
Saya dapat membuat skrip proses pemulihan, tetapi saya telah melihat masalah ini sebelumnya dan saya tidak yakin apa yang dapat menyebabkan .bak tidak muncul.
sql-server
backup
ssms
Sean Long
sumber
sumber
Jawaban:
Kami memiliki masalah yang sama hari ini. Itu ternyata menjadi masalah izin, seperti yang diilustrasikan dalam beberapa jawaban lainnya. Perbedaannya adalah bahwa akun yang perlu kami tambahkan adalah
NT SERVICE\MSSQLSERVER
.Saya mengidentifikasi akun dengan membandingkan izin izin folder Cadangan SQL default ke folder yang berisi file cadangan.
Menambahkan akun layanan tidak sesederhana kedengarannya. Inilah yang bekerja untuk saya. (Server 2012 R2)
NT SERVICE\MSSQLSERVER
kotak nama. (Jangan klik Periksa Nama)Anda harus melihat akun layanan yang tercantum dalam pengaturan keamanan, dan dapat menyesuaikan izin sesuai.
Setelah menambahkan izin (saya menambahkan Kontrol Penuh, untuk mencocokkan folder SQL Backup default.) Dan memulai kembali SQL Server Management Console, saya dapat memilih dan memulihkan file cadangan saya.
sumber
s
, ada akun virtual bernamaNT Service\s
, bahkan jika layanan tidak berjalan di bawah akun itu.NT Service\MSSQL$SQLSERVER2014
, mungkin karena saya memberi nama instance sayaSQLSERVER2014
Saya mendapatkan ini hari ini.
Saya mematikan berbagi file, mengindeks dan menghapus semua sesi terbuka (orang-orang masuk untuk menyalin cadangan), tetapi masalah tidak hilang.
Pergi ke Windows Explorer, menyalin cadangan ke folder lain dan menjelajahinya melalui Management Studio, dan saya bisa melihatnya di sana.
Menghapus folder asli dan membuatnya kembali, menyalin kembali konten dan melihat-lihat
.bak
file dan kembali normal.Semoga ini bisa membantu seseorang.
sumber
Saya mengalami masalah ini beberapa kali. Masalahnya bukan dengan SQL Server tetapi dengan Izin Windows folder. Anda harus menambahkan izin yang sesuai ke folder tempat Anda menyalin file .bak (saya pikir
System Network
peran).Solusi yang lebih mudah adalah dengan memindahkan file ke folder cadangan default di Program Files. Ia memiliki semua izin yang diperlukan. Untuk SQL Server 2012 itu
sumber
Saya juga menemukan masalah yang sama hari ini. Saya diberi file cadangan untuk dipulihkan tetapi tidak terlihat oleh saya saat menjelajah. Namun saya bisa mengakses sistem file in tetapi di dalam restore wizard menggunakan
SQL Server management Studio
.Setelah menghabiskan beberapa, saya menemukan bahwa itu adalah masalah izin. Layanan SQL Server berjalan menggunakan
Network Service
tetapiNetwork Service
akun tidak memiliki izin untuk mengakses folder. Setelah memberikan izin untukNetwork Service
. File cadangan terlihat dapat dipulihkan.Untuk detailnya silakan periksa oleh Blog .
sumber
Jika Anda dapat menemukannya di Windows Explorer, maka Anda harus menulis
RESTORE DATABASE
perintah alih-alih mengandalkan GUI yang kikuk untuk menemukannya untuk Anda. Siapa yang tahu kode apa yang terjadi di sana dan mengapa itu mungkin tidak dapat menemukan file - maaf saya hanya punya solusi dan bukan solusi.Juga pastikan bahwa file tersebut sebenarnya something.bak dan bukan something.bak.txt (Windows mungkin "membantu" menyembunyikan ekstensi dari Anda. Saya benci perilaku default itu.)
sumber
Ini terjadi pada saya hari ini di kotak dev saya. Dalam kasus saya, akun layanan memiliki izin ke folder, tetapi akun pengguna saya tidak. Setelah saya memberikan izin akun saya ke folder, saya dapat melihat file .BAK.
sumber