Published on

April 23, 2013

Понимание реплик баз данных SQL Server

Когда речь идет о обеспечении высокой доступности и устойчивости вашей базы данных SQL Server, одним из ключевых понятий, которое следует понять, является использование реплик. Реплики – это копии вашей базы данных, которые поддерживаются на отдельных серверах и позволяют осуществлять аварийное восстановление в случае отказа аппаратного или программного обеспечения. В этой статье мы рассмотрим, как работают реплики и как определить, была ли ваша база данных перемещена между репликами.

Как работают реплики

В среде SQL Server реплики создаются с использованием технологий, таких как Windows Azure SQL Database (WASD). WASD использует три активные копии вашей базы данных для обеспечения непрерывной работы. Если первичная реплика выходит из строя, база данных автоматически перемещается на одну из вторичных реплик, которая поддерживает копию данных с первичной реплики.

При сбое соединения вашего приложения может возникнуть ошибка подключения. Microsoft предоставляет рекомендации по обработке этих ошибок подключения в своей белой книге по управлению подключением к базе данных Windows Azure SQL. Код ошибки 40197 специально связан с перемещением на вторичные реплики.

Определение перемещения

Хотя относительно легко определить, произошло ли перемещение во время подключения вашего приложения, становится более сложно определить, произошло ли перемещение, когда вы не были подключены. Нет конкретного объекта динамического управления или системного представления, которое предоставляет эту информацию.

Один из возможных подходов – проверить sys.event_log, который хранит агрегированную информацию о подключении и ошибках. Однако эта информация хранится внутри базы данных и, следовательно, перемещается во время сбоя. Кроме того, запрос sys.dm_exec_query_stats для проверки самого старого времени компиляции любого данного запроса может быть ненадежным из-за изменчивости кэша.

На данный момент, если вы не получаете ошибку подключения, нет определенного указания на то, что ваша база данных была перемещена с первичной на реплику. Однако это не должно вызывать серьезных опасений. Цель использования реплик – переложить управление аварийным восстановлением на других, позволяя вам сосредоточиться на создании вашей базы данных и кода приложения соответствующим образом.

Заключение

Понимание того, как работают реплики и как определить, была ли ваша база данных перемещена между репликами, является важным для обеспечения высокой доступности и устойчивости в среде SQL Server. Хотя может не существовать надежного метода для определения перемещения, которое произошло, когда вы не были подключены, общая цель – полагаться на возможности аварийного восстановления, предоставляемые технологиями, такими как WASD. Таким образом, вы можете сосредоточиться на разработке вашей базы данных и кода приложения, не беспокоясь о базовой инфраструктуре.

Для получения более подробной информации о Windows Azure SQL Database и других темах SQL Server рекомендуется посетить предконференционный семинар “Как стать успешным DBA в изменяющемся мире облачных и локальных данных” на предстоящих мероприятиях Tech Ed.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.