Udostępnij za pośrednictwem


Troubleshooting Database Mirroring Deployment

W tym temacie przedstawiono informacje pomocne w rozwiązywaniu problemów w procesie konfigurowania dublowanie bazy danych sesja.

Uwaga

Upewnij się, że są wszystkie spotkania wymagania wstępne dotyczące dublowanie bazy danych.

Problem

Podsumowanie

Konta

W tym artykule omówiono wymagania dotyczące poprawnie konfigurowania kont, na których SQL Server jest uruchomiony.

Punkty końcowe

W tym artykule omówiono wymagania dotyczące konfigurowania poprawnie dublowanie bazy danych punktem końcowym każdej instancji serwera.

Adres systemu

Podsumowanie rozwiązań alternatywnych do określenia nazwy systemu wystąpienia serwera w dublowanie bazy danych konfiguracja.

Dostęp do sieci

Dokumenty wymaganie, że każde wystąpienie serwera będą mogli uzyskać dostępu do portów inne wystąpienie serwera lub wystąpień za pośrednictwem protokołu TCP.

Dublowanie przygotowanie bazy danych

Podsumowanie wymagania dotyczące przygotowywania lustrzana baza danych włączyć dublowanie do uruchomienia.

Operacji nie powiodło się tworzenie pliku

Zawiera opis sposobu odpowiedzi na działanie nie powiodło się utworzenie pliku.

Uruchamianie dublowanie)Transact-SQL)

Describes the required order for ALTER DATABASE database_name SET PARTNER ='partner_server' statements.

Konta

Konta, pod którym SQL Server to działanie musi być poprawnie skonfigurowany.

  1. Czy na kontach mają odpowiednie uprawnienia?

    1. Jeśli w tych samych kont domena są uruchomione konta, szanse błąd konfiguracji są redukowane.

    2. Konta są uruchomione w różnych domenach lub nie są konta domen, identyfikator logowania z jednego konta musi zostać utworzony w wzorzec na innym komputerze, a tego identyfikatora logowania musi mieć uprawnienia CONNECT dla punktu końcowego.Aby uzyskać więcej informacji zobaczManaging Metadata When Making a Database Available on Another Server Instance.Obejmuje to konto Usługa sieciowa.

  2. Jeśli SQL Server działa jako usługa, która korzysta z lokalnego konta systemowego, należy użyć certyfikatów do uwierzytelnianie. Aby uzyskać więcej informacji zobaczUsing Certificates for Database Mirroring.

Punkty końcowe

Punkty końcowe muszą być prawidłowo skonfigurowane.

  1. Upewnij się, że każde wystąpienie serwera (serwer główny, serwer dublowany i dowód, jeśli istnieje) bazy danych dublowanie punktu końcowego.Aby uzyskać więcej informacji zobacz sys.database_mirroring_endpoints (języka Transact-SQL) oraz, w zależności od formy uwierzytelnienia, albo How to: Create a Mirroring Endpoint for Windows Authentication (Transact-SQL) lub How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL).

  2. Sprawdź, czy numery portów są poprawne.

    Aby zidentyfikować port, aktualnie skojarzonych z dublowanie bazy danych punktu końcowego w wystąpieniu serwera, należy użyć następujących wpisów Transact-SQL Instrukcja.

    SELECT type_desc, port FROM sys.tcp_endpoints;
    GO
    
  3. Problemy z instalacją, które są trudne do wyjaśnienia dublowanie bazy danych zaleca się, aby sprawdzić pod każde wystąpienie serwera, aby ustalić, czy nasłuchuje właściwych portów.Aby uzyskać informacje na temat sprawdzania dostępności portów Zobacz MSSQLSERVER_1418.

  4. Upewnij się, czy są uruchomione punkty końcowe (STATE = uruchomiono).Na każdym serwerze wystąpienie, należy użyć następujących wpisów Transact-SQL Instrukcja.

    SELECT state_desc FROM sys.database_mirroring_endpoints
    

    Aby uzyskać więcej informacji na temat state_desc patrz kolumniesys.database_mirroring_endpoints (języka Transact-SQL).

    Aby rozpocząć punktu końcowego, użyj następujących Transact-SQL Instrukcja.

    ALTER ENDPOINT Endpoint_Mirroring 
    STATE = STARTED 
    AS TCP (LISTENER_PORT = <port_number>)
    FOR database_mirroring (ROLE = ALL);
    GO
    

    Aby uzyskać więcej informacji zobaczALTER ENDPOINT (Transact-SQL).

  5. Sprawdź, czy rola jest poprawna.Na każdym serwerze wystąpienie należy użyć następujących wpisów Transact-SQL Instrukcja.

    SELECT role FROM sys.database_mirroring_endpoints;
    GO
    

    Aby uzyskać więcej informacji zobaczsys.database_mirroring_endpoints (języka Transact-SQL).

  6. Upewnij się, że logowanie z innego serwera ma uprawnienie CONNECT.Aby określić, kto ma CONNECT Użyj następujących uprawnień dla punktu końcowego w każdym wystąpieniu serwera Transact-SQL Instrukcja.

    SELECT 'Metadata Check';
    SELECT EP.name, SP.STATE, 
       CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) 
          AS GRANTOR, 
       SP.TYPE AS PERMISSION,
       CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) 
          AS GRANTEE 
       FROM sys.server_permissions SP , sys.endpoints EP
       WHERE SP.major_id = EP.endpoint_id
       ORDER BY Permission,grantor, grantee; 
    GO
    

Adres systemu

Nazwy systemu wystąpienie serwera dublowanie konfiguracja bazy danych można użyć dowolną nazwę, która jednoznacznie identyfikuje system.Adres serwera może być nazwę systemu (Jeśli te systemy są w tej samej domenie), w pełni kwalifikowanej nazwy domena lub adres IP (najlepiej statycznego adresu IP).Przy użyciu w pełni kwalifikowana nazwa domena jest gwarantowane, że do pracy.Aby uzyskać więcej informacji zobaczSpecifying a Server Network Address (Database Mirroring).

Dostęp do sieci

Każde wystąpienie serwera musi mieć możliwość dostępu za pośrednictwem portu TCP porty inne wystąpienie serwera lub wystąpień.Jest to szczególnie ważne w przypadku wystąpienia serwera znajdują się w innych domenach, które nie ufają sobie wzajemnie (domen niezaufanych).Ogranicza to część komunikacji między wystąpieniami serwera.

Dublowanie przygotowania bazy danych

Czy uruchomienie dublowanie dla pierwszego czas lub go uruchomić ponownie po dublowanie został usunięty, sprawdź, czy lustrzana baza danych jest przygotowany do dublowania.

Po utworzeniu lustrzana baza danych serwer dublowany, upewnij się, że użytkownik przywracanie główna baza danych, określanie bazy danych o takiej samej nazwie NORECOVERY Z kopia zapasowa.Ponadto wszystkie kopie zapasowe dziennika utworzone po tej kopia zapasowa należy również zastosować, ponownie WITH NORECOVERY.

Firma Microsoft zaleca także, jeśli jest to możliwe, ścieżka lustrzana baza danych (łącznie z literą dysku) być taka sama, jak ścieżka główna baza danych.Jeśli układy plik musi się różnić, na przykład, jeżeli główna baza danych znajduje się na dysku "F:" Jednak system dublowania brakuje F: dysk, należy dodać opcję MOVE w instrukcja przywracanie.

Important noteImportant Note:

Jeśli przenosisz pliki bazy danych podczas tworzenia lustrzana baza danych, może być nie można dodać pliki później do bazy danych bez dublowanie jest zawieszona.

Jeżeli dublowanie bazy danych został zatrzymany, wszystkie kolejne dziennika kopii zapasowych główna baza danych należy zastosować do lustrzana baza danych przed dublowanie może zostać uruchomiony ponownie.

Aby uzyskać więcej informacji zobaczHow to: Prepare a Mirror Database for Mirroring (Transact-SQL).

Operacji nie powiodło się tworzenie pliku

Dodanie pliku bez wpływ na sesja dublowanie, wymaga istnienia ścieżka pliku, na obu serwerach.W związku z tym po przeniesieniu plików bazy danych podczas tworzenia lustrzana baza danych, później operacji dodawania pliku może się nie powieść z lustrzana baza danych i spowodować dublowanie zawieszenia.

Aby rozwiązać ten problem:

  1. Właściciel bazy danych należy usunąć dublowanie sesja i przywracanie pełna kopia zapasowa grupa plików, w której znajduje się plik dodane.

  2. Właściciel musi następnie tworzyć kopię zapasową dziennika dziennika, zawierający operacji dodawania plików serwer główny i ręcznie przywracanie tworzyć kopię zapasową dziennika dziennika lustrzana baza danych przy użyciu opcji WITH NORECOVERY i WITH MOVE.Spowoduje to powstanie ścieżka do pliku określonego w serwer dublowany i przywraca nowy plik do tej lokalizacji.

  3. Aby przygotować bazy danych do nowej sesja dublowanie, właściciel musi także przywrócić WITH NO przywrócenia wszelkie pozostałe kopie zapasowe dziennika zaległe z serwer główny.

Aby uzyskać więcej informacji zobacz Removing Database Mirroring, How to: Prepare a Mirror Database for Mirroring (Transact-SQL), Jak Ustalenie lustrzane sesja za pomocą uwierzytelnianie systemu Windows (języka Transact-SQL) bazy danych, Using Certificates for Database Mirroring, lub How to: Configure a Database Mirroring Session (SQL Server Management Studio).

Uruchamianie w modułach języka Transact-SQL)

The order in which the ALTER DATABASE database_name SET PARTNER ='partner_server' statements are issued is very important.

  1. Pierwsza instrukcja musi być uruchomiona serwer dublowany.Podczas generowania instrukcja tego serwera dublowanie nie próbuje skontaktować się z innym wystąpienie serwera.Zamiast tego serwer dublowany powoduje, że jego bazy danych dopiero po przez serwer główny ma zostać skontaktować się z serwer dublowany.

  2. Druga Instrukcja ALTER DATABASE musi być uruchomiona serwer główny.Tej instrukcja powoduje, że serwer główny próbuje połączyć się z serwer dublowany.Po utworzeniu tego połączenia jest tworzona, dublowanie następnie próbuje połączyć się z serwerem głównym na inne połączenie.

Aby uzyskać więcej informacji zobaczALTER DATABASE języka Transact-SQL).

Komunikat o błędzie 1418

To SQL Server komunikat wskazuje, że adres sieciowy serwera jest nieosiągalny lub nie istnieje, i sugerowaniu Sprawdź poprawność nazwy adresów sieciowych, a następnie ponownie polecenie. Aby uzyskać więcej informacji zobaczMSSQLSERVER_1418.

Baza danych między transakcjami

Gdy baza danych jest jest odzwierciedlana w trybie wysokiego bezpieczeństwa z automatyczna praca awaryjna, automatyczna praca awaryjna może prowadzić do rozdzielczości wątpliwych transakcji, automatyczne i prawdopodobnie niepoprawna.Jeśli automatyczna praca awaryjna zachodzi dla każdej bazy danych, a firma transakcji bazy danych między, logiczne niespójności mogą wystąpić między bazami danych.

Następujące typy transakcji w bazie danych między, które mogą mieć wpływ automatyczna praca awaryjna:

  • Transakcja, która jest aktualizowanie wielu baz danych w tym samym wystąpieniu SQL Server.

  • Transakcje, które używają Microsoft Koordynator transakcja rozproszona (MS DTC).

Aby uzyskać więcej informacji zobaczBaza danych mechanizmu i bazy danych innej transakcji.