Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка merge-репликации  [new]
VladBoyr
Member

Откуда: Екатеринбург
Сообщений: 20
Друзья, коллеги, опишу свою проблему, может быть кто-то сталкивался или свежим взглядом подскажет, где искать решение.

У меня есть Merge-репликация. Pull-подписка.
Снапшот для инициализации загружается с FTP.
Перед применением снапшота выполняется небольшой скрипт.

Издатель/Распространитель:
Microsoft SQL Server 2008 (SP3) - 10.0.5538.0 (X64) Apr 3 2015 14:50:02
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
(Windows Server 2008 R2 Standart)

Подписчик:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) Jun 17 2011 00:57:23
Express Edition with Advanced Services on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
(Windows 7 Профессиональная)

Во время инициализации подписки возникает следующая ошибка.
Сообщения об ошибках:
Не удается распространить сценарий схемы "snapshot.pre" на подписчика. (Источник: MSSQL_REPL, номер ошибки: MSSQL_REPL-2147201001)
Получить справку: http://help/MSSQL_REPL-2147201001
Процессу не удалось считать файл "C:\Windows\TEMP\d785a92e7f7d41d192fa4049db3ec1a3\snapshot.pre" из-за ошибки операционной системы 2. (Источник: MSSQL_REPL, номер ошибки: MSSQL_REPL20151)
Получить справку: http://help/MSSQL_REPL20151
Не удается найти указанный файл.
(Источник: MSSQL_REPL, номер ошибки: MSSQL_REPL2)
Получить справку: http://help/MSSQL_REPL2
Подписчиков в районе 20-30 шт., ошибка возникает только на одном из них.
Кроме того есть ещё несколько аналогичных репликаций с теми же подписчиками. На одной из этих репликаций возникает такая же ошибка, но уже у другого подписчика.

У меня никаких идей в какую сторону рыть. Пробовал выкинуть предварительный скрипт. Инициализировать не с FTP, а из альтернативной директории на подписчике. Всё равно возникает эта ошибка.

Что ещё можно попробовать / посмотреть? Буду признателен вам за совет.
19 сен 17, 12:04    [20805537]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка merge-репликации  [new]
VladBoyr
Member

Откуда: Екатеринбург
Сообщений: 20
Выдал права на папку C:\Windows\Temp\ - безрезультатно.
19 сен 17, 12:09    [20805563]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка merge-репликации  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31364
VladBoyr
Что ещё можно попробовать / посмотреть?
Сравните всё на двух подписчиках, с ошибкой и без. Права на папки, права аккаунтов сервисов.
19 сен 17, 23:37    [20807655]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка merge-репликации  [new]
VladBoyr
Member

Откуда: Екатеринбург
Сообщений: 20
Попробовал обновить на подписчике R2 до Service Pack 3 (был Service Pack 1) - тщетно.

Мне показалось, что у меня что-то похожее приключилось:
https://support.microsoft.com/en-us/help/969775/fix-distribution-agent-fails-when-you-try-to-apply-a-snapshot-for-a-ne
This issue occurs because Distribution Agent still looks for the snapshot in the default location even though you specify a new location.
У меня снапшот в сжатом виде на FTP лежит, возможно, при распаковке (после распаковки) во временную папку (C:\Windows\Temp\) что-то могло пойти не так.

Я пробовал указать в подписке Альтернативную папку и туда положить снапшот (не помню только в сжатом виде или уже в распакованном), но результат был тот же.

В общем, я решил вопрос радикально, пересоздав публикацию, благо у меня небольшие объёмы данных и низкая частота изменений. Теперь всё работает. Жаль, так и не понял, что это было.

P.S.: Разницы между разными Подписчиками и разными Публикациями я не нашёл, в общем и целом всё примерно одинаково. На Подписчике только Service Pack 3 установил, а вопрос в итоге решился после пересоздания Публикации целиком.
21 сен 17, 17:06    [20813170]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить