2013-06-26 2 views
1

У меня проблема с подключением к базе данных. Есть два сервера базы данных: DBS1, DBS2Зеркалирование базы данных не работает (SQL Server 2008)

DBS1 (первичный сервер) DBS2 (зеркальный сервер)

подключить с помощью следующей строки подключения:

Data Source=DBS1;Failover Partner=DBS2;Persist Security Info=True;Initial Catalog=database;User ID=xxx;Password=xxx 

Когда я запускаю свою программу мой компьютер работает, но когда я пытаюсь выполнить программу на веб-сервере в DMZ, переход на другой ресурс не работает.

Можете ли вы рассказать мне о некоторых конфигурациях, которые могут быть причиной этого?

ответ

1

Выполнить это на основной БД

SELECT DB_NAME(database_id) AS 'DatabaseName' 
, mirroring_role_desc 
, mirroring_safety_level_desc 
, mirroring_state_desc 
, mirroring_partner_instance 
FROM 
sys.database_mirroring WHERE mirroring_guid IS NOT NULL; 

Значение возвращается в mirroring_partner_instance это имя сервера, который будет использоваться подключения для перехода на другой ресурс, а не DBS2. DBS2 будет использоваться, когда он сначала попытается получить соединение, но не может связаться с DBS1. Если DBS1 доступен, партнер отказоустойчивости будет установлен в кеш из значения sql server mirroring_partner_instance.

Я предполагаю, что ваш компьютер может видеть этот сервер, используя имя в mirroring_partner_instance, где, как и при работе в DMZ, он не может.

См. Дополнительную информацию: http://blogs.msdn.com/b/spike/archive/2010/12/15/running-a-database-mirror-setup-with-the-sqlbrowser-service-off-may-produce-unexpected-results.aspx

Смежные вопросы