Udostępnij za pośrednictwem


ALTER AVAILABILITY GROUP (Transact-SQL)

Dotyczy:programu SQL Server

Zmienia istniejącą zawsze włączoną grupę dostępności w programie SQL Server. Większość argumentów ALTER AVAILABILITY GROUP jest obsługiwana tylko w bieżącej repliki podstawowej. Jednak argumenty JOIN, FAILOVER i FORCE_FAILOVER_ALLOW_DATA_LOSS są obsługiwane tylko w replikach pomocniczych.

Transact-SQL konwencje składni

Składnia

  
ALTER AVAILABILITY GROUP group_name   
  {  
     SET ( <set_option_spec> )   
   | ADD DATABASE database_name   
   | REMOVE DATABASE database_name  
   | ADD REPLICA ON <add_replica_spec>   
   | MODIFY REPLICA ON <modify_replica_spec>  
   | REMOVE REPLICA ON <server_instance>  
   | JOIN  
   | JOIN AVAILABILITY GROUP ON <add_availability_group_spec> [ ,...2 ]  
   | MODIFY AVAILABILITY GROUP ON <modify_availability_group_spec> [ ,...2 ]  
   | GRANT CREATE ANY DATABASE  
   | DENY CREATE ANY DATABASE  
   | FAILOVER  
   | FORCE_FAILOVER_ALLOW_DATA_LOSS   
   | ADD LISTENER 'dns_name' ( <add_listener_option> )  
   | MODIFY LISTENER 'dns_name' ( <modify_listener_option> )  
   | RESTART LISTENER 'dns_name'  
   | REMOVE LISTENER 'dns_name'  
   | OFFLINE  
  }  
[ ; ]  
  
<set_option_spec> ::=   
    AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }  
  | FAILURE_CONDITION_LEVEL  = { 1 | 2 | 3 | 4 | 5 }   
  | HEALTH_CHECK_TIMEOUT = milliseconds  
  | DB_FAILOVER  = { ON | OFF }   
  | DTC_SUPPORT  = { PER_DB | NONE }  
  | REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = { integer }
  | ROLE = SECONDARY
  
<server_instance> ::=   
 { 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }  
  
<add_replica_spec>::=  
  <server_instance> WITH  
    (  
       ENDPOINT_URL = 'TCP://system-address:port',  
       AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY },  
       FAILOVER_MODE = { AUTOMATIC | MANUAL }   
       [ , <add_replica_option> [ ,...n ] ]  
    )   
  
  <add_replica_option>::=  
       SEEDING_MODE = { AUTOMATIC | MANUAL }  
     | BACKUP_PRIORITY = n  
     | SECONDARY_ROLE ( {   
            [ ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } ]   
        [,] [ READ_ONLY_ROUTING_URL = 'TCP://system-address:port' ]  
     } )  
     | PRIMARY_ROLE ( {   
            [ ALLOW_CONNECTIONS = { READ_WRITE | ALL } ]   
        [,] [ READ_ONLY_ROUTING_LIST = { ( '<server_instance>' [ ,...n ] ) | NONE } ]  
        [,] [ READ_WRITE_ROUTING_URL = 'TCP://system-address:port' ]
     } )  
     | SESSION_TIMEOUT = integer
  
<modify_replica_spec>::=  
  <server_instance> WITH  
    (    
       ENDPOINT_URL = 'TCP://system-address:port'   
     | AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }   
     | FAILOVER_MODE = { AUTOMATIC | MANUAL }   
     | SEEDING_MODE = { AUTOMATIC | MANUAL }   
     | BACKUP_PRIORITY = n  
     | SECONDARY_ROLE ( {   
          ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL }   
        | READ_ONLY_ROUTING_URL = 'TCP://system-address:port'   
          } )  
     | PRIMARY_ROLE ( {   
          ALLOW_CONNECTIONS = { READ_WRITE | ALL }   
        | READ_ONLY_ROUTING_LIST = { ( '<server_instance>' [ ,...n ] ) | NONE }  
        | READ_WRITE_ROUTING_URL = 'TCP://system-address:port' 
          } )  
     | SESSION_TIMEOUT = seconds  
    )   
  
<add_availability_group_spec>::=  
 <ag_name> WITH  
    (  
       LISTENER_URL = 'TCP://system-address:port',  
       AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT },  
       FAILOVER_MODE = MANUAL,  
       SEEDING_MODE = { AUTOMATIC | MANUAL }  
    )  
  
<modify_availability_group_spec>::=  
 <ag_name> WITH  
    (  
       LISTENER = 'TCP://system-address:port'  
       | AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }  
       | SEEDING_MODE = { AUTOMATIC | MANUAL }  
    )  
  
<add_listener_option> ::=  
   {  
      WITH DHCP [ ON ( <network_subnet_option> ) ]  
    | WITH IP ( { ( <ip_address_option> ) } [ , ...n ] ) [ , PORT = listener_port ]  
   }  
  
  <network_subnet_option> ::=  
     'ipv4_address', 'ipv4_mask'    
  
  <ip_address_option> ::=  
     {   
        'four_part_ipv4_address', 'four_part_ipv4_mask'  
      | 'ipv6_address'  
     }  
  
<modify_listener_option>::=  
    {  
       ADD IP ( <ip_address_option> )   
     | PORT = listener_port  
    }  
  

Argumenty

group_name

Określa nazwę nowej grupy dostępności. group_name musi być prawidłowym identyfikatorem programu SQL Server i musi być unikatowy we wszystkich grupach dostępności w klastrze WSFC.

AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| POMOCNICZA | BRAK }

Określa preferencję dotyczącą sposobu, w jaki zadanie tworzenia kopii zapasowej powinno ocenić replikę podstawową podczas wybierania miejsca wykonywania kopii zapasowych. Możesz utworzyć skrypt dla danego zadania tworzenia kopii zapasowej, aby uwzględnić preferencje automatycznego tworzenia kopii zapasowej. Ważne jest, aby zrozumieć, że preferencje nie są wymuszane przez program SQL Server, więc nie ma to wpływu na kopie zapasowe ad hoc.

Obsługiwane tylko w repliki podstawowej.

Wartości są następujące:

PODSTAWOWY

Określa, że kopie zapasowe powinny zawsze występować w repliki podstawowej. Ta opcja jest przydatna, jeśli potrzebujesz funkcji tworzenia kopii zapasowych, takich jak tworzenie różnicowych kopii zapasowych, które nie są obsługiwane, gdy kopia zapasowa jest uruchamiana w repliki pomocniczej.

Ważny

Jeśli planujesz użyć wysyłania dzienników w celu przygotowania pomocniczych baz danych dla grupy dostępności, ustaw preferencję automatycznego tworzenia kopii zapasowej na podstawową do momentu przygotowania i dołączenia wszystkich pomocniczych baz danych do grupy dostępności.

SECONDARY_ONLY

Określa, że kopie zapasowe nigdy nie powinny być wykonywane na repliki podstawowej. Jeśli replika podstawowa jest jedyną repliką w trybie online, kopia zapasowa nie powinna wystąpić.

WTÓRNY

Określa, że kopie zapasowe powinny występować w repliki pomocniczej, z wyjątkiem sytuacji, gdy replika podstawowa jest jedyną repliką w trybie online. W takim przypadku kopia zapasowa powinna zostać wykonana w repliki podstawowej. Jest to zachowanie domyślne.

ŻADEN

Określa, że wolisz, aby zadania tworzenia kopii zapasowych ignorowały rolę replik dostępności podczas wybierania repliki do wykonywania kopii zapasowych. Uwaga Zadania tworzenia kopii zapasowej mogą oceniać inne czynniki, takie jak priorytet kopii zapasowej każdej repliki dostępności w połączeniu ze stanem operacyjnym i stanem połączenia.

Ważny

Nie ma wymuszania ustawienia AUTOMATED_BACKUP_PREFERENCE. Interpretacja tej preferencji zależy od logiki, jeśli istnieje, że skrypty są wykonywane w zadaniach zaplecza dla baz danych w danej grupie dostępności. Ustawienie preferencji automatycznego tworzenia kopii zapasowych nie ma wpływu na kopie zapasowe ad hoc. Aby uzyskać więcej informacji, zobacz Configure Backup on Availability Replicas (SQL Server).

Nuta

Aby wyświetlić preferencję automatycznego tworzenia kopii zapasowej istniejącej grupy dostępności, wybierz kolumnę automated_backup_preference lub automated_backup_preference_desc widoku wykazu sys.availability_groups. Ponadto sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) można użyć do określenia preferowanej repliki kopii zapasowej. Ta funkcja zawsze zwraca wartość 1 dla co najmniej jednej repliki, nawet jeśli AUTOMATED_BACKUP_PREFERENCE = NONE.

FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }

Określa, jakie warunki awarii wyzwolą automatyczny tryb failover dla tej grupy dostępności. FAILURE_CONDITION_LEVEL jest ustawiana na poziomie grupy, ale ma zastosowanie tylko w przypadku replik dostępności skonfigurowanych do trybu dostępności zatwierdzania synchronicznego (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT). Ponadto warunki awarii mogą wyzwalać automatyczny tryb failover tylko wtedy, gdy repliki podstawowe i pomocnicze są skonfigurowane do automatycznego trybu failover (FAILOVER_MODE = AUTOMATIC), a replika pomocnicza jest obecnie synchronizowana z repliką podstawową.

Obsługiwane tylko w repliki podstawowej.

Poziomy warunków awarii (1–5) wahają się od najmniej restrykcyjnego, poziomu 1 do najbardziej restrykcyjnego, poziomu 5. Dany poziom warunku obejmuje wszystkie mniej restrykcyjne poziomy. W związku z tym najostrzejszy poziom warunku, 5, obejmuje cztery mniej restrykcyjne poziomy warunków (1–4), poziom 4 obejmuje poziomy 1–3 itd. W poniższej tabeli opisano warunek niepowodzenia odpowiadający każdemu poziomowi.

Poziom Warunek błędu
1 Określa, że automatyczne przejście w tryb failover powinno zostać zainicjowane, gdy wystąpi dowolny z następujących:

Usługa SQL Server nie działa.

Dzierżawa grupy dostępności na potrzeby nawiązywania połączenia z klastrem WSFC wygasa, ponieważ usługa ACK nie jest odbierana z wystąpienia serwera. Aby uzyskać więcej informacji, zobacz How It Works: Sql Server Always On Lease Timeout.
2 Określa, że automatyczne przejście w tryb failover powinno zostać zainicjowane, gdy wystąpi dowolny z następujących:

Wystąpienie programu SQL Server nie łączy się z klastrem, a określony przez użytkownika próg HEALTH_CHECK_TIMEOUT grupy dostępności zostanie przekroczony.

Replika dostępności jest w stanie niepowodzenia.
3 Określa, że automatyczne przejście w tryb failover powinno być inicjowane w krytycznych błędach wewnętrznych programu SQL Server, takich jak oddzielone blokady spinlocks, poważne naruszenia dostępu do zapisu lub zbyt duże dumpingu.

Jest to zachowanie domyślne.
4 Określa, że automatyczne przejście w tryb failover powinno być inicjowane w przypadku umiarkowanych błędów wewnętrznych programu SQL Server, takich jak trwały stan braku pamięci w wewnętrznej puli zasobów programu SQL Server.
5 Określa, że automatyczne przejście w tryb failover powinno być inicjowane w przypadku wszelkich kwalifikowanych warunków awarii, w tym:

Wyczerpanie wątków roboczych aparatu SQL Engine.

Wykrywanie nierozwiązanego zakleszczenia.

Nuta

Brak odpowiedzi wystąpienia programu SQL Server do żądań klientów nie jest istotny dla grup dostępności.

Wartości FAILURE_CONDITION_LEVEL i HEALTH_CHECK_TIMEOUT definiują elastyczne zasady trybu failover dla danej grupy. Te elastyczne zasady trybu failover zapewniają szczegółową kontrolę nad warunkami, które muszą spowodować automatyczne przejście w tryb failover. Aby uzyskać więcej informacji, zobacz elastyczne zasady trybu failover dla automatycznego trybu failover grupy dostępności (SQL Server).

HEALTH_CHECK_TIMEOUT = milisekundy

Określa czas oczekiwania (w milisekundach) dla procedury składowanej systemu sp_server_diagnostics, aby zwrócić informacje o kondycji serwera przed klastrem WSFC zakłada, że wystąpienie serwera działa wolno lub nie odpowiada. HEALTH_CHECK_TIMEOUT jest ustawiana na poziomie grupy, ale ma zastosowanie tylko w przypadku replik dostępności skonfigurowanych do trybu dostępności zatwierdzania synchronicznego z automatycznym trybem failover (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT). Ponadto limit czasu sprawdzania kondycji może wyzwolić automatyczne przejście w tryb failover tylko wtedy, gdy zarówno repliki podstawowe, jak i pomocnicze są skonfigurowane dla trybu automatycznego trybu failover (FAILOVER_MODE = AUTOMATIC), a replika pomocnicza jest obecnie synchronizowana z repliką podstawową.

Wartość domyślna HEALTH_CHECK_TIMEOUT to 30000 milisekund (30 sekund). Wartość minimalna to 15000 milisekund (15 sekund), a maksymalna wartość to 4294 967 295 milisekund.

Obsługiwane tylko w repliki podstawowej.

Ważny

sp_server_diagnostics nie wykonuje kontroli kondycji na poziomie bazy danych.

DB_FAILOVER = { ON | WYŁ. }

Określa odpowiedź do podjęcia, gdy baza danych w repliki podstawowej jest w trybie offline. W przypadku ustawienia włączonego dowolny stan inny niż ONLINE dla bazy danych w grupie dostępności wyzwala automatyczny tryb failover. Gdy ta opcja jest ustawiona na wartość WYŁĄCZONE, tylko kondycja wystąpienia jest używana do wyzwalania automatycznego trybu failover.

Aby uzyskać więcej informacji na temat tego ustawienia, zobacz opcja wykrywania kondycji na poziomie bazy danych

DTC_SUPPORT = { PER_DB | BRAK }

Określa, czy transakcje rozproszone są włączone dla tej grupy dostępności. Transakcje rozproszone są obsługiwane tylko dla baz danych grup dostępności począwszy od programu SQL Server 2016 (13.x), a transakcje między bazami danych są obsługiwane tylko w programie SQL Server 2016 (13.x) SP2. PER_DB tworzy grupę dostępności z obsługą tych transakcji i automatycznie podwyższy poziom transakcji między bazami danych obejmujących bazy danych w grupie dostępności do transakcji rozproszonych. NONE uniemożliwia automatyczne podwyższanie poziomu transakcji między bazami danych do transakcji rozproszonych i nie rejestruje bazy danych przy użyciu stabilnego identyfikatora RMID w usłudze DTC. Transakcje rozproszone nie są blokowane, gdy jest używane ustawienie NONE, ale tryb failover bazy danych i automatyczne odzyskiwanie mogą nie zakończyć się powodzeniem w pewnych okolicznościach. Aby uzyskać więcej informacji, zobacz transakcji między bazami danych i transakcji rozproszonych dla zawsze włączonych grup dostępności i dublowania baz danych (SQL Server).

Nuta

Obsługa zmiany ustawienia DTC_SUPPORT grupy dostępności została wprowadzona w programie SQL Server 2016 (13.x) z dodatkiem Service Pack 2. Tej opcji nie można używać z wcześniejszymi wersjami. Aby zmienić to ustawienie we wcześniejszych wersjach programu SQL Server, należy ponownie usunąć i utworzyć grupę dostępności.

Ważny

DtC ma limit 32 rejestracji na transakcję rozproszoną. Ponieważ każda baza danych w grupie dostępności jest enlists z jednostką DTC oddzielnie, jeśli transakcja obejmuje więcej niż 32 bazy danych, możesz uzyskać następujący błąd, gdy program SQL Server próbuje zarejestrować 33 bazę danych:

Enlist operation failed: 0x8004d101(XACT_E_TOOMANY_ENLISTMENTS). SQL Server could not register with Microsoft Distributed Transaction Coordinator (MS DTC) as a resource manager for this transaction. The transaction may have been stopped by the client or the resource manager.

Aby uzyskać więcej informacji na temat transakcji rozproszonych w programie SQL Server, zobacz Transakcje rozproszone

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT

Wprowadzono w programie SQL Server 2017 (14.x). Ustawia minimalną liczbę synchronicznych replik pomocniczych wymaganych do zatwierdzenia przed zatwierdzeniem transakcji przez replikę podstawową. Gwarantuje, że transakcje programu SQL Server czekają, aż dzienniki transakcji zostaną zaktualizowane w minimalnej liczbie replik pomocniczych.

  • Wartość domyślna: 0. Zapewnia takie samo zachowanie jak program SQL Server 2016 (13.x).
  • Minimum: 0.
  • Maksymalna: liczba replik minus 1.

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT odnosi się do replik w trybie zatwierdzania synchronicznego. Gdy repliki są w trybie zatwierdzania synchronicznego, zapisy w repliki podstawowej czekają, aż zapisy w synchronicznych replikach zostaną zatwierdzonych w dzienniku transakcji bazy danych repliki. Jeśli program SQL Server hostujący pomocniczą replikę synchroniczną przestaje odpowiadać, program SQL Server, który hostuje replikę podstawową, oznacza, że replika pomocnicza nie jest zsynchronizowana i będzie kontynuowana. Gdy baza danych nie odpowiada w trybie online, będzie w stanie "niezsynchronizowanym", a replika jest oznaczona jako w złej kondycji, dopóki podstawowa baza danych nie będzie mogła go ponownie zsynchronizować. To ustawienie gwarantuje, że replika podstawowa nie będzie kontynuowana, dopóki minimalna liczba replik nie zadeklarowała każdej transakcji. Jeśli minimalna liczba replik nie jest dostępna, zatwierdzenia w podstawowej awarii. W przypadku typu klastra EXTERNAL ustawienie jest zmieniane po dodaniu grupy dostępności do zasobu klastra. Zobacz Wysoka dostępność i ochrona danych dla konfiguracji grup dostępności.

Począwszy od programu SQL Server 2022 (16.x), można ustawić REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT w rozproszonej grupie dostępności. To ustawienie nie jest obsługiwane w przypadku TWORZENIA GRUPY DOSTĘPNOŚCI. Aby ustawić REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT, możesz użyć funkcji ALTER AVAILABILITY GROUP. Na przykład:

ALTER AVAILABILITY GROUP [<name>] 
  SET (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = <integer>);

ROLA

Jedynym prawidłowym parametrem jest "SECONDARY", a ta opcja SET jest prawidłowa tylko w rozproszonych grupach dostępności. Jest ona używana do przełączania rozproszonej grupy dostępności w tryb failover, jak opisano tutaj: ALTER AVAILABILITY GROUP

DODAWANIE database_name BAZY DANYCH

Określa listę co najmniej jednej bazy danych użytkowników, którą chcesz dodać do grupy dostępności. Te bazy danych muszą znajdować się w wystąpieniu programu SQL Server, które hostuje bieżącą replikę podstawową. Można określić wiele baz danych dla grupy dostępności, ale każda baza danych może należeć tylko do jednej grupy dostępności. Aby uzyskać informacje o typie baz danych, które może obsługiwać grupa dostępności, zobacz wymagania wstępne, ograniczenia i zalecenia dotyczące zawsze włączonych grup dostępności (SQL Server). Aby dowiedzieć się, które lokalne bazy danych należą już do grupy dostępności, zobacz kolumnę replica_id w widoku katalogu sys.databases.

Obsługiwane tylko w repliki podstawowej.

Nuta

Po utworzeniu grupy dostępności należy połączyć się z każdym wystąpieniem serwera hostującym replikę pomocniczą, a następnie przygotować każdą pomocniczą bazę danych i dołączyć ją do grupy dostępności. Aby uzyskać więcej informacji, zobacz Start Data Movement on an Always On Secondary Database (SQL Server).

USUWANIE database_name BAZY DANYCH

Usuwa określoną podstawową bazę danych i odpowiednie pomocnicze bazy danych z grupy dostępności. Obsługiwane tylko w repliki podstawowej.

Aby uzyskać informacje o zalecanych krokach po usunięciu bazy danych dostępności z grupy dostępności, zobacz Usuwanie podstawowej bazy danych z grupy dostępności (SQL Server).

DODAWANIE REPLIKI W SYSTEMIE

Określa od jednego do ośmiu wystąpień programu SQL Server do hostowania replik pomocniczych w grupie dostępności. Każda replika jest określana przez adres wystąpienia serwera, po którym następuje klauzula WITH (...).

Obsługiwane tylko w repliki podstawowej.

Do grupy dostępności należy dołączyć każdą nową replikę pomocniczą. Aby uzyskać więcej informacji, zobacz opis opcji JOIN w dalszej części tej sekcji.

<server_instance>

Określa adres wystąpienia programu SQL Server, które jest hostem repliki. Format adresu zależy od tego, czy wystąpienie jest wystąpieniem domyślnym, czy wystąpieniem nazwanym oraz czy jest to wystąpienie autonomiczne, czy wystąpienie klastra trybu failover (FCI). Składnia jest następująca:

{ 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }

Składniki tego adresu są następujące:

system_name

Nazwa NetBIOS systemu komputerowego, na którym znajduje się docelowe wystąpienie programu SQL Server. Ten komputer musi być węzłem WSFC.

FCI_network_name

Nazwa sieci używana do uzyskiwania dostępu do klastra trybu failover programu SQL Server. Użyj tej opcji, jeśli wystąpienie serwera uczestniczy jako partner trybu failover programu SQL Server. Wykonanie @@SERVERNAME SELECT na wystąpieniu serwera fcI zwraca cały ciąg "FCI_network_name[\instance_name]" (czyli pełna nazwa repliki).

instance_name

Nazwa wystąpienia programu SQL Server hostowanego przez system_name lub FCI_network_name i ma włączoną funkcję Always On. W przypadku domyślnego wystąpienia serwera instance_name jest opcjonalne. Nazwa wystąpienia jest niewrażliwa na wielkość liter. W wystąpieniu serwera autonomicznego ta nazwa wartości jest taka sama jak wartość zwrócona przez wykonanie polecenia SELECT @@SERVERNAME.

\

Separator używany tylko podczas określania instance_name, aby oddzielić go od system_name lub FCI_network_name.

Aby uzyskać informacje o wymaganiach wstępnych dotyczących węzłów i wystąpień serwera WSFC, zobacz wymagania wstępne, ograniczenia i zalecenia dotyczące zawsze włączonych grup dostępności (SQL Server).

ENDPOINT_URL = 'TCP://system-address:port'

Określa ścieżkę adresu URL dla punktu końcowego dublowania bazy danych w wystąpieniu programu SQL Server, które będzie hostować replikę dostępności, którą dodajesz lub modyfikujesz.

ENDPOINT_URL jest wymagany w klauzuli ADD REPLICA ON i opcjonalnie w klauzuli MODIFY REPLICA ON. Aby uzyskać więcej informacji, zobacz Określanie adresu URL punktu końcowego podczas dodawania lub modyfikowania repliki dostępności (SQL Server).

"TCP://adres-systemowy :port"

Określa adres URL określania adresu URL punktu końcowego lub adresu URL routingu tylko do odczytu. Parametry adresu URL są następujące:

adresów systemowych

Ciąg, taki jak nazwa systemu, w pełni kwalifikowana nazwa domeny lub adres IP, który jednoznacznie identyfikuje system komputera docelowego.

portów

Numer portu skojarzony z punktem końcowym dublowania wystąpienia serwera (dla opcji ENDPOINT_URL) lub numer portu używany przez aparat bazy danych wystąpienia serwera (dla opcji READ_ONLY_ROUTING_URL).

AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }

Określa, czy replika podstawowa musi czekać na replikę pomocniczą, aby potwierdzić wzmocnienie (zapisywanie) rekordów dziennika na dysku, zanim replika podstawowa może zatwierdzić transakcję w danej podstawowej bazie danych. Transakcje w różnych bazach danych w tej samej repliki podstawowej mogą być zatwierdzane niezależnie.

SYNCHRONOUS_COMMIT

Określa, że replika podstawowa będzie czekać na zatwierdzenie transakcji, dopóki nie zostaną wzmocnione w tej repliki pomocniczej (tryb zatwierdzania synchronicznego). Można określić SYNCHRONOUS_COMMIT dla maksymalnie trzech replik, w tym repliki podstawowej.

ASYNCHRONOUS_COMMIT

Określa, że replika podstawowa zatwierdza transakcje bez oczekiwania na tę replikę pomocniczą w celu zabezpieczenia dziennika (tryb dostępności zatwierdzenia synchronicznego). Można określić ASYNCHRONOUS_COMMIT dla maksymalnie pięciu replik dostępności, w tym repliki podstawowej.

CONFIGURATION_ONLY

Określa, że replika podstawowa synchronicznie zatwierdza metadane konfiguracji grupy dostępności do bazy danych master w tej repliki. Replika nie będzie zawierać danych użytkownika. Ta opcja:

  • Może być hostowany w dowolnej wersji programu SQL Server, w tym w wersji Express.

  • Wymaga, aby punkt końcowy dublowania danych repliki CONFIGURATION_ONLY był typem WITNESS.

  • Nie można go zmienić.

  • Nie jest prawidłowa, gdy CLUSTER_TYPE = WSFC.

    Aby uzyskać więcej informacji, zobacz Configuration only replica.

AVAILABILITY_MODE jest wymagany w klauzuli ADD REPLICA ON i opcjonalnie w klauzuli MODIFY REPLICA ON. Aby uzyskać więcej informacji, zobacz Tryby dostępności (zawsze włączone grupy dostępności).

FAILOVER_MODE = { AUTOMATIC | RĘCZNE }

Określa tryb pracy awaryjnej repliki dostępności, którą definiujesz.

AUTOMATYCZNE

Włącza automatyczne przełączanie w tryb failover. Funkcja AUTOMATIC jest obsługiwana tylko wtedy, gdy określisz również AVAILABILITY_MODE = SYNCHRONOUS_COMMIT. Możesz określić opcję AUTOMATYCZNA dla trzech replik dostępności, w tym repliki podstawowej.

Nuta

  • Przed programem SQL Server 2016 były ograniczone do dwóch automatycznych replik trybu failover, w tym repliki podstawowej.
  • Wystąpienia klastra trybu failover programu SQL Server (FCI) nie obsługują automatycznego trybu failover przez grupy dostępności, więc każda replika dostępności hostowana przez wystąpienie klastra trybu failover może być skonfigurowana tylko do ręcznego przejścia w tryb failover.

RĘCZNIE

Włącza ręczne przejście w tryb failover lub wymuszone ręczne przejście w tryb failover (wymuszone przejście w tryb failover) przez administratora bazy danych.

FAILOVER_MODE jest wymagany w klauzuli ADD REPLICA ON i opcjonalnie w klauzuli MODIFY REPLICA ON. Istnieją dwa typy ręcznego przejścia w tryb failover, ręczne przejście w tryb failover bez utraty danych i wymuszone przejście w tryb failover (z możliwością utraty danych), które są obsługiwane w różnych warunkach. Aby uzyskać więcej informacji, zobacz tryby trybu failover i trybu failover (zawsze włączone grupy dostępności).

SEEDING_MODE = { AUTOMATIC | RĘCZNE }

Określa sposób początkowego rozmieszczania repliki pomocniczej.

AUTOMATYCZNE

Włącza bezpośrednie rozmieszczanie. Ta metoda spowoduje inicjuje replikę pomocniczą za pośrednictwem sieci. Ta metoda nie wymaga utworzenia kopii zapasowej i przywrócenia kopii podstawowej bazy danych w repliki.

Nuta

W przypadku bezpośredniego rozmieszczania należy zezwolić na tworzenie bazy danych w każdej repliki pomocniczej, wywołując ALTER AVAILABILITY GROUP z opcją GRANT CREATE ANY DATABASE.

RĘCZNIE

Określa ręczne rozmieszczanie (ustawienie domyślne). Ta metoda wymaga utworzenia kopii zapasowej bazy danych w repliki podstawowej i ręcznego przywrócenia tej kopii zapasowej w repliki pomocniczej.

BACKUP_PRIORITY = n

Określa priorytet wykonywania kopii zapasowych na tej repliki względem innych replik w tej samej grupie dostępności. Wartość jest liczbą całkowitą w zakresie 0..100. Te wartości mają następujące znaczenie:

  • 1..100 wskazuje, że można wybrać replikę dostępności do wykonywania kopii zapasowych. 1 wskazuje najniższy priorytet, a 100 wskazuje najwyższy priorytet. Jeśli BACKUP_PRIORITY = 1, replika dostępności zostanie wybrana do wykonywania kopii zapasowych tylko wtedy, gdy repliki dostępności o wyższym priorytcie nie są obecnie dostępne.

  • 0 wskazuje, że ta replika dostępności nigdy nie zostanie wybrana do wykonywania kopii zapasowych. Jest to przydatne na przykład w przypadku repliki dostępności zdalnej, do której nigdy nie chcesz, aby kopie zapasowe były przenoszone w tryb failover.

Aby uzyskać więcej informacji, zobacz aktywne sekundy: tworzenie kopii zapasowych w replikach pomocniczych (zawsze włączone grupy dostępności).

SECONDARY_ROLE ( ... )

Określa ustawienia specyficzne dla roli, które zaczną obowiązywać, jeśli ta replika dostępności jest obecnie właścicielem roli pomocniczej (czyli zawsze, gdy jest repliką pomocniczą). W nawiasach określ opcje roli pomocniczej lub obie. Jeśli określisz obie wartości, użyj listy rozdzielanej przecinkami.

Opcje roli pomocniczej są następujące:

ALLOW_CONNECTIONS = { NO | READ_ONLY | WSZYSTKO }

Określa, czy bazy danych danej repliki dostępności, która pełni rolę pomocniczą (czyli działa jako replika pomocnicza) mogą akceptować połączenia od klientów, jeden z następujących elementów:

NIE

Żadne połączenia użytkownika nie mogą korzystać z pomocniczych baz danych tej repliki. Nie są one dostępne do odczytu. Jest to zachowanie domyślne.

READ_ONLY

Tylko połączenia są dozwolone do baz danych w repliki pomocniczej, w której właściwość Intencja aplikacji jest ustawiona na ReadOnly. Aby uzyskać więcej informacji na temat tej właściwości, zobacz Using Connection String Keywords with SQL Server Native Client.

CAŁY

Wszystkie połączenia są dozwolone do baz danych w repliki pomocniczej na potrzeby dostępu tylko do odczytu.

Aby uzyskać więcej informacji, zobacz active secondaries: Readable Secondary Replicas (Zawsze włączone grupy dostępności).

READ_ONLY_ROUTING_URL = 'TCP://adres-systemowy:port'

Określa adres URL, który ma być używany do routingu żądań połączenia intencji odczytu do tej repliki dostępności. Jest to adres URL, pod którym nasłuchuje aparat bazy danych programu SQL Server. Zazwyczaj domyślne wystąpienie aparatu bazy danych programu SQL Server nasłuchuje na porcie TCP 1433.

W przypadku nazwanego wystąpienia można uzyskać numer portu, wykonując zapytanie dotyczące portów i kolumn type_desc widoku dynamicznego zarządzania sys.dm_tcp_listener_states. Wystąpienie serwera używa odbiornika Transact-SQL (type_desc='TSQL').

Aby uzyskać więcej informacji na temat obliczania adresu URL routingu tylko do odczytu dla repliki dostępności, zobacz Obliczanie read_only_routing_url dla zawsze włączonej.

Nuta

W przypadku nazwanego wystąpienia programu SQL Server należy skonfigurować odbiornik Transact-SQL do używania określonego portu. Aby uzyskać więcej informacji, zobacz Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager).

PRIMARY_ROLE ( ... )

Określa ustawienia specyficzne dla roli, które zostaną zastosowane, jeśli ta replika dostępności jest obecnie właścicielem roli podstawowej (czyli zawsze, gdy jest repliką podstawową). W nawiasach określ albo obie opcje roli podstawowej. Jeśli określisz obie wartości, użyj listy rozdzielanej przecinkami.

Podstawowe opcje roli są następujące:

ALLOW_CONNECTIONS = { READ_WRITE | WSZYSTKO }

Określa typ połączenia, które bazy danych danej repliki dostępności, która pełni rolę podstawową (czyli działa jako replika podstawowa) mogą akceptować od klientów:

READ_WRITE

Połączenia, w których właściwość połączenia intencji aplikacji jest ustawiona na ReadOnly są niedozwolone. Gdy właściwość Intencja aplikacji jest ustawiona na ReadWrite lub właściwość połączenia intencji aplikacji nie jest ustawiona, połączenie jest dozwolone. Aby uzyskać więcej informacji na temat właściwości połączenia intencji aplikacji, zobacz Using Connection String Keywords with SQL Server Native Client.

CAŁY

Wszystkie połączenia są dozwolone do baz danych w repliki podstawowej. Jest to zachowanie domyślne.

READ_ONLY_ROUTING_LIST = { ('<server_instance>' [ ,...n ] ) | BRAK }

Określa rozdzielaną przecinkami listę wystąpień serwera hostujących repliki dostępności dla tej grupy dostępności, które spełniają następujące wymagania podczas uruchamiania w ramach roli pomocniczej:

  • Należy skonfigurować tak, aby zezwalać na wszystkie połączenia lub połączenia tylko do odczytu (zobacz argument ALLOW_CONNECTIONS opcji SECONDARY_ROLE powyżej).

  • Zdefiniowano adres URL routingu tylko do odczytu (zobacz argument READ_ONLY_ROUTING_URL opcji SECONDARY_ROLE powyżej).

Wartości READ_ONLY_ROUTING_LIST są następujące:

<server_instance>

Określa adres wystąpienia programu SQL Server, które jest hostem repliki dostępności, która jest czytelną repliką pomocniczą podczas uruchamiania w ramach roli pomocniczej.

Lista rozdzielona przecinkami umożliwia określenie wszystkich wystąpień serwera, które mogą obsługiwać replikę pomocniczą z możliwością odczytu. Routing tylko do odczytu będzie postępować zgodnie z kolejnością, w której wystąpienia serwera są określone na liście. Jeśli wystąpienie serwera hosta repliki znajduje się na liście routingu tylko do odczytu repliki, umieszczenie tego wystąpienia serwera na końcu listy jest zazwyczaj dobrym rozwiązaniem, dzięki czemu połączenia intencji odczytu przechodzą do repliki pomocniczej, jeśli jest dostępna.

Począwszy od programu SQL Server 2016 (13.x), można równoważyć obciążenie żądań intencji odczytu w replikach pomocniczych z możliwością odczytu. Należy to określić, umieszczając repliki w zagnieżdżonym zestawie nawiasów na liście routingu tylko do odczytu. Aby uzyskać więcej informacji i przykładów, zobacz Konfigurowanie równoważenia obciążenia w replikach tylko do odczytu.

ŻADEN

Określa, że jeśli ta replika dostępności jest repliką podstawową, routing tylko do odczytu nie będzie obsługiwany. Jest to zachowanie domyślne. W przypadku użycia z funkcją MODIFY REPLICA ON ta wartość wyłącza istniejącą listę, jeśli istnieje.

READ_WRITE_ROUTING_URL = 'TCP://system-address:port'

Dotyczy: SQL Server (począwszy od programu SQL Server 2019 (15.x))

Określa wystąpienia serwera, które hostuje repliki dostępności dla tej grupy dostępności, które spełniają następujące wymagania podczas uruchamiania w ramach roli podstawowej:

  • PRIMARY_ROLE specyfikacji repliki zawiera READ_WRITE_ROUTING_URL.
  • Parametry połączenia to ReadWrite przez zdefiniowanie parametru ApplicationIntent jako ReadWrite lub ustawienie parametru ApplicationIntent i zezwolenie na zastosowanie wartości domyślnej (ReadWrite).

Aby uzyskać więcej informacji, zobacz secondary to primary replica read/write connection redirection (Always On Availability Groups).

SESSION_TIMEOUT = sekund

Określa okres limitu czasu sesji w sekundach. Jeśli nie określisz tej opcji, domyślnie okres wynosi 10 sekund. Minimalna wartość to 5 sekund.

Ważny

Zalecamy zachowanie limitu czasu na 10 sekund lub dłużej.

Aby uzyskać więcej informacji na temat okresu limitu czasu sesji, zobacz Omówienie zawsze włączonych grup dostępności (SQL Server).

MODYFIKOWANIE REPLIKI NA

Modyfikuje dowolną replikę grupy dostępności. Lista replik do modyfikacji zawiera adres wystąpienia serwera i klauzulę WITH (...) dla każdej repliki.

Obsługiwane tylko w repliki podstawowej.

USUŃ REPLIKĘ NA

Usuwa określoną replikę pomocniczą z grupy dostępności. Nie można usunąć bieżącej repliki podstawowej z grupy dostępności. Po usunięciu replika przestaje odbierać dane. Jej pomocnicze bazy danych są usuwane z grupy dostępności i są wprowadzane w stan RESTOREING.

Obsługiwane tylko w repliki podstawowej.

Nuta

Jeśli usuniesz replikę, gdy jest ona niedostępna lub nie powiodła się, po powrocie do trybu online wykryje, że nie należy już do grupy dostępności.

DOŁĄCZYĆ

Powoduje, że wystąpienie serwera lokalnego hostuje replikę pomocniczą w określonej grupie dostępności.

Obsługiwane tylko w repliki pomocniczej, która nie została jeszcze przyłączona do grupy dostępności.

Aby uzyskać więcej informacji, zobacz Join a Secondary Replica to an Availability Group (SQL Server).

TRYB FAILOVER

Inicjuje ręczne przejście w tryb failover grupy dostępności bez utraty danych do repliki pomocniczej, z którą masz połączenie. Replika, która będzie hostować replikę podstawową, jest obiektem docelowym trybu failover . Docelowy tryb failover przejmie rolę podstawową i odzyska kopię każdej bazy danych i przełączy je w tryb online jako nowe podstawowe bazy danych. Była replika podstawowa jednocześnie przechodzi do roli pomocniczej, a jej bazy danych stają się pomocniczymi bazami danych i są natychmiast zawieszone. Potencjalnie te role można przełączać z powrotem i z powrotem przez serię awarii.

Obsługiwane tylko w repliki pomocniczej zatwierdzania synchronicznego, która jest obecnie synchronizowana z repliką podstawową. Należy pamiętać, że aby replika pomocnicza została zsynchronizowana, replika podstawowa musi być również uruchomiona w trybie zatwierdzania synchronicznego.

Nuta

Polecenie trybu failover jest zwracane natychmiast po zaakceptowaniu polecenia przez element docelowy trybu failover. Jednak odzyskiwanie bazy danych odbywa się asynchronicznie po zakończeniu przełączania grupy dostępności w tryb failover.

Aby uzyskać informacje o ograniczeniach, wymaganiach wstępnych i zaleceniach dotyczących przeprowadzania planowanego ręcznego przejścia w tryb failover, zobacz Wykonać planowane ręczne przejście w tryb failover grupy dostępności (SQL Server).

FORCE_FAILOVER_ALLOW_DATA_LOSS

Ostrożność

Wymuszanie trybu failover, które może wiązać się z utratą danych, jest ściśle metodą odzyskiwania po awarii. W związku z tym zdecydowanie zalecamy wymusić przejście w tryb failover tylko wtedy, gdy replika podstawowa nie jest już uruchomiona, chcesz ryzykować utratę danych i natychmiast przywrócić usługę do grupy dostępności.

Obsługiwane tylko w repliki, której rola jest w stanie POMOCNICZA lub ROZPOZNAWANIE. --Replika, na której wprowadzasz polecenie trybu failover, jest znana jako docelowy tryb failover.

Wymusza przejście grupy dostępności w tryb failover z możliwością utraty danych do celu trybu failover. Docelowy tryb failover przejmie rolę podstawową i odzyska kopię każdej bazy danych i przełączy je w tryb online jako nowe podstawowe bazy danych. W pozostałych replikach pomocniczych każda pomocnicza baza danych jest zawieszona do momentu ręcznego wznowienia. Gdy była replika podstawowa stanie się dostępna, przełączy się do roli pomocniczej, a jej bazy danych zostaną zawieszone pomocnicze bazy danych.

Nuta

Polecenie trybu failover jest zwracane natychmiast po zaakceptowaniu polecenia przez element docelowy trybu failover. Jednak odzyskiwanie bazy danych odbywa się asynchronicznie po zakończeniu przełączania grupy dostępności w tryb failover.

Aby uzyskać informacje o ograniczeniach, wymaganiach wstępnych i zaleceniach dotyczących wymuszania pracy w trybie failover oraz wpływu wymuszonego przejścia w tryb failover na poprzednich podstawowych bazach danych w grupie dostępności, zobacz Wykonywanie wymuszonego ręcznego przejścia w tryb failover grupy dostępności (SQL Server).

ADD LISTENER 'dns_name'( <add_listener_option> )

Definiuje nowy odbiornik grupy dostępności dla tej grupy dostępności. Obsługiwane tylko w repliki podstawowej.

Ważny

Przed utworzeniem pierwszego odbiornika zdecydowanie zalecamy przeczytanie tworzenie lub konfigurowanie odbiornika grupy dostępności (SQL Server).

Po utworzeniu odbiornika dla danej grupy dostępności zdecydowanie zalecamy wykonanie następujących czynności:

  • Poproś administratora sieci o zarezerwowanie adresu IP odbiornika do wyłącznego użytku.
  • Nadaj deweloperom aplikacji nazwę hosta DNS odbiornika do użycia w parametrach połączenia podczas żądania połączeń z tą grupą dostępności.

dns_name

Określa nazwę hosta DNS odbiornika grupy dostępności. Nazwa DNS odbiornika musi być unikatowa w domenie i w netBIOS.

dns_name jest wartością ciągu. Ta nazwa może zawierać tylko znaki alfanumeryczne, kreski (-) i łączniki (_), w dowolnej kolejności. Nazwy hostów DNS są niewrażliwe na wielkość liter. Maksymalna długość to 63 znaki.

Zalecamy określenie znaczącego ciągu. Na przykład w przypadku grupy dostępności o nazwie AG1zrozumiała nazwa hosta DNS będzie ag1-listener.

Ważny

NetBIOS rozpoznaje tylko pierwsze 15 znaków w dns_name. Jeśli masz dwa klastry WSFC, które są kontrolowane przez tę samą usługę Active Directory i próbujesz utworzyć odbiorniki grupy dostępności w obu klastrach przy użyciu nazw z więcej niż 15 znakami i identycznym 15-znakowym prefiksem, zostanie wyświetlony komunikat o błędzie informujący, że zasób Nazwa sieci wirtualnej nie może zostać przeniesiony w tryb online. Aby uzyskać informacje o regułach nazewnictwa prefiksów dla nazw DNS, zobacz Przypisywanie nazw domen.

DOŁĄCZ DO GRUPY DOSTĘPNOŚCI WŁĄCZONEJ

Dołącza do rozproszonej grupy dostępności . Podczas tworzenia rozproszonej grupy dostępności grupa dostępności w klastrze, w którym jest tworzona, jest podstawową grupą dostępności. Grupa dostępności dołączona do rozproszonej grupy dostępności jest dodatkową grupą dostępności.

<ag_name>

Określa nazwę grupy dostępności, która stanowi połowę rozproszonej grupy dostępności.

LISTENER = 'TCP://system-address:port'

Określa ścieżkę adresu URL odbiornika skojarzonego z grupą dostępności.

Klauzula LISTENER jest wymagana.

"TCP://adres-systemowy :port"

Określa adres URL odbiornika skojarzonego z grupą dostępności. Parametry adresu URL są następujące:

adresów systemowych

Ciąg, taki jak nazwa systemu, w pełni kwalifikowana nazwa domeny lub adres IP, który jednoznacznie identyfikuje odbiornik.

portów

Numer portu skojarzony z punktem końcowym dublowania grupy dostępności. Należy pamiętać, że nie jest to port odbiornika.

AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }

Określa, czy replika podstawowa musi czekać na pomocniczą grupę dostępności, aby potwierdzić wzmocnienie (zapisywanie) rekordów dziennika na dysku, zanim replika podstawowa może zatwierdzić transakcję w danej podstawowej bazie danych.

SYNCHRONOUS_COMMIT

Określa, że replika podstawowa będzie czekać na zatwierdzenie transakcji, dopóki nie zostaną wzmocnione w pomocniczej grupie dostępności. Można określić SYNCHRONOUS_COMMIT dla maksymalnie dwóch grup dostępności, w tym podstawowej grupy dostępności.

ASYNCHRONOUS_COMMIT

Określa, że replika podstawowa zatwierdza transakcje bez oczekiwania na dodatkową grupę dostępności w celu zabezpieczenia dziennika. Można określić ASYNCHRONOUS_COMMIT dla maksymalnie dwóch grup dostępności, w tym podstawowej grupy dostępności.

Klauzula AVAILABILITY_MODE jest wymagana.

FAILOVER_MODE = { MANUAL }

Określa tryb failover rozproszonej grupy dostępności.

RĘCZNIE

Umożliwia planowane ręczne przejście w tryb failover lub wymuszone ręczne przejście w tryb failover (zazwyczaj nazywane wymuszonym przejściem w tryb failover) przez administratora bazy danych.

Automatyczne przechodzenie w tryb failover do pomocniczej grupy dostępności nie jest obsługiwane.

SEEDING_MODE = { AUTOMATIC | RĘCZNE }

Określa sposób początkowego rozmieszczania pomocniczej grupy dostępności.

AUTOMATYCZNE

Włącza automatyczne rozmieszczanie. Ta metoda spowoduje inicjowanie pomocniczej grupy dostępności za pośrednictwem sieci. Ta metoda nie wymaga utworzenia kopii zapasowej i przywrócenia kopii podstawowej bazy danych na replikach pomocniczej grupy dostępności.

RĘCZNIE

Określa ręczne rozmieszczanie. Ta metoda wymaga utworzenia kopii zapasowej bazy danych w repliki podstawowej i ręcznego przywrócenia tej kopii zapasowej na replikach pomocniczej grupy dostępności.

MODYFIKOWANIE GRUPY DOSTĘPNOŚCI W DNIU

Modyfikuje dowolne ustawienia grupy dostępności rozproszonej grupy dostępności. Lista grup dostępności do zmodyfikowania zawiera nazwę grupy dostępności i klauzulę WITH (...) dla każdej grupy dostępności.

Ważny

To polecenie należy powtórzyć zarówno w podstawowej grupie dostępności, jak i w pomocniczych wystąpieniach grupy dostępności.

UDZIELANIE UPRAWNIEŃ DO TWORZENIA DOWOLNEJ BAZY DANYCH

Zezwala grupie dostępności na tworzenie baz danych w imieniu repliki podstawowej, która obsługuje bezpośrednie rozmieszczanie (SEEDING_MODE = AUTOMATIC). Ten parametr powinien być uruchamiany na każdej repliki pomocniczej, która obsługuje bezpośrednie rozmieszczanie po tym pomocniczym przyłączaniu do grupy dostępności. Wymaga uprawnienia UTWÓRZ DOWOLNĄ BAZĘ DANYCH.

ODMÓW TWORZENIA DOWOLNEJ BAZY DANYCH

Usuwa możliwość tworzenia baz danych w imieniu repliki podstawowej przez grupę dostępności.

<add_listener_option>

FUNKCJA ADD LISTENER przyjmuje jedną z następujących opcji:

WITH DHCP [ ON { ('four_part_ipv4_address','four_part_ipv4_mask') } ]

Określa, że odbiornik grupy dostępności będzie używać protokołu DHCP (Dynamic Host Configuration Protocol). Opcjonalnie użyj klauzuli ON, aby zidentyfikować sieć, w której zostanie utworzony ten odbiornik. Protokół DHCP jest ograniczony do jednej podsieci używanej dla każdego wystąpienia serwera hostujących replikę dostępności w grupie dostępności.

Ważny

Nie zalecamy korzystania z protokołu DHCP w środowisku produkcyjnym. Jeśli występuje czas awarii i dzierżawa adresu IP DHCP wygasa, do zarejestrowania nowego adresu IP sieci DHCP skojarzonego z nazwą DNS odbiornika i wpływu na łączność klienta jest wymagany dodatkowy czas. Jednak protokół DHCP jest dobry do skonfigurowania środowiska programistycznego i testowego w celu zweryfikowania podstawowych funkcji grup dostępności i integracji z aplikacjami.

Na przykład:

WITH DHCP ON ('10.120.19.0','255.255.254.0')

WITH IP ( { ('four_part_ipv4_address','four_part_ipv4_mask') | ('ipv6_address') } [ , ...n ] ) [ , PORT = listener_port ]

Określa, że zamiast używać protokołu DHCP odbiornik grupy dostępności będzie używać co najmniej jednego statycznego adresu IP. Aby utworzyć grupę dostępności w wielu podsieciach, każda podsieć wymaga jednego statycznego adresu IP w konfiguracji odbiornika. W przypadku danej podsieci statyczny adres IP może być adresem IPv4 lub adresem IPv6. Skontaktuj się z administratorem sieci, aby uzyskać statyczny adres IP dla każdej podsieci, która będzie hostować replikę dostępności dla nowej grupy dostępności.

Na przykład:

WITH IP ( ('10.120.19.155','255.255.254.0') )

ipv4_address

Określa czteroczęściowy adres IPv4 dla odbiornika grupy dostępności. Na przykład 10.120.19.155.

ipv4_mask

Określa czteroczęściową maskę IPv4 dla odbiornika grupy dostępności. Na przykład 255.255.254.0.

ipv6_address

Określa adres IPv6 dla odbiornika grupy dostępności. Na przykład 2001::4898:23:1002:20f:1fff:feff:b3a3.

PORT = listener_port

Określa numer portu —listener_port— do użycia przez odbiornik grupy dostępności określony przez klauzulę WITH IP. Port jest opcjonalny.

Obsługiwany jest domyślny numer portu 1433. Jeśli jednak masz problemy z zabezpieczeniami, zalecamy użycie innego numeru portu.

Na przykład: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777

MODYFIKOWANIE ODBIORNIKa "dns_name'( <modify_listener_option> )

Modyfikuje istniejący odbiornik grupy dostępności dla tej grupy dostępności. Obsługiwane tylko w repliki podstawowej.

<modify_listener_option>

FUNKCJA MODIFY LISTENER przyjmuje jedną z następujących opcji:

ADD IP { ('four_part_ipv4_address','four_part_ipv4_mask') | ('dns_nameipv6_address__')__ }

Dodaje określony adres IP do odbiornika grupy dostępności określonego przez dns_name.

PORT = listener_port

Zapoznaj się z opisem tego argumentu we wcześniejszej części tej sekcji.

URUCHOM PONOWNIE ODBIORNIK "dns_name"

Uruchamia ponownie odbiornik skojarzony z określoną nazwą DNS. Obsługiwane tylko w repliki podstawowej.

USUŃ ODBIORNIK "dns_name"

Usuwa odbiornik skojarzony z określoną nazwą DNS. Obsługiwane tylko w repliki podstawowej.

OFFLINE

Przełącz grupę dostępności online w tryb offline. Nie ma utraty danych dla synchronicznych baz danych zatwierdzania.

Po przejściu grupy dostępności do trybu offline jej bazy danych staną się niedostępne dla klientów i nie można przywrócić grupy dostępności z powrotem do trybu online. W związku z tym należy użyć opcji OFFLINE tylko podczas migracji zawsze włączonych grup dostępności podczas migrowania zasobów grupy dostępności do nowego klastra WSFC.

Aby uzyskać więcej informacji, zobacz Przełącz grupę dostępności w tryb offline (SQL Server).

Wymagania wstępne i ograniczenia

Aby uzyskać informacje na temat wymagań wstępnych i ograniczeń dotyczących replik dostępności oraz ich wystąpień i komputerów serwera hosta, zobacz wymagania wstępne, ograniczenia i zalecenia dotyczące zawsze włączonych grup dostępności (SQL Server).

Aby uzyskać informacje o ograniczeniach instrukcji Transact-SQL GRUPY DOSTĘPNOŚCI, zobacz Overview of Transact-SQL Statements for Always On Availability Groups (SQL Server).

Bezpieczeństwo

Uprawnienia

Wymaga uprawnienia ALTER AVAILABILITY GROUP w grupie dostępności, UPRAWNIENIA KONTROLI GRUPY DOSTĘPNOŚCI, ALTER ANY AVAILABILITY GROUP uprawnienia lub CONTROL SERVER uprawnienia. Wymaga również uprawnienia ALTER ANY DATABASE.

Przykłady

A. Dołączanie repliki pomocniczej do grupy dostępności

Poniższy przykład dołącza replikę pomocniczą, do której masz połączenie z grupą dostępności AccountsAG.

ALTER AVAILABILITY GROUP AccountsAG JOIN;  
GO  

B. Wymuszanie trybu failover grupy dostępności

Poniższy przykład wymusza przełączenie grupy dostępności AccountsAG w tryb failover do repliki pomocniczej, z którą masz połączenie.

ALTER AVAILABILITY GROUP AccountsAG FORCE_FAILOVER_ALLOW_DATA_LOSS;  
GO  

Zobacz też

CREATE AVAILABILITY GROUP (Transact-SQL)
ALTER DATABASE SET HADR (Transact-SQL)
DROP AVAILABILITY GROUP (Transact-SQL)
sys.availability_replicas (Transact-SQL)
sys.availability_groups (Transact-SQL)
Rozwiązywanie problemów z konfiguracją zawsze włączonych grup dostępności (SQL Server)
omówienie zawsze włączonych grup dostępności (SQL Server)
odbiorniki grupy dostępności, łączność klienta i tryb failover aplikacji (SQL Server)