Как подключиться к зеркальному SQL Server после отработки отказа?

StackOverflow https://stackoverflow.com/questions/2200728

Вопрос

Я настроил зеркальное отображение базы данных, а затем использовал это connectionstring чтобы подключиться к нему:

    Data Source={0};Failover Partner={1};Initial Catalog=AdventureWorks;
    Integrated Security=True;

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

    System.Data.SqlClient.SqlException: A transport-level error has 
occurred when sending the request to the server. (provider: Shared Memory 
Provider, error: 0 - No process is on the other end of the pipe.)

Я думал, что с партнером по отработке отказа, указанным в строке подключения, ADO.NET сделает всю работу за меня.Так что же мне теперь делать?

Это было полезно?

Решение

К счастью, я устранил эту проблему.Все, что мне нужно сделать, это вызвать метод ClearPool:

SqlConnection.ClearPool(conn);

Этот метод очистит пул подключений.Тогда проблема исчезнет.Я так счастлива этим.

Спасибо вам, всем вам, за вашу поддержку.:D

Другие советы

Я не эксперт в этом .сетевые вещи, но вам нужен собственный клиент SQL (SQLNCLI) для обработки отработки отказа."ado.net" может быть SQLOLEDB

По крайней мере, до Windows Server 2003 он не установлен по умолчанию.Это либо автономный, либо часть клиентских инструментов SQL, поэтому я подозреваю, что вы используете SQLOLEDB

После того как вы закрыли участника, убедились ли вы, что переход на другой ресурс действительно стал участником?Если у него не было автоматического переключения на Sql Server, то для вас зеркало по-прежнему остается зеркалом.

Мы обнаружили, что это могло бы произойти, если бы у вас не было установлено достаточно большого тайм-аута.

https://serverfault.com/questions/249589/db-auto-failover-in-c-does-not-work-when-the-principal-server-physically-goes-o

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top