Pertanyaan Kembalikan cadangan basis data melalui jaringan


Bagaimana Anda memulihkan cadangan basis data menggunakan SQL Server 2005 melalui jaringan? Saya ingat pernah melakukan ini sebelumnya, tetapi ada sesuatu yang aneh tentang cara Anda melakukannya.


35
2017-08-19 16:13


asal


Jawaban:


Database sering berjalan sebagai layanan di bawah akun tanpa akses jaringan. Jika ini kasusnya, maka Anda tidak akan dapat memulihkan langsung melalui jaringan. Entah backup perlu disalin ke mesin lokal atau layanan database perlu dijalankan sebagai pengguna dengan akses jaringan yang tepat.


16
2017-08-19 16:20



Anda memiliki beberapa opsi untuk menggunakan file jaringan sebagai sumber pencadangan

  1. Petakan drive jaringan / jalur, file hosting, di bawah pengguna SAMA sebagai MS-SQL Server.
  2. Gunakan xp_cmdshell extended stored procedure untuk memetakan drive jaringan dari dalam MS SQL (seperti itu, command shell akan memiliki privilegies yang sama dengan akun pengguna yang menjalankan SSMS)
-- allow changes to advanced options 
EXEC sp_configure 'show advanced options', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
EXEC xp_cmdshell 'NET USE Z: \\Srv\Path password1 /USER:Domain\UserName'

Setelah itu drive Z: akan terlihat di studio Server Managment, atau hanya

RESTORE DATABASE DataBaseNameHere FROM DISK = 'Z:\BackNameHere.BAK'
GO

65
2017-12-09 07:34



Anda tidak dapat melakukan ini melalui SSMS GUI, tetapi Anda dapat melakukannya menggunakan skrip. KEMBALIKAN DATABASE dari DISK = '\ unc \ path \ filename' Jika Anda membutuhkan proses ini otomatis, cara terbaik adalah dengan men-setup Pekerjaan SQL Server dan menjalankannya sebagai pengguna dengan akses ke lokasi file.


7
2017-09-02 13:12



Pastikan bahwa pengguna menjalankan Anda SQL services di "Services.msc" adalah direktori aktif "Domain User" ini akan memperbaiki masalah.


4
2018-04-19 20:34



Anda dapat menggunakan SP xp_cmdshell untuk memetakan networkdrive untuk server sql, setelah itu akan muncul di jendela penjelajahan file.

EXEC xp_cmdshell 'NET USE Z: SERVERLOCATION PASSWORD /USER:DOMAIN\USERNAME'

info lebih lanjut di sini: DB Restore dari Drive Jaringan

Bekerja untuk saya!


4
2018-02-15 12:27



Saya sudah melakukan ini beberapa kali, dan hanya ada dua opsi yang saya ketahui. Salin file secara lokal ke SQL Server, atau pada server SQL membuat drive jaringan yang dipetakan ke share yang berisi file cadangan.


0
2017-08-19 18:18



Juga, Anda perlu memastikan bahwa SQL Server Service berjalan sebagai pengguna yang memiliki akses jaringan - dan izin untuk berbagi tempat tinggal file cadangan. 'Sistem Lokal' tidak akan memiliki izin untuk mengakses jaringan.


0
2017-09-08 23:59



Sebagai catatan tambahan, jika Anda menjalankan SQL pada Mesin Virtual, sering kali lebih mudah untuk hanya membuat drive baru di VM sementara dengan cukup ruang untuk menyalin file cadangan Anda, lakukan pemulihan dari salinan lokal baru tersebut, lalu hapus drive temp.

Ini dapat berguna jika menghentikan / memulai layanan SQL untuk mengubah akun itu adalah masalah.


0
2018-01-17 21:05



Buat drive bersama pada mesin yang memiliki cadangan, katakanlah server1 memiliki cadangan di folder "Cadangan". Berikan kontrol penuh ke akun yang menjalankan SQL Server. Pada Server yang ingin Anda kembalikan untuk meluncurkan SSMS, kembalikan basis data dan pilih "Dari Perangkat". Dalam kotak dialog "Cari berkas Pencadangan-" Server "" dan hapus apa pun di bidang "Jalur Terpilih" dan di bidang "Nama File", siapkan lintasan penuh jadi "\ server \ backups \ db.bak". Setidaknya itu bekerja untuk saya ketika bermigrasi dari 05 hingga 08. Bukan metode yang disukai karena cegukan jaringan dapat menyebabkan masalah dengan pemulihan.


0
2018-04-24 18:20