Как добавить Failover Partner в строку подключения в VB.NET - PullRequest
4 голосов
/ 24 марта 2009

У меня есть приложение Windows, подключающееся к базе данных, чтобы прочитать некоторые данные. Поскольку база данных настроена на устойчивость, моему приложению необходимо подключиться к одной из двух баз данных. Может кто-то указать, какой будет синтаксис для указания отказоустойчивого партнера в строке подключения с использованием аутентификации сервера sql.

Любая помощь очень ценится.

Ответы [ 3 ]

11 голосов
/ 24 марта 2009

Проверка connectionstrings.com :

Зеркальное отображение базы данных
Если вы подключаетесь с помощью ADO.NET или собственного клиента SQL к зеркальной базе данных, ваше приложение может воспользоваться возможностью драйверов автоматически перенаправлять соединения при сбое зеркального отображения базы данных. Вы должны указать исходный основной сервер и базу данных в строке подключения и сервер-партнер отработки отказа.

Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial
Catalog=myDataBase;Integrated Security=True;

Существует множество других способов написания строки подключения с использованием зеркального отображения базы данных, это только один пример, указывающий на функцию аварийного переключения. Вы можете комбинировать это с другими доступными опциями подключения.

1 голос
/ 24 марта 2009

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

";Failover Partner=PartnerServerName"

Если вы опустите имя аварийного переключения партнерский сервер и основной база данных недоступна, когда клиентское приложение сначала подключается потом Возникает SqlException.

Источник

0 голосов
/ 28 января 2011

Если у вас не настроено зеркалирование между серверами SQL, вы можете добиться этого с помощью .net. просто в выражении catch.

Код ниже ..

enter code here
Imports System.Data.SqlClient
Imports System.Data

Public Class dbConn
Private primaryServerLocation As String = "SERVER=primaryAddress;DATABASE=yourDB;User id=youruserID;Password=yourPassword;"
Private secondaryServerLocation As String = "SERVER=secondaryAddress;DATABASE=yourDB;User id=youruserID;Password=yourPassword;"


Public sqlConnection As SqlConnection
Public cmd As SqlCommand

Public Sub primaryConnection()
    Try
        sqlConnection = New System.Data.SqlClient.SqlConnection(primaryServerLocation)
        cmd = New System.Data.SqlClient.SqlCommand()

        'test connection
        sqlConnection.Open()
        sqlConnection.Close()
    Catch ex As Exception
        secondaryConnection()
    End Try
End Sub

Public Sub secondaryConnection()
    'Used as the failover secondary server if primary is down.
    Try
        sqlConnection = New System.Data.SqlClient.SqlConnection(secondaryServerLocation)
        cmd = New System.Data.SqlClient.SqlCommand()

        'test connection
        sqlConnection.Open()
        sqlConnection.Close()
    Catch ex As Exception
    End Try
End Sub
End Class
...