MS SQL 2005 - резервное копирование в общий каталог

У меня есть виртуальная машина SQL 2005 под управлением Windows 2003 на сервере 2008 под Hyper-V, и мне нужно начать резервное копирование баз данных в общую папку. Я создал аналогичные задания резервного копирования в других средах без проблем. Разница в том, что в любом другом случае SQL-сервер был частью домена, и в этом случае нет домена. Даже когда я устанавливаю общую папку, чтобы предоставить "Полный доступ" для "всех", SQL все равно отказывается запускать задание резервного копирования:

Ошибка операционной системы 1326(Ошибка входа в систему: неизвестное имя пользователя или неверный пароль.). BACKUP DATABASE прерывается ненормально.". Возможные причины сбоя: Проблемы с запросом, свойство ResultSet установлено неправильно, параметры установлены неправильно или соединение установлено неправильно.

Что мне нужно сделать? Нет ли другого решения, кроме как просто создать резервную копию на локальном диске и найти другой способ скопировать файлы?

редактировать: выделено жирным шрифтом для выделения

3 ответа

Решение

Если у вас нет домена, вы можете настроить одного и того же пользователя (имя) на всех компьютерах, а затем использовать локального пользователя для запуска SQL Server.

Например, на ServerA (на котором запущен SQL Server) я могу настроить пользователя MySQLServerUser в качестве локального пользователя. Используйте Configuration Manager, чтобы установить его в качестве учетной записи для запуска SQL Server.

Затем на ServerB, куда я хочу отправить резервные копии, я настроил ту же учетную запись (MySQLServerUser) с тем же паролем.

Поскольку Windows пропустит это как первый пользователь / пароль, она должна пройти аутентификацию.

Обратите внимание, что резервное копирование по сети не рекомендуется. Процесс резервного копирования SQL не терпит сетевых задержек. Все, что икнет, не сможет выполнить резервное копирование. И это, скорее всего, произойдет, когда ваши диски выйдут из строя. Сделайте резервную копию локально, скопируйте на удаленный компьютер. Копии будут повторяться автоматически.

Учетная запись службы SQL Server должна иметь доступ к общему сетевому ресурсу. Если вы используете службу SQL Server с использованием учетной записи Localsystem: эта учетная запись не имеет доступа к общим ресурсам в сети, поскольку она не является аутентифицированной сетевой учетной записью, что делает невозможным резервное копирование на обычный сетевой ресурс.

Итак, если вы хотите сделать резервную копию на сетевом ресурсе, вы можете сделать две разные вещи:

Измените учетную запись, которая запускает службу SQL Server, на учетную запись домена (DOMAIN\USERNAME), которая может получать доступ к общей сетевой папке и имеет необходимые разрешения.

или (не рекомендуется в производственной среде):

Добавьте следующее значение реестра на сервере с сетевым ресурсом и добавьте имя, на которое вы хотите сделать резервную копию, - общий ресурс не аутентифицирует, кто входит, и поэтому учетная запись Localsystem будет иметь доступ. Сервер должен быть перезапущен до вступления изменений в силу. Обратите внимание, что это эффективно удаляет всю безопасность в этом общем ресурсе, поэтому вы позволяете кому-либо иметь доступ.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionShares

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

Или это папка локальная по отношению к коробке SQL Server и совместно используемая с другими?

** РЕДАКТИРОВАТЬ:** Ба, @ Splattne справа, я был на автопилоте. Служба SQL Server, а не агент SQL.

Другие вопросы по тегам