Зеркальное отображение SQL Server отказывается работать. Вырвать мои волосы
Я пытаюсь попробовать то, что я думал, было бы очень простым процессом - зеркалирование базы данных между двумя серверами MSSQL 2008 R2 в одном домене.
Оба сервера настроены одинаково, и у меня есть база данных под названием "архив", которую я хотел бы отразить. Я сделал полную резервную копию базы данных на узле 1 (основной) и восстановил ее на узле 2 с опцией WITH NORECOVERY. База данных отображается на узле 2 (зеркало) с (In Recovery)
перечислены рядом с ним в графическом интерфейсе.
Я запускаю мастер зеркалирования на основном сервере и настраиваю безопасность. Оба процесса SQL на обоих настроены на запуск с одной и той же учетной записью службы домена DOMAIN\SQLService
и DOMAIN\SQLService
учетная запись существует как логин на каждом сервере. Проходя шаги по настройке безопасности, я выбираю, что мне не нужен следящий сервер (во всяком случае, пока), и он устанавливает конечные точки. Наконец, когда он спрашивает, какую учетную запись я хочу использовать для подключения к каждой, я ввожу DOMAIN\SQLService
учетная запись.
DOMAIN\SQLService
устанавливается как локальный администратор каждого узла с использованием политики домена.
Однако, когда я выбираю "Начать зеркалирование", я получаю следующую ошибку на Принципале:
Database mirroring connection error 4 'An error occurred while receiving data: '64(failed to retrieve text for this error. Reason: 15105)'.' for 'TCP://node-b.fqdn.example.com:5022'.
и на зеркале:
Database Mirroring login attempt failed with error: 'Connection handshake failed. An OS call failed: (8009030c) 0x8009030c(failed to retrieve text for this error. Reason: 15105). State 67.'. [CLIENT: 10.13.111.31]
10.13.111.31 - это узел B.
Прочитав всю документацию, я попробовал несколько вещей и всегда получал такой результат. Я думал, что это будет довольно простой процесс для довольно стандартной установки, но, очевидно, это сложно.
Есть идеи, что я делаю не так?
1 ответ
Хорошо, после долгого сна, проверки, кофе и повторной проверки, я думаю, что нашел решение.
DNS.
На DNS-сервере DC были некоторые устаревшие записи A, из-за чего Node-B несколько запутался в том, что и где указано. Я исправил DNS, чтобы он отражал реальность, и нажал "go" и..... Это сработало! Ну, на самом деле это было приостановлено, потому что у меня не хватило места на диске на Node-B, но в остальном все вроде бы хорошо.