Udostępnij za pośrednictwem


Nawiązywania połączenia początkowego bazą dublowanie sesji

Dla połączenia początkowego dublowanego bazy danych, klient musi dostarczyć połączenia ciąg , minimalny podaje nazwę wystąpienie serwera.Wymaga to nazwa serwera należy zidentyfikować bieżące wystąpienie serwer dublowany i jest znany jako Nazwa partner początkowej.

Opcjonalnie połączenia ciąg można również podać nazwę innego wystąpienia serwera, który należy zidentyfikować bieżące wystąpienie serwera dublowania, do użycia, jeśli początkowe partner jest niedostępny podczas pierwszej próby połączenia.Nazwa drugiego jest znany jako Nazwa partner pracy awaryjnej.

Połączenie ciąg należy również podać nazwę bazy danych.Jest to konieczne umożliwić prób zainicjowania pracy awaryjnej przez dostawca danych programu access.

Po odebraniu połączenia ciąg, dostawcy danych programu access przechowuje Nazwa partner początkowego i nazwa partner pracy awaryjnej, jeśli podana w pamięci podręcznej w pamięci nietrwałej klient (kod zarządzany pamięci podręcznej jest objęty zakresem do domena aplikacji).Po buforowane, nazwa partner początkowe nigdy nie jest aktualizowany przez dostawca danych programu access.Gdy klient dostarcza Nazwa partner pracy awaryjnej, dostępu do danych dostawcy również przechowuje tymczasowo nazwę tego partner pracy awaryjnej przypadek, gdy dostawca nie może połączyć się przy użyciu Nazwa partner początkowego.

A dublowanie bazy danych sesja nie chroni przed dostępu serwera problemów, które są specyficzne dla klient, takich jak, kiedy występują problemy komunikacji w sieci z komputera klienckiego.Próba połączenia dublowanego bazy danych można również nie działać z różnych przyczyn, które są niezwiązane dostęp do danych dostawca; na przykład próba połączenia może nie działać, ponieważ wystąpienie serwer dublowany jest nieaktywny, kiedy baza danych jest możliwe przez lub z powodu błędu sieciowego.

Podczas próby połączenia, dostawca danych programu access rozpoczyna się przy użyciu nazwy początkowej partner.Jeśli wystąpienie określonego serwera jest dostępny i jest bieżące wystąpienie serwer dublowany, zwykle powiedzie się próba połączenia.

Ostrzeżenie

Po wstrzymaniu dublowanie sesja klienta zazwyczaj łączy się z serwer dublowany i pliki do pobrania Nazwa partner.Jednak bazy danych jest niedostępna dla klient aż dublowanie wznawia.

Jeśli taka próba nie działa, dostawca danych programu access próbuje Nazwa partner pracy awaryjnej, jeśli dostępne.Jeśli nazwa partner albo poprawnie identyfikuje bieżący serwer dublowany, dostawca danych programu access zwykle powiedzie się podczas otwierania połączenia początkowego.Na zakończeniu tego połączenia, dostawca danych programu access pobiera nazwę wystąpienie serwera bieżącego serwer duplikatu.Nazwa ta jest przechowywana w pamięci podręcznej jako nazwa partner pracy awaryjnej, zastępując Nazwa partner pracy awaryjnej dostarczonych przez klient, jeśli.W okresie późniejszym.NET Framework Data Provider dla SQL Server nie aktualizuje nazwę partner pracy awaryjnej.Natomiast SQL Server Native Client aktualizuje pamięć podręczną przy każdym kolejnym połączeniu lub zresetowanie połączenia zwraca nazwę innego partner.

Następujący rysunek ilustruje połączenia klient początkowego partner Partner_A, dublowane bazy danych o nazwie Db_1.Poniższy rysunek przedstawia przypadek, w którym nazwa partner początkowego, dostarczonych przez klient poprawnie identyfikuje bieżącego serwer dublowany, Partner_A.Powiedzie się próba połączenia początkowego i dostawca danych programu access przechowuje nazwę serwer duplikatu (obecnie Partner_B) jako nazwa partner pracy awaryjnej w lokalnej pamięci podręcznej.Wreszcie, klient łączy się z główną kopię Db_1 bazy danych.

Połączenie klienta, jeśli partner wstępny jest podmiotem zabezpieczeń

Próba połączenia początkowego może zakończyć się niepowodzeniem, na przykład z powodu błędu sieciowego lub wystąpienie serwera nieaktywne.Początkowe partner jest niedostępna dla dostawca danych program access próbuje połączyć się z partner pracy awaryjnej, klient musi podano Nazwa partner pracy awaryjnej w połączeniu z ciąg.

W takim przypadek nazwa partner pracy awaryjnej jest niedostępna, oryginalne próba połączenia jest kontynuowane do limitu czasu połączenia z siecią, lub (tylko dla bazie dublowane), zwracany jest błąd.

Kiedy nazwa partner pracy awaryjnej jest podana w połączeniu z ciąg, zachowanie dostawca danych programu access zależy od protokół sieciowego i systemu operacyjnego klient, jak następuje:

  • TCP/IP, jeśli klient jest uruchomiony system Microsoft Windows XP lub nowszym próby połączenia są regulowane przez algorytm ponów próbę połączenia, specyficzne dla dublowanie bazy danych.Algorytm ponowić połączenie określa maksymalny czas ( Godzina ponowienia) przeznaczonego na otwieranie połączenia w danego połączenia.Aby uzyskać więcej informacji, zobacz Słowa kluczowe ciąg połączenia przy użyciu programu SQL Server Native Client.

  • Dla innych protokołów sieciowych oraz klientów, którzy nie korzystają z systemu Microsoft Windows XP lub nowszym

    Jeśli wystąpi błąd lub początkowy partner jest niedostępny, próba połączenia początkowego czeka, aż wygaśnięciu limitu czasu połączenia sieciowego lub limit czasu logowania wygasa dostawca danych programu access.Zazwyczaj ten oczekiwania jest w celu o 20 do 30 sekund.Jeśli dostawca dostępu do danych nie został przekroczony, próbuje połączyć się z partner pracy awaryjnej.Jeśli limit czasu połączenia wygaonie, zanim połączenie powiedzie się lub partner pracy awaryjnej jest niedostępny, połączenie próba nie powiedzie się.Jeśli partner pracy awaryjnej jest dostępna w ramach limitu czasu logowania i jest teraz serwer dublowany, zwykle powiedzie się próba połączenia.

Ciągi połączeń dublowanego bazy danych

Połączenie ciąg dostarczonych przez klient zawiera informacje, że dostępu do dostawca używa do łączenia się z bazą danych.W tej sekcji omówiono słowa kluczowe, które są szczególnie odpowiednie do łączenia się z dublowanego bazy danych za pomocą SQL Server macierzysty sterownik ODBC klienta połączenia.Aby uzyskać informacje dotyczące wszystkich słów kluczowych ciąg połączenia, zobacz Słowa kluczowe ciąg połączenia przy użyciu programu SQL Server Native Client.

Atrybut sieci

Połączenie ciąg powinien zawierać sieci atrybut, aby określić protokół sieciowy.Gwarantuje to, że określony protokół sieciowy będzie się powtarzał między połączeniami różnych partnerów.Protokół najlepsze do łączenia się z dublowanego bazy danych jest TCP/IP.Aby zapewnić, że klient żąda TCP/IP dla każdego połączenia do partnerów, połączenie ciąg dostarcza następujących atrybutów:

Network=dbmssocn; 
Ważna informacjaWażne:

Zaleca się przechowywanie u góry listy protokół klient TCP/IP.Jednak jeśli połączenie ciąg określa sieci atrybut, ustawienie to zastępuje na liście.

Alternatywnie, do zapewnienia, że klient żąda nazwanych potoków dla każdego połączenia do partnerów, połączenie ciąg dostarcza następujących atrybutów:

Network=dbnmpntw; 
Ważna informacjaWażne:

Ponieważ w wielu przypadkach nazwanych potoków nie używa algorytmu ponawiania TCP/IP, próba połączenia nazwane potoki mogą czas przed nawiązywanie dublowanego bazy danych.

Atrybut serwera

Połączenie ciąg musi zawierać Server atrybut, który dostarcza nazwę początkowego partner, którego należy zidentyfikować bieżące wystąpienie serwer dublowany.

Najprostszym sposobem identyfikowania wystąpienie serwera jest określając jej nazwę <nazwa_serwera >\<SQL_Server_instance_name>.Na przykład:

Server=Partner_A;

lub

Server=Partner_A\Instance_2;

Jednak w przypadku nazwy systemu klient, należy wykonać wyszukiwanie DNS, aby uzyskać adres IP serwera i kwerendy Przeglądarka SQL Server, aby uzyskać numer portu serwera, na którym znajduje się partner.Tych kwerend i wyszukiwań można ominąć, podając numer portu i adresem IP partner w Server atrybut zamiast określania nazwa serwera.Jest to zalecane, aby zminimalizować możliwość zewnętrznych opóźnień podczas łączenia się z takim partner.

Ostrzeżenie

Kwerenda Przeglądarka SQL Server jest konieczne jeżeli połączenie ciąg Określa nazwę nazwanego wystąpienie i nie port.

Aby określić adres IP i port, Server atrybut przyjmuje następującą postać Server=<adres_IP>,<portu>, na przykład:

Server=123.34.45.56,4724; 

Ostrzeżenie

Adres IP może być IP wersja 4 (IPv4) lub IP wersja 6 (IPv6).

Atrybut bazy danych

Ponadto połączenia ciąg należy określić Database atrybut, aby podać nazwę dublowanego bazy danych.Jeśli baza danych jest niedostępny, gdy klient próbuje połączyć się, wyjątek.

Na przykład, aby połączyć wyraźnie AdventureWorks2008R2 bazy danych serwer dublowany Partner_A, klient używa następującego połączenia ciąg:

" Server=Partner_A; Database=AdventureWorks2008R2 "

Ostrzeżenie

Pomija ten ciąg uwierzytelnianie informacji.Aby uzyskać informacje, słowa kluczowe, zintegrowanego uwierzytelnianie, zobacz Słowa kluczowe ciąg połączenia przy użyciu programu SQL Server Native Client.

Ważna informacjaWażne:

Udane prefiksu protokół z Server atrybut (Server=tcp:<nazwa_serwera>) jest niezgodny z sieci atrybut i określając protokół w obu miejscach najprawdopodobniej zakończy się błędem.Dlatego zaleca połączenia ciąg określić przy użyciu protokół sieci atrybut i podaj tylko nazwa serwera w Server atrybut ("Network=dbmssocn; Server=<nazwa_serwera>").

Atrybut Partner pracy awaryjnej

Oprócz nazwy początkowej partner klient można również określić nazwę partner pracy awaryjnej, która powinien identyfikować bieżący serwer duplikatu instancji.Partner pracy awaryjnej jest określony przez słowa kluczowe dla atrybut partner pracy awaryjnej.Słowo kluczowe dla tego atrybut zależy od interfejsu API, którego używasz.W poniższej tabela wymieniono te słowa kluczowe:

INTERFEJS API

Słowo kluczowe dla atrybut partner pracy awaryjnej

Dostawca OLE DB

FailoverPartner

Sterownik ODBC

Failover_Partner

ActiveX Data Objects (ADO)

Failover Partner

Aby uzyskać więcej informacji na temat słów kluczowych te interfejsy API, zobacz Słowa kluczowe ciąg połączenia przy użyciu programu SQL Server Native Client.

Najprostszym sposobem identyfikowania wystąpienie serwera jest według jego nazwy systemu <nazwa_serwera >\<SQL_Server_instance_name>.

Alternatywnie, numer portu i adresem IP mogą być dostarczane w Partner pracy awaryjnej atrybut.Jeśli próba połączenia początkowego nie powiedzie się podczas pierwszego połączenia z bazą danych, próba połączenia do pracy awaryjnej partner zostanie zwolniona z korzystania z usługi DNS i Przeglądarka SQL Server.Po nawiązaniu połączenia nazwa partnera pracy awaryjnej zostanie zastąpiony nazwą partner pracy awaryjnej, więc w przypadku pracy awaryjnej, przekierowanie połączeń będzie wymagać DNS i Przeglądarka SQL Server.

Ostrzeżenie

Gdy dostępne jest tylko nazwa partner początkowego, deweloperzy aplikacji nie muszą podejmować żadnych akcja lub pisania kodu z wyjątkiem dotyczące ponownego połączenia.

Ostrzeżenie

Deweloperzy aplikacji kodu zarządzanego podawania nazwy partner pracy awaryjnej w ConnectionString z SqlConnection obiektu.Informacje dotyczące używania tego połączenia ciąg, zobacz "obsługuje lustrzane bazy danych.NET Framework Data Provider for SQL Server" w modelu ADO.Dokumentacja netto, które jest częścią z Microsoft .NET Framework SDK.

Przykładowy ciąg połączenia

Na przykład, aby jawnie połączyć się przy użyciu protokołu TCP/IP do AdventureWorks2008R2 bazy danych na Partner_A lub Partner_B aplikacji klienckiej, która używa sterownika ODBC mogłaby następującego połączenia ciąg:

"Server=Partner_A; Failover_Partner=Partner_B; Database=AdventureWorks2008R2; Network=dbmssocn"

Alternatywnie klient można użyć numeru portu i adresem IP do identyfikowania początkowej partner, Partner_A; na przykład, jeśli adres IP jest 250.65.43.21 i numer portu jest 4734 połączenia ciąg byłoby:

"Server=250.65.43.21,4734; Failover_Partner=Partner_B; Database=AdventureWorks2008R2; Network=dbmssocn"