Gewusst wie: verbinden mit gespiegelten SQL Server nach einem failover?
Ich einrichten einer Datenbank-Spiegelungssitzung und dieses dann connectionstring
zu verbinden:
Data Source={0};Failover Partner={1};Initial Catalog=AdventureWorks;
Integrated Security=True;
Nachdem Sie einige Daten in die Datenbank, ich shutdown der Prinzipal-server, so dass der Spiegelserver wird zum Prinzipalserver. Ich öffne die Verbindung immer wieder diese Fehlermeldung erhalten:
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.)
Dachte ich, dass mit der Failover-Partner in der Verbindungszeichenfolge angegeben ist, ADO.NET würde die Arbeit für mich. Also, was soll ich jetzt tun?
- Sie sollten angeben, wenn ein Zeuge vorhanden ist, oder wenn dies ist ein manueller fail-over-Konfiguration (man bekommt nur automatische fail-over, wenn Sie haben Zeuge. siehe technet.microsoft.com/en-us/library/ms189852(SQL.90).aspx). Sie sollten auch prüfen, den Status der Datenbanken auf sowohl dem AUFTRAGGEBER und dem Failover.
- Welchen provider verwenden Sie?
- Ich habe manuell geprüft von T-SQL, klappt alles wunderbar 🙂 @gbn: ich bin mit ADO.NET
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glücklicherweise habe ich das problem behob. Alles, was ich zu tun ist, ruft ClearPool-Methode:
Diese Methode wird klar, dass die Verbindungs-pool. Dann das problem Weg ist. Ich bin so glücklich mit ihm.
Danke, Euch allen, für Eure Unterstützung. 😀
Ich bin kein Experte über .net-Zeug, aber Sie müssen den SQL native client (SQLNCLI), um Griff failover". ado.net" kann SQLOLEDB
Bis zu Windows Server 2003-zumindest ist es nicht standardmäßig installiert. Es ist entweder standalone oder Teil des SQL client tools, so dass ich vermute, Sie sind mit SQLOLEDB
Nachdem Sie den Computer Herunterfahren, die AUFTRAGGEBER, haben Sie überprüft, dass der failover wurde tatsächlich die wichtigsten? Wenn es nicht zu einer automatischen failover in Sql Server, dann den Spiegel noch eine Spiegel.
Haben wir festgestellt, dass dieses passieren würde, wenn Sie nicht über einen ausreichend großen timeout.
https://serverfault.com/questions/249589/db-auto-failover-in-c-does-not-work-when-the-principal-server-physically-goes-o