Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Эта тема содержит ALTER DATABASE синтаксис для настройки опций групп доступности Always On на вторичной базе данных. В каждой SET HADR выписке разрешен только один ALTER DATABASE вариант. Эти параметры поддерживаются только во вторичных репликах.
Соглашения о синтаксисе Transact-SQL
Синтаксис
ALTER DATABASE database_name
SET HADR
{
{ AVAILABILITY GROUP = group_name | OFF }
| { SUSPEND | RESUME }
}
[;]
Аргументы
database_name
Имя изменяемой базы данных-получателя.
SET HADR
Выполняет указанную команду групп доступности Always On в указанной базе данных.
{ AVAILABILITY GROUP=group_name | OFF }
Присоединяет базу данных доступности к указанной группе доступности или исключает ее из группы, как показано ниже.
group_name
Присоединяет указанную базу данных, размещенной на вторичной реплике на экземпляре сервера, где выполняется эта команда, к группе доступности, указанной в параметре group_name.
Необходимые условия для выполнения этой операции следующие:
База данных должна быть уже добавлена в группу доступности на основной реплике.
Основная реплика должна быть активной. Сведения о том, как разрешать проблемы в неактивной основной реплике, см. в разделе Разрешение проблем с конфигурацией групп доступности AlwaysOn (SQL Server).
Основная реплика должна находиться в интерактивном режиме, а дополнительная реплика должна быть подключена к основной реплике.
База данных-получатель должна быть восстановлена с применением параметра WITH NORECOVERY из недавней резервной копии баз данных и журнала для основной базы данных, причем эта резервная копия журнала должна быть достаточно свежей, чтобы база данных-получатель могла полностью восстановить актуальное состояние основной базы данных.
Примечание.
Чтобы добавить базу данных в группу доступности, подключитесь к экземпляру сервера, где размещена основная реплика, и используйте ALTER AVAILABILITY GROUP оператор group_name ADD DATABASEdatabase_name.
Дополнительные сведения см. в статье Присоединение базы данных-получателя к группе доступности (SQL Server).
ВЫКЛ.
Удаляет указанную базу данных-получатель из группы доступности.
Удаление базы данных-получателя может быть полезным в случае, если ее состояние значительно отстает от состояния основной базы данных, и ожидать длительной синхронизации состояния нежелательно. После удаления вторичной базы данных вы можете обновить её, восстановив последовательность резервных копий, заканчивающихся недавней резервной копией логов (используя RESTORE ... С NORECOVERY).
Внимание
Чтобы полностью удалить базу данных доступности из группы доступности, подключитесь к серверному экземпляру, где размещена основная реплика, и используйте ALTER AVAILABILITY GROUP оператор group_name REMOVE DATABASEavailability_database_name. Дополнительные сведения см. в статье Удаление базы данных-источника из группы доступности Always On.
SUSPEND
Приостанавливает перемещение данных в базу данных-получатель. Команда SUSPEND возвращается сразу после принятия репликой, в которой размещена целевая база данных, но фактическая приостановка базы данных происходит асинхронно.
Масштаб воздействия зависит от того, где вы исполняете заявление ALTER DATABASE :
Если приостанавливается база данных-получатель во вторичной реплике, то будет приостановлена только локальная база данных-получатель. Существующие соединения в предназначенной для чтения вторичной реплике остаются применимыми. Новые соединения с приостановленной базой данных в предназначенной только для чтения вторичной реплике не допускаются, пока движение данных не будет возобновлено.
Если приостанавливается база данных в первичной реплике, то будет приостановлена передача данных в соответствующие базы данных-получатели каждой из вторичных реплик. Существующие соединения во вторичной реплике для чтения остаются применимыми, и со вторичными репликами для чтения не будут устанавливаться новые соединения.
Если движение данных приостановлено из-за принудительного перехода на другой ресурс вручную, то соединения с новой вторичной репликой не допускаются до тех пор, пока движение данных остается приостановленным.
Если приостанавливается база данных во вторичной реплике, и база данных, и реплика становятся несинхронизированными и отмечаются как NOT SYNCHRONIZED.
Внимание
Пока база данных-получатель остается приостановленной, в очереди отправки соответствующей основной базы данных накапливаются неотправленные записи журнала транзакций. Соединения с вторичной репликой возвращают данные, которые были доступными ко времени приостановки движения данных.
Примечание.
Приостановка и возобновление вторичной базы данных Always On напрямую не влияет на доступность первичной базы данных, хотя приостановка вторичной базы данных может повлиять на избыточность и возможности резервирования первичной базы данных до тех пор, пока приостановленная вторичная база данных не будет возобновлена. Этим она отличается от зеркального отображения базы данных, где состояние зеркального отображения приостанавливается как в зеркальной базе данных, так и в основной базе данных, до тех пор пока не возобновится зеркальное отображение. Приостановка базы данных-источника AlwaysOn приостанавливает перемещение данных для всех соответствующих баз данных-получателей, а функции избыточности и отработки отказа для этой базы данных не работают до тех пор, пока работа базы данных-источника не будет возобновлена.
Дополнительные сведения см. в статье Приостановка базы данных доступности (SQL Server).
RESUME
Возобновляет приостановленную передачу данных в указанную базу данных-получатель. Команда RESUME возвращается сразу после принятия репликой, в которой размещена целевая база данных, но фактическое возобновление базы данных происходит асинхронно.
Масштаб воздействия зависит от того, где вы исполняете заявление ALTER DATABASE :
Если возобновляется база данных-получатель во вторичной реплике, то будет возобновлена только локальная база данных-получатель. Перемещение данных возобновляется, если база данных не была также приостановлена в основной реплике.
Если восстанавливается база данных в первичной реплике, то будет восстановлена передача данных во все вторичные реплики, в которых соответствующие базы данных-получатели не были также приостановлены локально. Чтобы возобновить базу данных-получатель, которая была по отдельности приостановлена во вторичной реплике, подключитесь к экземпляру сервера, на котором размещена вторичная реплика, и возобновите базу данных в этом сеансе.
В режиме синхронной фиксации состояние базы данных меняется на SYNCHRONIZING. Если в данный момент ни одна другая база данных не приостановлена, состояние реплики также меняется на SYNCHRONIZING.
Дополнительные сведения см. в статье Возобновление базы данных доступности (SQL Server).
Состояния базы данных
При присоединении базы данных-получателя к группе доступности локальная вторичная реплика изменяет состояние этой базы данных-получателя с RESTORING на ONLINE. Если база данных-получатель удаляется из группы доступности, локальная вторичная реплика возвращает базу данных в состояние RESTORING. Это позволяет применять к такой базе данных-получателю последовательные резервные копии журналов из основной базы данных.
Ограничения
Выполняйте ALTER DATABASE выписки вне транзакций и пакетов.
Безопасность
Разрешения
Необходимо разрешение ALTER в базе данных. Для присоединения базы данных к группе доступности требуется членство в предопределенной роли базы данных db_owner.
Примеры
В следующем примере база данных-получатель AccountsDb1 включается в локальную вторичную реплику группы доступности AccountsAG.
ALTER DATABASE AccountsDb1 SET HADR AVAILABILITY GROUP = AccountsAG;
Примечание.
Пример использования инструкции Transact-SQL в контексте см. в статье Создание группы доступности Always On с помощью Transact-SQL (T-SQL).