Я пытаюсь настроить зеркалирование между двумя базами данных sql 2008 на разных серверах во внутренней сети, в качестве тестового прогона, прежде чем делать то же самое с двумя живыми серверами в разных местах.Зеркалирование в SQL Server 2008
Когда я на самом деле пытаюсь переключить зеркалирование на целевую БД (с помощью ALTER DATABASE testdb SET PARTNER = N'TCP: // myNetworkAddress: 5022 ') Я получаю сообщение об ошибке, указывающее, что сетевой адрес сервера может не достигаются или не существуют. Небольшое исследование показывает, что это довольно бесполезное сообщение, которое появляется из-за множества возможных причин, некоторые из которых напрямую не связаны с существующим сервером или иным образом.
До сих пор я проверил и попытался следующие, чтобы решить эту проблему:
На целевом сервере, я проверил, что в диспетчере конфигурации SQL, что «Протоколы SQLEXPRESS» (моя локальная установка по какой-то причине помечен SQLEXPRESS, хотя запрос SERVERPROPERTY ('Edition') показывает, что это 64-разрядный Enterprise), а клиентские протоколы для собственного клиента SQL 10 все имеют протокол TCP/IP.
Я пользуюсь утилитой программа под названием CurrPorts, чтобы убедиться, что есть порт TCP/IP с тем же номером, указанным в настройке зеркалирования (5022) открыт и прослушивает мою машину. Netstat проверяет, что обе машины прослушивают этот порт.
Я запустил SELECT type_desc, порт FROM sys.tcp_endpoints; и SELECT state_desc, role FROM sys.database_mirroring_endpoints, чтобы гарантировать, что все настроено так, как должно быть. Единственное, что меня смутило, это «роль» возвращает 1 ... не совсем уверен, что это значит.
Я попытался правильно подготовить БД. Я сделал резервные копии базы данных и файла журнала из главного БД и восстановил их в целевой базе данных с помощью NORESTORE. Я попытался превратить зеркалирование на обоих, оставив их в состоянии NORESTORE и запуская пустой RESTORE ... и не имеет большого значения. Как и в тесте, я также попытался отразить неактивную, почти пустую базу данных, которую я создал, но это тоже не сработало.
Я подтвердил, что ни один сервер находится за брандмауэром (они оба на одной и той же сети, хотя на разных машинах)
Я понятия не имею, куда обратиться дальше. Я видел эти страницы справки по устранению неполадок два:
http://msdn.microsoft.com/en-us/library/ms189127.aspx
http://msdn.microsoft.com/en-us/library/aa337361.aspx
И насколько я могу сказать, я бегать по всем пунктам не дали никаких результатов.
Еще одна вещь, о которой я не уверен, - это окно учетных записей службы в мастере. Для обеих баз данных я добавлял имя учетной записи высокого уровня доступа, которое должно иметь полные права администратора для базы данных. Я предположил, что это правильно.
Я не уверен, куда обратиться, чтобы попытаться устранить эту проблему. Предложения с благодарностью получены.
Cheers, Matt