Udostępnij za pośrednictwem


Za pomocą dublowania baz danych

Bazy danych dublowanie, wprowadzone w SQL Server 2005, jest przede wszystkim rozwiązanie programowe dla zwiększenia bazy danych dostępności i danych nadmiarowości.SQL ServerNative Client zapewnia obsługę niejawna dublowanie bazy danych, więc deweloper nie trzeba pisania kodu lub podjęcia innych działań, gdy został skonfigurowany dla bazy danych.

Baza danych dublowanie, implementowana na podstawie-database zachowuje kopię SQL Server bazy danych produkcji na serwer rezerwowy.Ten serwer jest albo hot lub serwer rezerwy aktywnej, w zależności od konfiguracja i stanu sesja dublowanie bazy danych.rezerwa dynamiczna serwer obsługuje szybkie przełączanie awaryjne bez utraty transakcji i serwer rezerwy aktywnej obsługuje wymuszanie usługa (o możliwości utraty danych).

W produkcyjnej bazie danych jest nazywany dublowana baza danych, i Kopiuj wstrzymania jest nazywany duplikat bazy danych.dublowana baza danych i duplikat bazy danych musi znajdować się na osobnych wystąpień SQL Server (wystąpienia serwera) i powinno się na oddzielnych komputerach Jeśli możliwego.

Wystąpienie serwera produkcji, nazywany serwer dublowany, komunikuje się z serwer rezerwowy instancji o nazwie lustrzane serwera.Serwery główne i dublowania działają jako partnerzy w ramach dublowanie bazy danych sesja.Jeśli serwer dublowany nie powiedzie się, serwer duplikatu dokonać jego bazy danych do dublowana baza danych w procesie nazywanym pracy awaryjnej.Na przykład Partner_A i Partner_B są dwa serwery partner z dublowana baza danych początkowo na Partner_A jako serwer dublowany i duplikat bazy danych znajdujących się na Partner_B jako serwer duplikatu.Jeśli Partner_A przejdzie w tryb offline bazy danych na Partner_B może się nie powieść ponad bieżącym stanie się dublowana baza danych.Partner_A przyłącza sesja dublowanie, staje się serwer duplikatu i jego bazy danych staje się duplikat bazy danych.

Alternatywne dublowanie bazy danych konfiguracji oferują różne poziomy wydajności i bezpieczeństwa danych i obsługuje różne formy pracy awaryjnej.Aby uzyskać więcej informacji, zobacz Omówienie dublowania bazy danych.

Jest możliwe używać alias, określając nazwę duplikat bazy danych.

Ostrzeżenie

Informacje dla prób połączenia początkowego i ponowne próby dublowanego bazy danych, zobacz Łączenie klientów z bazy danych, dublowanie sesji (SQL Server).

Zagadnienia dotyczące programowania

Gdy dublowana baza danych serwer ulegnie awarii, aplikacja klient odbiera błędy w odpowiedzi na wywołania interfejsu API, które wskazują, że utracono połączenie z bazą danych.W takim przypadku zostaną utracone wszystkie nieprzekazane zmiany w bazie danych, a bieżąca transakcja jest cofana.W takim przypadku wniosek należy zamknąć połączenie (lub zwolnić dane obiekt źródłowy) i ponownie je Otwórz.Połączenie jest przezroczysty uważały do duplikat bazy danych, która teraz działa jako serwer dublowany.

Po ustanowieniu połączenia serwer dublowany wysyła tożsamości partner pracy awaryjnej klient ma być używany w czasie pracy awaryjnej.Gdy aplikacja próbowała do ustanowienia połączenia po serwer dublowany nie powiodło się, klient nie zna tożsamości partner pracy awaryjnej.Aby umożliwić klientom możliwość radzenia sobie z tego scenariusza, właściwości inicjujące i skojarzone połączenia ciąg kluczowe pozwalają klientowi określić tożsamości partner pracy awaryjnej na własny.Atrybut klient jest używany tylko w tej sytuacji; Jeśli dostępny jest serwer dublowany, nie służy.Jeśli serwer partnera pracy awaryjnej, dostarczonych przez klient nie odnosi się do serwera, działając jako partner pracy awaryjnej, połączenie jest odrzucony przez serwer.Aby zezwolić aplikacjom na dostosowanie się do zmian konfiguracja, można ustalić tożsamości partner rzeczywistej pracy awaryjnej przez kontrolę atrybut po ustanowieniu połączenia.Należy rozważyć buforowanie informacji partner, aby zaktualizować połączenie ciąg lub opracować strategię ponawiania w przypadku, gdy pierwsza próba połączenia nie powiedzie się.

Ostrzeżenie

Należy jawnie określić bazy danych używane przez połączenie, jeśli chcesz używać tej funkcji w DSN, połączenia ciąg, lub atrybut właściwość połączenia.SQL Server Native Client nie będzie próbował pracy awaryjnej do partner bazy danych, jeśli nie zostanie to zrobione.

Dublowanie to funkcja bazy danych.Aplikacje, które używają wielu baz danych może nie móc wykorzystać tę funkcję.

Ponadto nazwy serwera są przypadek niewrażliwe, ale nazwy bazy danych są przypadek poufne.Dlatego należy upewnić się, użyj tego samego obudowy w DSN i ciągów połączenia.

Dostawca OLE DB programu SQL Server Native Client

SQL Server Macierzystego klienta OLE DB dostawca obsługuje dublowanie bazy danych przez połączenie i połączenie ciąg atrybutów.Właściwość SSPROP_INIT_FAILOVERPARTNER został dodany do zestaw właściwości DBPROPSET_SQLSERVERDBINIT i FailoverPartner słowo kluczowe jest nowe połączenie ciąg atrybut DBPROP_INIT_PROVIDERciąg.Aby uzyskać więcej informacji, zobacz Słowa kluczowe ciąg połączenia przy użyciu programu SQL Server Native Client.

Pamięć podręczna pracy awaryjnej jest utrzymywane tak długo, jak jest ładowany dostawca, która jest do CoUninitialize jest nazywany lub tak długo, jak aplikacja odwołuje się do jakiegoś obiektu zarządzanego przez SQL Server macierzystego klienta dostawca OLE DB takie jak dane obiekt źródłowy.

Szczegółowe informacje na temat SQL Server macierzystego klienta OLE DB dostawca obsługi dublowanie bazy danych, zobacz Inicjowanie i właściwości autoryzacji.

Sterownik ODBC macierzystym klienta SQL Server

SQL Server Obsługuje sterownik ODBC macierzystym klienta dublowanie bazy danych przez połączenie i połączenie ciąg atrybutów.W szczególności atrybut SQL_COPT_SS_FAILOVER_PARTNER został dodany do użytku z Procedura SQLSetConnectAttr i SQLGetConnectAttr funkcje; i Failover_Partner słowo kluczowe zostało dodane jako nowe połączenie ciąg atrybut.

Pamięć podręczna pracy awaryjnej jest przechowywana jak aplikacja ma co najmniej jeden przydzielono dojście środowiska.Natomiast jest tracona po dealokowaniu ostatniego dojścia.

Ostrzeżenie

Menedżer sterownika ODBC zostało rozszerzone do obsługi specyfikacja nazwa serwera pracy awaryjnej.