How to: Add a Database Mirroring Witness Using Windows Authentication (Transact-SQL)
Aby zestaw się dowód dla bazy danych, właściciel bazy danych przypisuje rolę serwer monitora wystąpienie aparat bazy danych.Dowód wystąpienie serwera można uruchomić na tym samym komputerze co wystąpienie serwera głównego lub dublowania, ale znacznie zmniejsza to niezawodności automatyczna praca awaryjna.
Zaleca się, że dowód znajdują się na innym komputerze.Dany serwer może uczestniczyć w wielu dublowanie sesje z tych samych lub różnych partnerów jednocześnie bazy danych.Dany serwer może być partner w niektórych sesji i dowód w innych sesji.
Dowód jest przeznaczona wyłącznie w trybie wysokiego bezpieczeństwa z automatyczna praca awaryjna.Przed ustawieniem świadka stanowczo zaleca się upewnić, że właściwość bezpieczeństwa jest aktualnie ustawiona na FULL.
Important Note: |
---|
Firma Microsoft zaleca, aby skonfigurować dublowanie bazy danych poza godzinami szczytu, ponieważ konfiguracja może mieć wpływ na wydajność. |
Aby ustanowić świadka
serwer monitora wystąpienie, upewnij się, że punkt końcowy istnieje dla dublowanie bazy danych.Niezależnie od liczby dublowanie sesja jest obsługiwany, wystąpienie serwera musi mieć tylko jeden dublowanie bazy danych punktu końcowego.Jeżeli zamierzasz korzystać z tego wystąpienie serwera wyłącznie jako dowód w dublowanie bazy danych sesje, przypisywanie roli dowód do punktu końcowego (ROLE**=**DOWÓD).Jeżeli zamierzasz korzystać z tego wystąpienie serwera jako partnera w jednej lub kilku innych dublowanie bazy danych sesje, przypisywanie roli punktu końcowego jako ALL.
Aby wykonać instrukcję zestaw dowód, dublowanie bazy danych sesja już musi być uruchomiona (między partnerami) i stan końcowy dowód, należy ustawić uruchomiono.
Aby dowiedzieć się, czy wystąpienie serwer monitora ma jego dublowanie bazy danych punktu końcowego oraz aby dowiedzieć się, jego rolę i stan, w takim przypadku należy użyć następującej instrukcja języka Transact-SQL:
SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints
Important Note: Jeśli punkt końcowy dublowanie bazy danych istnieje i jest już używany, zaleca się używać tego punktu końcowego dla każdej sesja w wystąpieniu serwera.Usunięcie punktu końcowego w użyciu disrupts połączenia z istniejącymi sesjami.Świadka został ustawiony dla sesja, porzucanie dublowanie bazy danych punkt końcowy może spowodować głównego serwera tej sesja utraty kworum; jeśli występuje, baza danych jest przełączony w tryb offline i jej użytkowników są odłączone.Aby uzyskać więcej informacji zobaczQuorum: How a Witness Affects Database Availability.
Jeśli dowód brakuje punktu końcowego, zobacz How to: Create a Mirroring Endpoint for Windows Authentication (Transact-SQL).
Jeśli partner wystąpienie s uruchomionych na kontach użytkowników innej domeny, należy utworzyć identyfikator logowania dla różnych kont w głównej bazie danych każdego wystąpienie.Aby uzyskać więcej informacji zobaczHow to: Allow Database Mirroring Network Access Using Windows Authentication (Transact-SQL).
Połączyć się z serwerem głównym i wydawania następującą instrukcję:
ALTER DATABASE <database_name> SET WITNESS =<server_network_address>
gdzie <nazwa_bazy_danych> jest to nazwa bazy danych można dublować (Ta nazwa jest taka sama na obu partnerów), a <server_network_address> jest to adres sieci serwer monitora wystąpienie serwera.
Składnia adresu sieciowego serwera jest w następujący sposób:
TCP**://<adres systemu >: port**< >
gdzie <adres systemu> to ciąg, który jednoznacznie identyfikuje komputer obiekt docelowy, a <Port> numer portu jest używany przez punkt końcowy dublowanie wystąpienie serwera partner. Aby uzyskać więcej informacji zobaczSpecifying a Server Network Address (Database Mirroring).
Na przykład następująca instrukcja ALTER DATABASE w wystąpieniu serwer główny ustawia dowód.Nazwa bazy danych jest AdventureWorks, adres systemu jest DBSERVER3 — Nazwa systemu dowód i port używany przez bazę danych, dublowanie końcowy dowód jest 7022:
ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://DBSERVER3:7022'
Example
W poniższym przykładzie ustanawia dublowanie dowód danych.W wystąpieniu serwer monitora (domyślnego wystąpienie na WITNESSHOST4):
Tworzenie punktu końcowego dla tego wystąpienie serwera do roli dowód tylko przy użyciu portu 7022.
CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=7022) FOR DATABASE_MIRRORING (ROLE=WITNESS) GO
Utworzyć identyfikator logowania dla konta użytkownika domena partner wystąpień, jeżeli jest inny, na przykład, załóżmy, że dowód działa jako SOMEDOMAIN\witnessuser, ale partner działają jako MYDOMAIN\dbousername. Utwórz identyfikator logowania dla partnerów, w następujący sposób:
--Create a login for the partner server instances, --which are both running as MYDOMAIN\dbousername: USE master ; GO CREATE LOGIN [MYDOMAIN\dbousername] FROM WINDOWS ; GO --Grant connect permissions on endpoint to login account --of partners GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MYDOMAIN\dbousername]; GO
Na każdym z wystąpień serwera partner należy utworzyć identyfikator logowania dla danego wystąpienie serwer monitora:
--Create a login for the witness server instance, --which is running as SOMEDOMAIN\witnessuser: USE master ; GO CREATE LOGIN [SOMEDOMAIN\witnessuser] FROM WINDOWS ; GO --Grant connect permissions on endpoint to login account --of partners GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SOMEDOMAIN\witnessuser]; GO
serwer główny należy ustawić dowód, (który znajduje się na WITNESSHOST4):
ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://WITNESSHOST4:7022' GO
Uwaga
Adres sieciowy serwera wskazuje wystąpienie serwer miejsce docelowe przez numer portu, który jest mapowany do dublowanie punktu końcowego wystąpienia.
Na przykład pełną, wyświetlanie ustawienia zabezpieczeń, przygotowywanie lustrzana baza danych zobacz Konfigurowanie partnerów oraz dodanie dowód, Setting Up Database Mirroring.
See Also