Подтвердить что ты не робот

Восстановление резервной копии базы данных по сети

Как восстановить резервную копию базы данных с помощью SQL Server 2005 по сети? Я помню, как это делалось раньше, но было что-то странное в том, как вы это делали.

4b9b3361

Ответ 1

База данных часто работает как служба под учетной записью без доступа к сети. Если это так, то вы не сможете восстановить его непосредственно по сети. Либо резервное копирование необходимо скопировать на локальный компьютер, либо служба базы данных должна запускаться как пользователь с надлежащим доступом к сети.

Ответ 2

У вас есть несколько вариантов использования сетевого файла в качестве источника резервного копирования

  • Отобразить сетевой диск/путь, файл хостинга под SAME, как MS-SQL Server.
  • Используйте расширенную хранимую процедуру xp_cmdshell для сопоставления сетевого диска изнутри MS SQL (таким образом, командная оболочка будет иметь те же привилегии, что и учетная запись пользователя, использующая 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'

Затем диск Z: будет отображаться в студии "Управление сервером" или просто

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

Ответ 3

Вы не можете сделать это через графический интерфейс SSMS, но вы можете сделать это с помощью script. RESTORE DATABASE из DISK = '\ unc\path\filename' Если вам нужно автоматизировать этот процесс, лучше всего настроить SQL Server Job и запустить его как пользователя с доступом к файлу.

Ответ 4

Убедитесь, что пользователь, запускающий ваш SQL services в "Services.msc", является активным каталогом "Domain User", это устранит проблему.

Ответ 5

Вы можете использовать SP xp_cmdshell для сопоставления сетевого привода для SQL-сервера, после чего он появится в окне просмотра файлов.

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

подробнее здесь: Восстановление базы данных с сетевого диска

Работал для меня!

Ответ 6

Мне приходилось делать это несколько раз, и есть только два варианта, о которых я знаю. Скопируйте файл локально на SQL Server или на сервере SQL создайте сопоставленный сетевой диск для общего ресурса, который содержит файл резервной копии.

Ответ 7

Кроме того, вам необходимо убедиться, что служба SQL Server работает как пользователь, имеющий сетевой доступ, и права доступа к ресурсу, в котором живет файл резервной копии. "Локальная система" не будет иметь прав доступа к сети.

Ответ 8

В качестве побочного примечания, если вы работаете с SQL на виртуальной машине, вам часто не нужно просто настраивать новый диск на виртуальной машине с достаточным пространством для копирования ваших файлов резервных копий, выполните восстановление с этого нового локальная копия, а затем удалите временный диск.

Это может быть полезно, если остановка/запуск службы SQL для изменения учетной записи является проблемой.

Ответ 9

Создайте общий диск на компьютере с резервными копиями, например, сервер 1 имеет резервные копии в папке "Резервные копии". Предоставьте полный контроль над учетной записью, на которой работает SQL Server. На сервере, который вы хотите восстановить для запуска SSMS, перейдите в базу данных восстановления и выберите "От устройства". В диалоговом окне "Locate Backup file-" Server "и удалите что-либо в поле" Выбранный путь ", а в поле" Имя файла "укажите полный путь так:" \server\backups\db.bak ". По крайней мере, это работало для меня при переходе с 05 на 08. Не предпочтительный метод, потому что любая икота сети может вызвать проблему с восстановлением.

Ответ 10

EXEC sp_configure 'show advanced options', 1
GO

- Обновить текущие настроенные значения для расширенных параметров.

RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO

- Обновить текущие настроенные значения для расширенных параметров.

RECONFIGURE
GO

--This должен быть запущен в командной строке (cmd)

NET USE Z: \\172.100.1.100\Shared Password /USER:administrator /Persistent:no

затем на SQL Server

EXEC xp_cmdshell 'NET USE Z: \\172.100.1.100\Shared Password /USER:administrator /Persistent:no'

--Afterwards диск Z: будет виден в Студии управления сервером или просто

RESTORE DATABASE DB FROM DISK = 'Z:\DB.BAK'
WITH REPLACE