Przygotowanie do korzystania z zawsze włączonej grupy dostępności SQL Server z Configuration Manager

Dotyczy: programu Configuration Manager (bieżąca gałąź)

Skorzystaj z tego artykułu, aby przygotować Configuration Manager do używania zawsze włączonej grupy dostępności SQL Server dla bazy danych lokacji. Ta funkcja zapewnia wysoką dostępność i rozwiązanie odzyskiwania po awarii.

Configuration Manager obsługuje używanie grup dostępności:

  • W lokacjach głównych i centralnej lokacji administracyjnej.
  • Lokalnie lub na platformie Microsoft Azure.

Jeśli używasz grup dostępności na platformie Microsoft Azure, możesz jeszcze bardziej zwiększyć dostępność bazy danych lokacji przy użyciu zestawów dostępności platformy Azure. Aby uzyskać więcej informacji na temat zestawów dostępności platformy Azure, zobacz Zarządzanie dostępnością maszyn wirtualnych.

Ważna

Przed kontynuowaniem możesz dobrze konfigurować SQL Server i grupy dostępności. Ten artykuł zawiera więcej informacji i procedur dotyczących biblioteki dokumentacji SQL Server.

Obsługiwane scenariusze

Poniższe scenariusze są obsługiwane w przypadku korzystania z grup dostępności z Configuration Manager. Aby uzyskać więcej informacji i procedur dotyczących każdego scenariusza, zobacz Konfigurowanie grup dostępności dla Configuration Manager.

Wymagania wstępne

Poniższe wymagania wstępne dotyczą wszystkich scenariuszy. Jeśli dodatkowe wymagania wstępne mają zastosowanie do określonego scenariusza, są one szczegółowo opisane w tym scenariuszu.

Configuration Manager kont i uprawnień

Konto instalacji

Konto używane do uruchamiania konfiguracji Configuration Manager musi być następujące:

  • Członek lokalnej grupy Administratorzy na każdym komputerze, który jest członkiem grupy dostępności.
  • Administrator systemu w każdym wystąpieniu SQL Server hostujący bazę danych lokacji.

Dostęp do elementu członkowskiego serwera lokacji do repliki

Konto komputera serwera lokacji musi być członkiem lokalnej grupy Administratorzy na każdym komputerze, który jest członkiem grupy dostępności.

SQL Server

Wersja

Każda replika w grupie dostępności musi uruchamiać wersję SQL Server obsługiwaną przez twoją wersję Configuration Manager. W przypadku obsługi przez SQL Server różne węzły grupy dostępności mogą uruchamiać różne wersje SQL Server. Aby uzyskać więcej informacji, zobacz Obsługiwane wersje SQL Server dla Configuration Manager.

Wersja

Użyj wersji enterprise SQL Server.

Konta

Każde wystąpienie SQL Server może być uruchamiane w ramach konta użytkownika domeny (konta usługi) lub konta innego niż domena. Każda replika w grupie może mieć inną konfigurację.

Database

Konfigurowanie bazy danych w nowej replice

Te konfiguracje należy tworzyć tylko w replice podstawowej. Aby skonfigurować replikę pomocniczą, najpierw przełącz ją w tryb failover do pomocniczej. Ta akcja powoduje, że pomocnicza replika podstawowa jest nową repliką podstawową.

Skonfiguruj bazę danych każdej repliki przy użyciu następujących ustawień:

  • Włącz integrację środowiska CLR:

    sp_configure 'show advanced options', 1;  
    GO  
    RECONFIGURE;  
    GO  
    sp_configure 'clr enabled', 1;  
    GO  
    RECONFIGURE;  
    GO
    

    Aby uzyskać więcej informacji, zobacz Integracja środowiska CLR.

  • Ustaw maksymalny rozmiar repl tekstu na 2147483647:

    EXECUTE sp_configure 'max text repl size (B)', 2147483647
    
  • Ustaw właściciela bazy danych na konto SA. Nie musisz włączać tego konta.

  • Włącz ustawienie TRUSTWORTHY:

    ALTER DATABASE [CM_xxx] SET TRUSTWORTHY ON;
    

    Aby uzyskać więcej informacji, zobacz właściwość zaufanej bazy danych.

  • Włącz brokera usług:

    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER
    

    Uwaga

    Nie można włączyć opcji Service Broker w bazie danych, która jest już częścią grupy dostępności. Musisz włączyć tę opcję przed dodaniem jej do grupy dostępności.

  • Skonfiguruj priorytet usługi Service Broker:

    ALTER DATABASE [CM_xxx] SET HONOR_BROKER_PRIORITY ON;
    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
    

Skrypt weryfikacji bazy danych

Uruchom następujący skrypt SQL, aby zweryfikować konfiguracje bazy danych zarówno dla replik podstawowych, jak i pomocniczych. Aby rozwiązać problem z repliką pomocniczą, zmień tę replikę pomocniczą na replikę podstawową.

    SET NOCOUNT ON

    DECLARE @dbname NVARCHAR(128)

    SELECT @dbname = sd.name FROM sys.sysdatabases sd WHERE sd.dbid = DB_ID()

    IF (@dbname = N'master' OR @dbname = N'model' OR @dbname = N'msdb' OR @dbname = N'tempdb' OR @dbname = N'distribution' ) BEGIN
    RAISERROR(N'ERROR: Script is targeting a system database.  It should be targeting the DB you created instead.', 0, 1)
    GOTO Branch_Exit;
    END ELSE
    PRINT N'INFO: Targeted database is ' + @dbname + N'.'

    PRINT N'INFO: Running verifications....'

    IF NOT EXISTS (SELECT * FROM sys.configurations c WHERE c.name = 'clr enabled' AND c.value_in_use = 1)
    PRINT N'ERROR: CLR is not enabled!'
    ELSE
    PRINT N'PASS: CLR is enabled.'

    DECLARE @repltable TABLE (
    name nvarchar(max),
    minimum int,
    maximum int,
    config_value int,
    run_value int )

    INSERT INTO @repltable
    EXEC sp_configure 'max text repl size (B)'

    IF NOT EXISTS(SELECT * from @repltable where config_value = 2147483647 and run_value = 2147483647 )
    PRINT N'ERROR: Max text repl size is not correct!'
    ELSE
    PRINT N'PASS: Max text repl size is correct.'

    IF NOT EXISTS (SELECT db.owner_sid FROM sys.databases db WHERE db.database_id = DB_ID() AND db.owner_sid = 0x01)
    PRINT N'ERROR: Database owner is not sa account!'
    ELSE
    PRINT N'PASS: Database owner is sa account.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_trustworthy_on = 1 )
    PRINT N'ERROR: Trustworthy bit is not on!'
    ELSE
    PRINT N'PASS: Trustworthy bit is on.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_broker_enabled = 1 )
    PRINT N'ERROR: Service broker is not enabled!'
    ELSE
    PRINT N'PASS: Service broker is enabled.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_honor_broker_priority_on = 1 )
    PRINT N'ERROR: Service broker priority is not set!'
    ELSE
    PRINT N'PASS: Service broker priority is set.'

    PRINT N'Done!'

    Branch_Exit:

Konfiguracje grupy dostępności

Elementy członkowskie repliki

Configuration Manager nie weryfikuje stanu repliki asynchronicznego zatwierdzenia, aby potwierdzić, że jest aktualna. Użycie repliki asynchronicznego zatwierdzenia, ponieważ baza danych lokacji może narazić integralność lokacji i danych na ryzyko. Ta replika może być domyślnie niezsynchronizowana. Aby uzyskać więcej informacji, zobacz Omówienie zawsze włączonych grup dostępności SQL Server.

Każdy element członkowski repliki musi mieć następującą konfigurację:

  • Użyj wystąpienia domyślnego lub nazwanego wystąpienia.

    Uwaga

    Nie masz udziału plików na serwerze o takiej samej nazwie jak nazwa wystąpienia SQL Server.

  • Ustawienie Połączenia w roli podstawowej to Zezwalaj na wszystkie połączenia.

  • Ustawienie Pomocnicze możliwe do odczytu to Tak.

  • Włączono ręczne przełączanie w tryb failover

    Uwaga

    Configuration Manager obsługuje używanie replik synchronicznych grupy dostępności po ustawieniu opcji Automatyczna praca w trybie failover. Ustaw ręczne przełączanie w tryb failover , gdy:

    • Uruchom Configuration Manager instalatora, aby określić użycie bazy danych lokacji w grupie dostępności.
    • Aby Configuration Manager, należy zainstalować dowolną aktualizację. (Nie tylko aktualizacje, które mają zastosowanie do bazy danych lokacji).
  • Wszyscy członkowie potrzebują tego samego trybu rozsiewania.Configuration Manager konfiguracja obejmuje sprawdzenie wymagań wstępnych w celu zweryfikowania tej konfiguracji podczas tworzenia bazy danych za pomocą instalacji lub odzyskiwania.

    Uwaga

    Podczas instalacji tworzy bazę danych i konfigurujesz automatyczne inicjowanie, grupa dostępności musi mieć uprawnienia do tworzenia bazy danych. To wymaganie dotyczy zarówno nowej bazy danych, jak i odzyskiwania. Aby uzyskać więcej informacji, zobacz Automatyczne rozsiewanie repliki pomocniczej.

Lokalizacja elementu członkowskiego repliki

Hostuj wszystkie repliki w lokalnej grupie dostępności lub hostuj je wszystkie na Microsoft platformie Azure. Grupa obejmująca członka lokalnego i członka platformy Azure nie jest obsługiwana.

Uwaga

Jeśli używasz maszyny wirtualnej platformy Azure dla SQL Server, włącz pływający adres IP. Aby uzyskać więcej informacji, zobacz Konfigurowanie modułu równoważenia obciążenia dla zawsze włączonej grupy dostępności SQL Server na maszynach wirtualnych platformy Azure.

Configuration Manager konfiguracja musi łączyć się z każdą repliką. Po skonfigurowaniu grupy dostępności na platformie Azure, a grupa znajduje się za wewnętrznym lub zewnętrznym modułem równoważenia obciążenia, otwórz następujące porty domyślne:

  • Mapowany punkt końcowy RPC: TCP 135

  • SQL Server Service Broker: TCP 4022

  • SQL za pośrednictwem protokołu TCP: TCP 1433

Po zakończeniu instalacji te porty muszą pozostać otwarte dla analizatora linków Configuration Manager i replikacji.

Dla tych konfiguracji można użyć portów niestandardowych. Użyj tych samych portów niestandardowych przez punkt końcowy i na wszystkich replikach w grupie dostępności.

Aby SQL Server replikować dane między lokacjami, utwórz regułę równoważenia obciążenia dla każdego portu w module równoważenia obciążenia platformy Azure. Aby uzyskać więcej informacji, zobacz Konfigurowanie portów wysokiej dostępności dla wewnętrznego modułu równoważenia obciążenia.

Odbiornika

Grupa dostępności musi mieć co najmniej jeden odbiornik grupy dostępności. Podczas konfigurowania Configuration Manager do korzystania z bazy danych lokacji w grupie dostępności jest używana nazwa wirtualna tego odbiornika. Mimo że grupa dostępności może zawierać wiele odbiorników, Configuration Manager może korzystać tylko z jednego. Aby uzyskać więcej informacji, zobacz Tworzenie lub konfigurowanie odbiornika grupy dostępności SQL Server.

Ścieżki plików

Po uruchomieniu Configuration Manager konfiguracji w celu skonfigurowania lokacji do korzystania z bazy danych w grupie dostępności każdy serwer repliki dodatkowej musi mieć ścieżkę pliku SQL Server identyczną ze ścieżką pliku dla plików bazy danych lokacji w bieżącej replice podstawowej. Jeśli identyczna ścieżka nie istnieje, instalator nie może dodać wystąpienia dla grupy dostępności jako nowej lokalizacji bazy danych lokacji.

Lokalne konto usługi SQL Server musi mieć uprawnienie pełnej kontroli do tego folderu.

Serwery repliki pomocniczej wymagają tej ścieżki pliku tylko wtedy, gdy używasz Configuration Manager konfiguracji, aby określić wystąpienie bazy danych w grupie dostępności. Po zakończeniu konfiguracji bazy danych lokacji w grupie dostępności można usunąć nieużywaną ścieżkę z replik pomocniczych.

Na przykład rozpatrzmy następujący scenariusz.

  • Tworzysz grupę dostępności, która używa trzech serwerów SQL.

  • Serwer repliki podstawowej to nowa instalacja SQL Server 2014 roku. Domyślnie pliki MDF i LDF bazy danych są przechowywane w systemie C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA.

  • Oba serwery repliki pomocniczej zostały uaktualnione do SQL Server 2014 r. z poprzednich wersji. Po uaktualnieniu te serwery zachowują oryginalną ścieżkę pliku do przechowywania plików bazy danych: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.

  • Przed przeniesieniem bazy danych lokacji do tej grupy dostępności na każdym serwerze repliki dodatkowej utwórz następującą ścieżkę pliku: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA. Ta ścieżka jest duplikatem ścieżki używanej w replice podstawowej, nawet jeśli repliki pomocnicze nie będą używać tej lokalizacji pliku.

  • Następnie przyznaj kontu usługi SQL Server dla każdej repliki pomocniczej pełny dostęp kontroli do nowo utworzonej lokalizacji pliku na tym serwerze.

  • Teraz można pomyślnie uruchomić Configuration Manager konfiguracji, aby skonfigurować lokację do korzystania z bazy danych lokacji w grupie dostępności.

Tryb failover w wielu podsieciach

W SQL Server możesz włączyć słowo kluczowe parametrów połączenia MultiSubnetFailover. Należy również ręcznie dodać następujące wartości do rejestru systemu Windows na serwerze lokacji:

HKLM:\SOFTWARE\Microsoft\SMS\Identification
HKLM:\SOFTWARE\Microsoft\SMS\SQL Server

MSF Enabled : 1 (DWORD)

Ostrzeżenie

Korzystanie z wysokiej dostępności serwera lokacji i SQL Server zawsze włączonych grup dostępności z trybem failover z wieloma podsieciami nie zapewnia pełnych możliwości automatycznego przełączania w tryb failover w scenariuszach odzyskiwania po awarii.

Jeśli musisz utworzyć grupę dostępności z elementem członkowskim w lokalizacji zdalnej, nadaj priorytet na podstawie najmniejszego opóźnienia sieci. Duże opóźnienie sieci może powodować błędy replikacji.

Ograniczenia i znane problemy

Poniższe ograniczenia dotyczą wszystkich scenariuszy.

Nieobsługiwany SQL Server opcje i konfiguracje

  • Podstawowe grupy dostępności: wprowadzono w wersji standardowej SQL Server 2016, podstawowe grupy dostępności nie obsługują dostępu do odczytu do replik pomocniczych. Konfiguracja wymaga tego dostępu. Aby uzyskać więcej informacji, zobacz Podstawowe grupy dostępności SQL Server.

  • Wystąpienie klastra trybu failover: wystąpienia klastra trybu failover nie są obsługiwane dla repliki używanej z Configuration Manager. Aby uzyskać więcej informacji, zobacz SQL Server Zawsze włączone wystąpienia klastra trybu failover.

Serwery SQL, które hostują dodatkowe grupy dostępności

Gdy SQL Server hostuje co najmniej jedną grupę dostępności oprócz grupy używanej do Configuration Manager, potrzebne są określone ustawienia podczas uruchamiania konfiguracji Configuration Manager. Te ustawienia są również potrzebne do zainstalowania aktualizacji dla Configuration Manager. Każda replika w każdej grupie dostępności musi mieć następujące konfiguracje:

  • Ręczne przełączanie w tryb failover

  • Zezwalaj na dowolne połączenie tylko do odczytu

Uwaga

Configuration Manager obsługuje używanie replik synchronicznych grupy dostępności po ustawieniu opcji Automatyczna praca w trybie failover. Ustaw ręczne przełączanie w tryb failover , gdy:

  • Uruchom Configuration Manager instalatora, aby określić użycie bazy danych lokacji w grupie dostępności.
  • Aby Configuration Manager, należy zainstalować dowolną aktualizację. (Nie tylko aktualizacje, które mają zastosowanie do bazy danych lokacji).

Nieobsługiwany użycie bazy danych

Configuration Manager obsługuje tylko bazę danych lokacji w grupie dostępności

Następujące bazy danych nie są obsługiwane przez Configuration Manager w grupie dostępności:

  • Baza danych raportowania

  • Baza danych programu WSUS

Istniejąca baza danych

Nie można użyć nowej bazy danych utworzonej w replice. Podczas konfigurowania grupy dostępności przywróć kopię istniejącej bazy danych Configuration Manager do repliki podstawowej.

Błędy instalacji w pliku ConfigMgrSetup.log

Po uruchomieniu Configuration Manager konfiguracji w celu przeniesienia bazy danych lokacji do grupy dostępności próbuje przetworzyć role bazy danych w replikach pomocniczych grupy dostępności. Plik ConfigMgrSetup.log pokazuje następujący błąd:

ERROR: SQL Server error: [25000][3906][Microsoft][SQL Server Native Client 11.0][SQL Server]Failed to update database "CM_AAA" because the database is read-only. Configuration Manager Setup 1/21/2016 4:54:59 PM 7344 (0x1CB0)

Te błędy można bezpiecznie zignorować.

Rozszerzanie witryny

Jeśli skonfigurujesz bazę danych lokacji dla autonomicznej lokacji głównej do korzystania z grupy dostępności, nie możesz rozwinąć lokacji w celu uwzględnienia centralnej lokacji administracyjnej. Jeśli spróbujesz wykonać ten proces, zakończy się on niepowodzeniem. Aby rozwinąć lokację, tymczasowo usuń bazę danych lokacji głównej z grupy dostępności.

Podczas dodawania lokacji dodatkowej nie trzeba wprowadzać żadnych zmian w konfiguracji.

Zmiany dotyczące kopii zapasowej lokacji

Tworzenie kopii zapasowych plików bazy danych

Gdy baza danych lokacji używa grupy dostępności, uruchom wbudowane zadanie konserwacji serwera lokacji kopii zapasowej, aby utworzyć kopię zapasową typowych ustawień Configuration Manager i plików. Nie używaj plików MDF ani LDF utworzonych przez tę kopię zapasową. Zamiast tego wykonaj bezpośrednie kopie zapasowe tych plików bazy danych przy użyciu SQL Server.

Nadal można użyć kopii zapasowej SQL Server, ale nie można przywrócić jej bezpośrednio do klastra SQL Server Zawsze włączone. Musisz przywrócić go na serwerze autonomicznym i przenieść go z powrotem do SQL Server Zawsze włączone.

Dziennik transakcji

Ustaw model odzyskiwania bazy danych lokacji na pełną. Ta konfiguracja wymaga użycia Configuration Manager w grupie dostępności. Zaplanuj monitorowanie i utrzymywanie rozmiaru dziennika transakcji bazy danych lokacji. W modelu pełnego odzyskiwania transakcje nie są wzmocnione, dopóki nie zrobią pełnej kopii zapasowej bazy danych lub dziennika transakcji. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowej i przywracanie SQL Server baz danych.

Zmiany dotyczące odzyskiwania lokacji

Jeśli co najmniej jeden węzeł grupy dostępności nadal działa, użyj opcji odzyskiwania lokacji, aby pominąć odzyskiwanie bazy danych (użyj tej opcji, jeśli baza danych lokacji nie miała wpływu).

Usługa Site Recovery może ponownie utworzyć bazę danych w grupie dostępności. Ten proces działa zarówno z ręcznym, jak i automatycznym rozsiewaniem.

Porada

Po uruchomieniu kreatora konfiguracji/odzyskiwania strona Nowa baza danych grupy dostępności ma zastosowanie tylko do konfiguracji ręcznego inicjowania. W przypadku automatycznego rozsiewania nie ma udostępnionej kopii zapasowej bazy danych, więc ta strona kreatora nie jest wyświetlana.

Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowych i odzyskiwanie.

Zmiany dotyczące raportowania

Instalowanie punktu usługi raportowania

Punkt usług raportowania nie obsługuje używania wirtualnej nazwy odbiornika grupy dostępności. Nie obsługuje również hostowania bazy danych w grupie dostępności.

  • Domyślnie instalacja punktu usług raportowania ustawia nazwę serwera bazy danych lokacji na nazwę wirtualną określoną jako odbiornik. Zmień to ustawienie, aby określić nazwę komputera i wystąpienie repliki w grupie dostępności.

  • Aby odciążyć raportowanie i zwiększyć dostępność, gdy węzeł repliki jest w trybie offline, rozważ zainstalowanie dodatkowych punktów usług raportowania w każdym węźle repliki. Następnie skonfiguruj każdy punkt usług raportowania, aby używał własnej nazwy komputera. Podczas instalowania punktu usługi raportowania w każdej replice grupy dostępności raportowanie zawsze może łączyć się z aktywnym serwerem punktów raportowania.

Przełączanie punktu usług raportowania używanego przez konsolę

  1. W konsoli Configuration Manager przejdź do obszaru roboczego Monitorowanie, rozwiń węzeł Raportowanie i wybierz węzeł Raporty.

  2. Na wstążce wybierz pozycję Opcje raportu.

  3. W oknie dialogowym Opcje raportu wybierz punkt usług raportowania, którego chcesz użyć.

Następne kroki

W tym artykule opisano wymagania wstępne, ograniczenia i zmiany typowych zadań, które Configuration Manager wymagane podczas korzystania z grup dostępności. Aby zapoznać się z procedurami konfigurowania i konfigurowania witryny pod kątem korzystania z grup dostępności, zobacz Konfigurowanie grup dostępności.