Базовые группы доступности 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 указан. Например, при попытке создать базовую группу доступности, которая разрешает доступ на чтение, возникает ошибка. Таким же образом действуют и другие ограничения. Дополнительные сведения см. в разделе "Ограничения" этой статьи.