Назад | Перейти на главную страницу

Создание общей папки между двумя серверами

Мне нужно создать доставку журнала SQL между двумя базами данных,

Источник находится на экземпляре AWS EC2 под управлением Windows Server 2008 R2 и SQL Server 2008.

Пункт назначения находится на виртуальной машине Azure под управлением центра обработки данных Windows 2012 и SQL Server 2012.

Для этого процесса требуется следующее:

все эти задачи выполняются процессом sql server

Теперь у меня проблема с созданием некоторой общей папки между экземплярами, я попытался сделать следующее:

шаг A выполняется в локальной папке на машине,

На шаге b сервер sql пытается получить доступ к этой папке, используя этот формат (и копирует файлы из нее в локальную папку):

\\serveraddress\drive$\folder

после предоставления всем доступа к этой папке на исходном сервере и включения совместного использования и включения гостевого пользователя

Однако у меня все еще возникают проблемы с доступом, и процесс копирования не выполняется.

Что делать?

Спасибо

РЕДАКТИРОВАТЬ :

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

Поэтому вместо того, чтобы копаться в этом, я решил использовать стороннее программное обеспечение для синхронизации информации между двумя серверами, такими как dropbox / svn и т. Д., И, используя одно и то же место для общей папки на обоих серверах, я мог бы очень простым способом использовать сетевое расположение:

\\localhost\...

и оба компьютера будут действовать так, как если бы они были в сети, но папка была синхронизирована и предоставлена ​​к совместному использованию на локальном экземпляре, поэтому на ней не было проблем с разрешением.

Не идеальное решение, но оно работает.

Шаг первый. Не используйте общие ресурсы <drive> $ - это административные ресурсы, для которых необходимы права администратора.

Затем на целевом сервере:

Создайте свою собственную долю, например:

net share LOG_SHIPPING=d:\data\log_shipping /grant:everyone,full /cache:none /remark:"something meaningful"

Создайте локальную учетную запись на целевом сервере:

net user log_shipping_user <PASSWORD> /comment:"something meaningful" /passwordchq:no /add

Установите разрешения соответствующим образом, например:

icacls d:\data\log_shipping /grant "log_shipping_user:(OI)(CI)(M)"

Затем на исходном сервере установите входящее соединение с использованием указанного выше пользователя:

net use \\<TARGET SERVER>\log_shipping /user:<TARGET_SERVER>\log_shipping_user /password:<PASSWORD>

Это должно сработать. Проделайте то же самое в обратном направлении для соединений другим способом.

Все пользователи и серверы находятся в одном домене Active Directory или в доменах, которым доверяет исходный сервер? В противном случае пользователи пытаются войти в систему анонимно через сеть. В версиях Windows, начиная с 2003 / XP, группа «Все» не дает на это разрешений. Вам необходимо предоставить разрешения группам АНОНИМНЫЙ ВХОД и СЕТЬ.