Поделиться через


Базовые группы доступности Always On для отдельной базы данных

Область применения:SQL Server

Базовые группы доступности AlwaysOn предоставляют решение с высоким уровнем доступности для SQL Server 2016 (13.x) и более поздних версий в выпуске Standard. Основная группа доступности обеспечивает функционирование среды отработки отказа для одной базы данных. Она создается и управляется практически так же, как и традиционная (расширенная) группа доступности в редакции Enterprise. В этом документе описаны отличия и ограничения основных групп доступности.

Функции

Базовые группы доступности заменяют нерекомендуемую функцию зеркального отображения базы данных и предоставляют аналогичный уровень поддержки функций. Основные группы доступности позволяют поддерживать одну реплику базы данных-источника. Эта реплика может использовать режим синхронной или асинхронной фиксации. Дополнительные сведения о режимах доступности см. в разделе "Различия между режимами доступности" для группы доступности AlwaysOn. Вторичная реплика остается неактивной, если не требуется отказоустойчивость. При такой отработке первичная и вторичная роли меняются местами, в результате чего вторичная реплика становится первичной активной базой данных. Дополнительные сведения о отработки отказа см. в разделе "Режимы отработки отказа и отработки отказа". Основные группы доступности могут работать в гибридной среде, охватывающей локальные данные и облако Microsoft Azure.

Ограничения

Базовые группы доступности используют подмножество функций по сравнению с расширенными группами доступности в редакции SQL Server 2016 (13.x) Enterprise edition. Для основных групп доступности действуют следующие ограничения.

  • Ограничение двух реплик (первичная и вторичная). Базовые группы доступности для SQL Server 2017 (14.x) в Linux поддерживают только дополнительную реплику конфигурации.

  • Отсутствует доступ для чтения вторичной реплики.

  • Отсутствует возможность резервного копирования вторичной реплики.

  • Отсутствуют проверки целостности на вторичных репликах.

  • Нет поддержки реплик, размещенных на серверах с версией SQL Server до SQL Server 2016 (13.x).

  • Поддержка одной базы данных доступности.

  • Базовые группы доступности нельзя обновить до расширенных групп доступности. Группу необходимо удалить и снова добавить в группу, содержащую серверы, на которых работает только версия SQL Server 2016 (13.x) Enterprise Edition.

  • Базовые группы доступности поддерживаются только для серверов выпуска Standard.

  • Базовые группы доступности не могут быть частью распределенной группы доступности.

  • Может быть несколько групп доступности Basic, подключенных к одному экземпляру SQL Server.

Настройка

Базовая группа доступности Always On может быть создана на двух серверах SQL Server 2016 (13.x) Standard Edition. В процессе создания основной группы доступности вам потребуется указать обе реплики.

Чтобы создать базовую группу доступности, используйте CREATE AVAILABILITY GROUP команду Transact-SQL и укажите WITH BASIC параметр (по умолчанию ADVANCED). Вы также можете создать базовую группу доступности, используя пользовательский интерфейс SQL Server Management Studio в версиях от 17.8. Дополнительные сведения см. в разделе CREATE AVAILABILITY GROUP.

В следующем примере создается базовая группа доступности с помощью Transact-SQL (T-SQL):

CREATE AVAILABILITY GROUP [BasicAG]
WITH (AUTOMATED_BACKUP_PREFERENCE = PRIMARY,
BASIC,
DB_FAILOVER = OFF,
DTC_SUPPORT = NONE,
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0)
FOR DATABASE [AdventureWorks]
REPLICA ON N'SQLVM1\MSSQLSERVER' WITH (ENDPOINT_URL = N'TCP://SQLVM1.Contoso.com:5022', FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO)),
    N'SQLVM2\MSSQLSERVER' WITH (ENDPOINT_URL = N'TCP://SQLVM2.Contoso.com:5022', FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC, SECONDARY_ROLE(ALLOW_CONNECTIONS = NO));

GO

Примечание.

Ограничения базовых групп доступности применяются к команде CREATE AVAILABILITY GROUP, когда WITH BASIC указан. Например, при попытке создать базовую группу доступности, которая разрешает доступ на чтение, возникает ошибка. Таким же образом действуют и другие ограничения. Дополнительные сведения см. в разделе "Ограничения" этой статьи.