Зеркальное отображение базы данных (SQL Server)Database Mirroring (SQL Server)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

Примечание

В будущей версии Microsoft SQL Server этот компонент будет удален.This feature will be removed in a future version of Microsoft SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Вместо этого используйте Группы доступности AlwaysOnAlways On availability groups.Use Группы доступности AlwaysOnAlways On availability groups instead.

Зеркальное отображение базы данных — это решение, нацеленное на повышение доступности базы данных SQL ServerSQL Server .Database mirroring is a solution for increasing the availability of a SQL ServerSQL Server database. Зеркальное отображение каждой базы данных осуществляется отдельно и работает только с теми базами данных, которые используют модель полного восстановления.Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model.

Важно!

Сведения о поддержке зеркального отображения баз данных, ограничениях, предварительных требованиях, рекомендациях для настройки серверов-партнеров и рекомендациях для развертывания зеркального отображения баз данных см. в разделе Предварительные условия, ограничения и рекомендации по зеркальному отображению базы данных.For information about support for database mirroring, restrictions, prerequisites, recommendations for configuring partner servers, and recommendations for deploying database mirroring, see Prerequisites, Restrictions, and Recommendations for Database Mirroring.

Преимущества зеркального отображения базы данныхBenefits of Database Mirroring

Зеркальное отображение базы данных — это простая стратегия обеспечения надежности, имеющая следующие преимущества:Database mirroring is a simple strategy that offers the following benefits:

  • Повышает доступность базы данных.Increases availability of a database.

    В режиме высокой безопасности с автоматическим переходом на другой ресурс и возникновении сбоя резервная копия базы данных переводится в режим «в сети» (без потери данных).In the event of a disaster, in high-safety mode with automatic failover, failover quickly brings the standby copy of the database online (without data loss). В других режимах работы администратор базы данных может включить принудительное обслуживание (с возможной потерей данных) на резервной копии базы данных.In the other operating modes, the database administrator has the alternative of forcing service (with possible data loss) to the standby copy of the database. Дополнительные сведения см. в подразделе Переключение ролейдалее в этом разделе.For more information, see Role Switching, later in this topic.

  • Повышает защиту данных.Increases data protection.

    Зеркальное отображение базы данных обеспечивает полную или почти полную избыточность данных в зависимости от того, какой режим установлен: высокой безопасности или высокой производительности.Database mirroring provides complete or almost complete redundancy of the data, depending on whether the operating mode is high-safety or high-performance. Дополнительные сведения см. в подразделе Режимы работыниже в этом разделе.For more information, see Operating Modes, later in this topic.

    Участник зеркального отображения, запущенный в SQL Server 2008 EnterpriseSQL Server 2008 Enterprise или более поздней версии, предпринимает попытки автоматически разрешить ошибки некоторых типов, которые могут мешать чтению страницы данных.A database mirroring partner running on SQL Server 2008 EnterpriseSQL Server 2008 Enterprise or later versions automatically tries to resolve certain types of errors that prevent reading a data page. Участник, который не может прочитать страницу, запрашивает новую копию у другого участника.The partner that is unable to read a page requests a fresh copy from the other partner. Если этот запрос завершился успешно, то нечитаемая страница заменяется копией, в результате чего ошибка обычно устраняется.If this request succeeds, the unreadable page is replaced by the copy, which usually resolves the error. Дополнительные сведения см. в статье Автоматическое восстановление страниц (группы доступности: зеркальное отображение баз данных).For more information, see Automatic Page Repair (Availability Groups: Database Mirroring).

  • Повышает доступность рабочей базы данных при обновлениях.Improves the availability of the production database during upgrades.

    Чтобы свести к минимуму время простоя базы данных, участвующей в зеркальном отображении, можно последовательно обновить экземпляры SQL ServerSQL Server , на которых размещены партнеры по обеспечению отработки отказа.To minimize downtime for a mirrored database, you can sequentially upgrade the instances of SQL ServerSQL Server that are hosting the failover partners. Это вызовет простой только на время одной отработки отказа.This will incur the downtime of only a single failover. Этот вид обновления известен как пошаговое обновление.This form of upgrade is known as a rolling upgrade. Дополнительные сведения см. в статье Upgrading Mirrored Instances.For more information, see Upgrading Mirrored Instances.

Термины и определения зеркального отображения базы данныхDatabase Mirroring Terms and Definitions

автоматический переход на другой ресурсautomatic failover
Процесс, согласно которому при недоступности основного сервера зеркальный сервер берет на себя роль основного сервера и выводит свою копию базы данных в сеть как основную базу данных.The process by which, when the principal server becomes unavailable, the mirror server to take over the role of principal server and brings its copy of the database online as the principal database.

партнеры по обеспечению отработки отказаfailover partners
Два экземпляра сервера (основной сервер или зеркальный сервер), которые работают как участники переключения ролей для зеркальной базы данных.The two server instances (the principal server or the mirror server) that act as role-switching partners for a mirrored database.

принудительное обслуживаниеforced service
Отработка отказа, начатая владельцем базы данных при сбое основного сервера, когда в ходе передачи обслуживание переносится в зеркальную базу данных, находящуюся в неизвестном состоянии.A failover initiated by the database owner upon the failure of the principal server that transfers service to the mirror database while it is in an unknown state.

Высокопроизводительный режимHigh-performance mode
Сеанс зеркального отображения базы данных работает асинхронно и использует только основной сервер и зеркальный сервер.The database mirroring session operates asynchronously and uses only the principal server and mirror server. Единственной формой переключения ролей является принудительное обслуживание (с возможной потерей данных).The only form of role switching is forced service (with possible data loss).

Режим высокой безопасностиHigh-safety mode
Сеанс зеркального отображения базы данных работает синхронно, и в нем в случае необходимости используются следящий сервер, а также основной сервер и зеркальный сервер.The database mirroring session operates synchronously and, optionally, uses a witness, as well as the principal server and mirror server.

переход на другой ресурс вручнуюmanual failover
Переход на другой ресурс вручную, начатый владельцем базы данных, притом что основной сервер все еще продолжает работу. В результате обслуживание переносится с основной базы данных в зеркальную, в то время как они находятся в синхронизированном состоянии.A failover initiated by the database owner, while the principal server is still running, that transfers service from the principal database to the mirror database while they are in a synchronized state.

зеркальная база данныхmirror database
Копия базы данных, которая обычно полностью синхронизирована с основной базой данных.The copy of the database that is typically fully synchronized with the principal database.

зеркальный серверmirror server
Экземпляр сервера в конфигурации зеркального отображения базы данных, на котором хранится зеркальная база данных.In a database mirroring configuration, the server instance on which the mirror database resides.

основная база данныхprincipal database
При зеркальном отображении базы данных, база данных, доступная для чтения-записи, записи журнала транзакций которой применяются к копии базы данных только для чтения (зеркальной базы данных).In database mirroring, a read-write database whose transaction log records are applied to a read-only copy of the database (a mirror database).

основной серверprincipal server
При зеркальном отображении базы данных — участник, база данных которого в текущий момент времени является основной.In database mirroring, the partner whose database is currently the principal database.

очередь повтораredo queue
Полученные записи журнала транзакций, ожидающие на диске зеркального сервера.Received transaction log records that are waiting on the disk of a mirror server.

рольrole
Основной сервер и зеркальный сервер выполняют взаимно дополнительные роли основного и зеркального.The principal server and mirror server perform complementary principal and mirror roles. Необязательную роль следящего сервера выполняет третий экземпляр сервера.Optionally, the role of witness is performed by a third server instance.

Переключение ролейrole switching
Принятие зеркалом на себя роли основного.The taking over of the principal role by the mirror.

очередь отправкиsend queue
Неотправленные записи журнала транзакций, которые накопились на диске журнала основного сервера.Unsent transaction log records that have accumulated on the log disk of the principal server.

сеансsession
Связь, возникающая в ходе зеркального отображения базы данных между основным сервером, зеркальным сервером и следящим сервером (если таковой присутствует).The relationship that occurs during database mirroring among the principal server, mirror server, and witness server (if present).

После запуска или возобновления сеанса зеркального отображения процесс, при помощи которого собранные на основном сервере записи журнала основной базы данных отправляются на зеркальный сервер, который как можно быстрее записывает их на диск, чтобы приблизиться к состоянию основного сервера.After a mirroring session starts or resumes, the process by which log records of the principal database that have accumulated on the principal server are sent to the mirror server, which writes these log records to disk as quickly as possible to catch up with the principal server.

Безопасность транзакцийTransaction safety
Характерное для зеркального отображения свойство базы данных, которое определяет, будет работать сеанс зеркального отображения базы данных в синхронном или асинхронном режиме.A mirroring-specific database property that determines whether a database mirroring session operates synchronously or asynchronously. Существует два уровня безопасности: FULL и OFF.There are two safety levels: FULL and OFF.

СвидетельWitness
Дополнительный экземпляр SQL Server для использования только в режиме повышенной безопасности, который позволяет зеркальному серверу узнавать время начала автоматического перехода на другой ресурс.For use only with high-safety mode, an optional instance of SQL Server that enables the mirror server to recognize when to initiate an automatic failover. В отличие от двух партнеров по обеспечению отработки отказа, следящий сервер не обслуживает базу данных.Unlike the two failover partners, the witness does not serve the database. Его единственная функция заключается в поддержке автоматического перехода на другой ресурс.Supporting automatic failover is the only role of the witness.

Обзор зеркального отображения базы данныхOverview of Database Mirroring

Зеркальное отображение базы данных поддерживает две копии одной базы данных, которые должны находиться на различных экземплярах сервера Компонент SQL Server Database EngineSQL Server Database Engine.Database mirroring maintains two copies of a single database that must reside on different server instances of Компонент SQL Server Database EngineSQL Server Database Engine. Обычно такие экземпляры находятся на компьютерах, расположенных в разных местах.Typically, these server instances reside on computers in different locations. Запуская зеркальное отображение базы данных, устанавливает связь, известную как сеанс зеркального отображения базы данныхмежду этими экземплярами сервера.Starting database mirroring on a database, initiates a relationship, known as a database mirroring session, between these server instances.

Один экземпляр сервера предоставляет базу данных клиентам ( основной сервер).One server instance serves the database to clients (the principal server). Другой экземпляр выступает в качестве сервера горячей замены или горячего резерва ( зеркальный сервер) в зависимости от конфигурации и состоянии сеанса зеркального отображения.The other instance acts as a hot or warm standby server (the mirror server), depending on the configuration and state of the mirroring session. Синхронизация сеанса зеркального отображения базы данных позволяет получить сервер «горячего» резервирования, поддерживающий быструю отработку отказа без потери данных зафиксированных транзакций.When a database mirroring session is synchronized, database mirroring provides a hot standby server that supports rapid failover without a loss of data from committed transactions. Если сеанс не синхронизирован, то зеркальный сервер обычно работает в качестве сервера «теплого» резервирования (с возможной потерей данных).When the session is not synchronized, the mirror server is typically available as a warm standby server (with possible data loss).

Основной и зеркальный серверы соединены и работают совместно, являясь участниками сеанса зеркального отображения базы данных.The principal and mirror servers communicate and cooperate as partners in a database mirroring session. Два участника выполняют в сеансе взаимодополняющие роли: основную роль и зеркальную роль.The two partners perform complementary roles in the session: the principal role and the mirror role. В любой момент времени один из участников играет роль основного сервера, а другой участник — зеркального.At any given time, one partner performs the principal role, and the other partner performs the mirror role. При этом говорится, что участник владеет своей текущей ролью.Each partner is described as owning its current role. Участник, владеющий основной ролью, называется основным сервером, а его копия базы данных является текущей основной базой данных.The partner that owns the principal role is known as the principal server, and its copy of the database is the current principal database. Участник, владеющий зеркальной ролью, называется зеркальным сервером, а его копия базы данных является текущей зеркальной базой данных.The partner that owns the mirror role is known as the mirror server, and its copy of the database is the current mirror database. При развертывании зеркального отображения базы данных в рабочей среде основная база данных является рабочей базой данных.When database mirroring is deployed in a production environment, the principal database is the production database.

Зеркальное отображение базы данных заключается в том, что в зеркальной базе данных повторяются все операции вставки, обновления и удаления, производимые в основной базе данных.Database mirroring involves redoing every insert, update, and delete operation that occurs on the principal database onto the mirror database as quickly as possible. Для этого поток записей активных транзакций с максимально возможной быстротой отправляется на зеркальный сервер.Redoing is accomplished by sending a stream of active transaction log records to the mirror server, which applies log records to the mirror database, in sequence, as quickly as possible. В отличие от репликации, которая работает на логическом уровне, зеркальное отображение базы данных работает на уровне физической записи журнала.Unlike replication, which works at the logical level, database mirroring works at the level of the physical log record. Начиная с SQL Server 2008SQL Server 2008, основной сервер сжимает поток записей журнала транзакций перед отправкой на зеркальный сервер.Beginning in SQL Server 2008SQL Server 2008, the principal server compresses the stream of transaction log records before sending it to the mirror server. Такое сжатие журнала осуществляется во всех сеансах зеркального отображения.This log compression occurs in all mirroring sessions.

Примечание

Указанный экземпляр сервера может быть задействован в нескольких одновременных сеансах зеркального отображения базы данных с одними и теми же или разными участниками.A given server instance can participate in multiple concurrent database mirroring sessions with the same or different partners. В некоторых сеансах указанный экземпляр сервера может быть участником, в других — следящим сервером.A server instance can be a partner in some sessions and a witness in other sessions. На экземпляре зеркального сервера должен эксплуатироваться тот же выпуск SQL ServerSQL Server.The mirror server instance must be running the same edition of SQL ServerSQL Server.

В этом разделе.In This Section:

Режимы работыOperating Modes

Сеансы зеркального отображения базы данных выполняется при помощи синхронных или асинхронных операций.A database mirroring session runs with either synchronous or asynchronous operation. В асинхронном режиме транзакции фиксируются немедленно, не ожидая, пока зеркальный сервер запишет журнал на диск, что позволяет повысить производительность.Under asynchronous operation, the transactions commit without waiting for the mirror server to write the log to disk, which maximizes performance. Синхронный режим обеспечивает фиксацию транзакции на обоих участниках, но при этом повышается риск задержки транзакций.Under synchronous operation, a transaction is committed on both partners, but at the cost of increased transaction latency.

Существует два режима работы зеркального отображения.There are two mirroring operating modes. Первый режим высокого уровня безопасности поддерживает синхронную работу.One of them, high-safety mode supports synchronous operation. В этом режиме в момент начала сеанса зеркальный сервер с максимально возможной скоростью синхронизирует зеркальную базу данных с основной базой данных.Under high-safety mode, when a session starts, the mirror server synchronizes the mirror database together with the principal database as quickly as possible. После синхронизации базы данных транзакция фиксируется на обоих участниках за счет повышения риска задержки транзакции.As soon as the databases are synchronized, a transaction is committed on both partners, at the cost of increased transaction latency.

Второй режим высокой производительностиработает асинхронно.The second operating mode, high-performance mode, runs asynchronously. Зеркальный сервер пытается соответствовать записям в журнале, отправляемым основным сервером.The mirror server tries to keep up with the log records sent by the principal server. Зеркальная база данных может несколько отставать от основной базы данных.The mirror database might lag somewhat behind the principal database. Хотя разрыв между базами данных, как правило, очень мал.However, typically, the gap between the databases is small. Однако этот разрыв может стать существенным, если основной сервер сильно загружен или перегружена система зеркального сервера.However, the gap can become significant if the principal server is under a heavy work load or the system of the mirror server is overloaded.

В режиме высокой производительности, как только основной сервер отправляет журнал транзакций зеркальному серверу, основной сервер отправляет подтверждение клиенту.In high-performance mode, as soon as the principal server sends a log record to the mirror server, the principal server sends a confirmation to the client. Он не дожидается подтверждения от зеркального сервера.It does not wait for an acknowledgement from the mirror server. Это означает, что транзакции фиксируются немедленно, не ожидая, пока зеркальный сервер запишет запись журнала транзакций на диск.This means that transactions commit without waiting for the mirror server to write the log to disk. Такая асинхронная операция позволяет основному серверу работать с минимальной задержкой транзакций, но с риском возможной потери некоторых данных.Such asynchronous operation enables the principal server to run with minimum transaction latency, at the potential risk of some data loss.

Для всех сеансов зеркального отображения базы данных поддерживается только один основной и один зеркальный сервер.All database mirroring sessions support only one principal server and one mirror server. Эта конфигурация показана на следующем рисунке.This configuration is shown in the following illustration.

Участники сеанса зеркального отображения базы данныхPartners in a database mirroring session

Для режима высокого уровня безопасности с автоматической отработкой отказа требуется третий экземпляр сервера, называемый следящим.High-safety mode with automatic failover requires a third server instance, known as a witness. В отличие от двух участников зеркального отображения, следящий сервер не обслуживает базу данных.Unlike the two partners, the witness does not serve the database. Он отвечает за автоматическую отработку отказа, следя за работоспособностью и функциональностью основного сервера.The witness supports automatic failover by verifying whether the principal server is up and functioning. Зеркальный сервер запускает автоматический переход на другой ресурс только в случае сохранения связи между зеркальным и следящим серверами после отключения обоих серверов от основного сервера.The mirror server initiates automatic failover only if the mirror and the witness remain connected to each other after both have been disconnected from the principal server.

На следующей иллюстрации показана конфигурация с участием следящего сервера.The following illustration shows a configuration that includes a witness.

Сеанс зеркального отображения, в котором участвует следящий серверA mirroring session that includes a witness

Дополнительные сведения см. в подразделе Переключение ролейдалее в этом разделе.For more information, see Role Switching, later in this topic.

Примечание

Установление нового сеанса зеркального отображения или добавление следящего сервера к существующей конфигурации требует, чтобы на всех применяемых экземплярах серверов работала одна и та же версия SQL ServerSQL Server.Establishing a new mirroring session or adding a witness to an existing mirroring configuration requires that all involved server instances run the same version of SQL ServerSQL Server. Однако при обновлении до SQL Server 2008SQL Server 2008 или более поздней версии допускается, чтобы версии экземпляров различались.However, when you are upgrading to SQL Server 2008SQL Server 2008 or a later version, the versions of the involved instances can vary. Дополнительные сведения см. в статье Upgrading Mirrored Instances.For more information, see Upgrading Mirrored Instances.

Безопасность транзакций и рабочие режимыTransaction Safety and Operating Modes

Тип режима работы (асинхронный или синхронный) зависит от установки безопасности транзакций.Whether an operating mode is asynchronous or synchronous depends on the transaction safety setting. Если для настройки зеркального отображения базы данных монопольно используется среда SQL Server Management StudioSQL Server Management Studio , параметры безопасности транзакций настраиваются автоматически при выборе режима работы.If you exclusively use SQL Server Management StudioSQL Server Management Studio to configure database mirroring, transaction safety settings are configured automatically when you select the operation mode.

При настройке зеркального отображения базы данных с помощью инструкций Transact-SQLTransact-SQL необходимо обладать знаниями о настройке безопасности транзакций.If you use Transact-SQLTransact-SQL to configure database mirroring, you must understand how to set transaction safety. Безопасность транзакций управляется свойством SAFETY инструкции ALTER DATABASE.Transaction safety is controlled by the SAFETY property of the ALTER DATABASE statement. Для базы данных, зеркальная копия которой создается, свойство SAFETY имеет значение FULL или OFF.On a database that is being mirrored, SAFETY is either FULL or OFF.

  • Если параметр SAFETY имеет значение FULL, операция зеркального отображения базы данных выполняется в синхронном режиме после начальной фазы синхронизации.If the SAFETY option is set to FULL, database mirroring operation is synchronous, after the initial synchronizing phase. Если следящий сервер установлен в режим высокой производительности, то в сеансе поддерживается автоматическая отработка отказа.If a witness is set in high-safety mode, the session supports automatic failover.

  • Если параметр SAFETY имеет значение OFF, то операция зеркального отображения базы данных выполняется в асинхронном режиме.If the SAFETY option is set to OFF, database mirroring operation is asynchronous. Сеанс работает в режиме высокой производительности, и параметр WITNESS также должен иметь значение OFF.The session runs in high-performance mode, and the WITNESS option should also be OFF.

Дополнительные сведения см. в статье Database Mirroring Operating Modes.For more information, see Database Mirroring Operating Modes.

Переключение ролейRole Switching

В контексте сеанса зеркального отображения базы данных роли основного и зеркального серверов обычно взаимозаменяемы посредством так называемого переключения ролей.Within the context of a database mirroring session, the principal and mirror roles are typically interchangeable in a process known as role switching. Переключение ролей заключается в передаче основной роли зеркальному серверу.Role switching involves transferring the principal role to the mirror server. При этом зеркальный сервер действует в качестве партнера по обеспечению отработки отказа для основного сервера.In role switching, the mirror server acts as the failover partner for the principal server. При переключении роли зеркальный сервер принимает на себя роль основного и переводит свою копию базы данных в режим «в сети», начиная функционировать в качестве основной базы данных.When a role switch occurs, the mirror server takes over the principal role and brings its copy of the database online as the new principal database. Бывший основной сервер (если он доступен) принимает на себя роль зеркального, а его база данных становится новой зеркальной базой данных.The former principal server, if available, assumes the mirror role, and its database becomes the new mirror database. В принципе, переключение ролей туда и обратно может выполняться многократно.Potentially, the roles can switch back and forth repeatedly.

Существует три формы переключения ролей.The following three forms of role switching exist.

  • Автоматическая отработка отказаAutomatic failover

    Для этого требуется режим высокого уровня безопасности и наличие зеркального сервера и следящего сервера.This requires high-safety mode and the presence of the mirror server and a witness. База данных уже должна быть синхронизирована, а следящий сервер должен быть подключен к зеркальному.The database must already be synchronized, and the witness must be connected to the mirror server.

    Роль следящего сервера заключается в определении готовности и функциональности указанного сервера-участника.The role of the witness is to verify whether a given partner server is up and functioning. При нарушении соединения зеркального сервера с основным сервером, но сохранении соединения следящего сервера с основным следящий сервер не инициирует отработку отказа.If the mirror server loses its connection to the principal server but the witness is still connected to the principal server, the mirror server does not initiate a failover. Дополнительные сведения см. в разделе Следящий сервер зеркального отображения базы данных.For more information, see Database Mirroring Witness.

  • Отработка отказа вручнуюManual failover

    Для перехода требуется режим высокого уровня безопасности.This requires high-safety mode. Участники должны быть подключены друг к другу, а база данных должна быть уже синхронизирована.The partners must be connected to each other, and the database must already be synchronized.

  • Принудительное обслуживание (с возможной потерей данных)Forced service (with possible data loss)

    В режиме высокой производительности и режиме высокого уровня безопасности без автоматической отработки отказа принудительное обслуживание возможно при сбое основного сервера и доступном зеркальном сервере.Under high-performance mode and high-safety mode without automatic failover, forcing service is possible if the principal server has failed and the mirror server is available.

    Важно!

    Режим высокой производительности предназначен для работы без следящего сервера.High-performance mode is intended to run without a witness. Но если существует следящий сервер, то для принудительного обслуживания необходимо, чтобы он был подключен к зеркальному серверу.But if a witness exists, forcing service requires that the witness is connected to the mirror server.

При любом сценарии переключения ролей, как только новая основная база данных переходит в режим «в сети», клиентские приложения быстро восстанавливают свою работу, заново соединившись с базой данных.In any role-switching scenario, as soon as the new principal database comes online, the client applications can recover quickly by reconnecting to the database.

Параллельные сеансыConcurrent Sessions

Указанный экземпляр сервера может участвовать в нескольких одновременных сеансах зеркального отображения базы данных (по одному на каждую зеркальную базу данных) с теми же или другими экземплярами сервера.A given server instance can participate in multiple, concurrent database mirroring sessions (once per mirrored database) with the same or different server instances. Часто экземпляр сервера служит исключительно в качестве участника или следящего сервера во всех сеансах зеркального отображения своей базы данных.Often, a server instance serves exclusively as a partner or a witness in all of its database mirroring sessions. Но поскольку каждый сеанс не зависит от остальных сеансов, экземпляр сервера может действовать в некоторых сеансах в качестве участника и в качестве следящего сервера в прочих сеансах.However, because each session is independent of the other sessions, a server instance can act as a partner in some sessions and as a witness in other sessions. Например, рассмотрим следующие четыре сеанса среди трех экземпляров сервера (SSInstance_1, SSInstance_2и SSInstance_3).For example, consider the following four sessions among three server instances (SSInstance_1, SSInstance_2, and SSInstance_3). Каждый экземпляр сервера служит в качестве участника в одних сеансах и в качестве следящего сервера в остальных.Each server instance serves as a partner in some sessions and as a witness in others:

Экземпляр сервераServer instance Сеанс для базы данных АSession for database A Сеанс для базы данных БSession for database B Сеанс для базы данных ВSession for database C Сеанс для базы данных ГSession for database D
SSInstance_1 СвидетельWitness ПартнерPartner ПартнерPartner ПартнерPartner
SSInstance_2 ПартнерPartner СвидетельWitness ПартнерPartner ПартнерPartner
SSInstance_3 ПартнерPartner ПартнерPartner СвидетельWitness СвидетельWitness

На рисунке, показанном ниже, изображены два экземпляра сервера, участвующие в качестве участников в двух сеансах зеркального отображения.The following figure illustrates two server instances that are participating as partners together in two mirroring sessions. Один из сеансов проводится для базы данных Db_1, а другой сеанс — для базы данных Db_2.One session is for a database named Db_1, and the other session is for a database named Db_2.

Два экземпляра сервера в двух одновременных сеансахTwo server instances in two concurrent sessions

Каждая из баз данных независима от других.Each of the databases is independent of the others. Например, экземпляр сервера изначально может быть зеркальным сервером для двух баз данных.For example, a server instance might initially be the mirror server for two databases. В случае если в одной из этих баз данных произойдет сбой, экземпляр сервера становится основным сервером для перехода на другой ресурс проблемной базы данных, оставаясь зеркальным сервером для другой базы данных.If one of those databases fails over, the server instance becomes the principal server for the failed-over database while remaining the mirror server for the other database.

В качестве другого примера рассмотрим ситуацию с экземпляром сервера, являющимся основным сервером для двух или более баз данных, работающих в режиме высокого уровня безопасности. Если в работе экземпляра сервера происходит сбой, выполняется автоматическая отработка отказа с переходом всех баз данных на соответствующие зеркальные базы данных.As another example, consider a server instance that is the principal server for two or more databases running in high-safety mode with automatic failover, If the server instance fails, all of the databases automatically failover to their respective mirror databases.

При настройке экземпляра сервера для работы одновременно в качестве участника и следящего сервера убедитесь в том, что конечная точка зеркального отображения базы данных поддерживает обе роли (дополнительные сведения см. в разделе Конечная точка зеркального отображения базы данных (SQL Server)).When setting up a server instance to operate both as a partner and a witness, be sure that the database mirroring endpoint supports both roles (for more information, see The Database Mirroring Endpoint (SQL Server)). Также убедитесь в том, что система обладает достаточными ресурсами для уменьшения вероятности конфликтных ситуаций.Also, ensure that the system has sufficient resources to reduce resource contention.

Примечание

Зеркальные базы данных независимы друг от друга, поэтому эти базы данных не могут переключаться при сбое как единая группа.Because mirrored databases are independent of each other, databases cannot fail over as a group.

Клиентские соединенияClient Connections

Поддержка клиентских соединений для сеансов зеркального отображения базы данных предоставлена поставщиком данных MicrosoftMicrosoft .NET для SQL ServerSQL Server.Client-connection support for database mirroring sessions is provided by the MicrosoftMicrosoft .NET Data Provider for SQL ServerSQL Server. Дополнительные сведения см. в статье Подключение клиентов к сеансу зеркального отображения базы данных (SQL Server).For more information, see Connect Clients to a Database Mirroring Session (SQL Server).

Влияние приостановки сеанса на журнал транзакций основного сервераImpact of Pausing a Session on the Principal Transaction Log

В любой момент владелец базы данных может приостановить сеанс.At any time, the database owner can pause a session. Приостановление сохраняет состояние сеанса при удалении зеркального отображения.Pausing preserves the session state while removing mirroring. При приостановке сеанса основной сервер не отправляет никаких новых транзакций на зеркальный сервер.When a session is paused, the principal server does not send any new log records to the mirror server. Все такие транзакции остаются активными и накапливаются в журнале транзакций основной базы данных.All of these records remain active and accumulate in the transaction log of the principal database. Пока сеанс зеркального отображения базы данных остается приостановленным, журнал транзакций не может быть усечен.As long as a database mirroring session remains paused, the transaction log cannot be truncated. Таким образом, если сеанс зеркального отображения базы данных приостанавливается на долгое время, журнал может заполниться до конца.Therefore, if the database mirroring session is paused for too long, the log can fill up.

Дополнительные сведения см. в подразделе Приостановка и возобновление зеркального отображения базы данных (SQL Server).For more information, see Pausing and Resuming Database Mirroring (SQL Server).

Настройка сеанса зеркального отображения базы данныхSetting Up Database Mirroring Session

Перед началом сеанса зеркального отображения владелец базы данных или системный администратор должен создать зеркальную базу данных, настроить конечные точки и учетные записи, а также в некоторых случаях создать и настроить сертификаты.Before a mirroring session can begin, the database owner or system administrator must create the mirror database, set up endpoints and logins, and, in some cases, create and set up certificates. Дополнительные сведения см. в подразделе Настройка зеркального отображения базы данных (SQL Server).For more information, see Setting Up Database Mirroring (SQL Server).

Возможности взаимодействия и совместной работы с другими функциями компонента Database EngineInteroperability and Coexistence with Other Database Engine Features

Зеркальное отображение базы данных можно использовать со следующими возможностями и компонентами SQL ServerSQL Server.Database mirroring can be used with the following features or components of SQL ServerSQL Server.

в этом разделеIn This Section

Предварительные условия, ограничения и рекомендации по зеркальному отображению базы данныхPrerequisites, Restrictions, and Recommendations for Database Mirroring
Описание предварительных условий и рекомендаций по настройке зеркального отображения базы данных.Describes the prerequisites and recommendations for setting up database mirroring.

Режимы работы зеркального отображения базы данныхDatabase Mirroring Operating Modes
Содержит сведения о синхронном и асинхронном режимах работы для сеансов зеркального отображения базы данных, а также о переключении ролей участников в ходе сеанса зеркального отображения базы данных.Contains information about the synchronous and asynchronous operating modes for database mirroring sessions, and about switching partner roles during a database mirroring session.

Следящий сервер зеркального отображения базы данныхDatabase Mirroring Witness
Описывает роль следящего сервера в зеркальном отображении базы данных, порядок использования единого следящего сервера в нескольких сеансах зеркального отображения, рекомендации по аппаратному и программному обеспечению для следящих серверов, а также роль следящего сервера при автоматическом переходе на другой ресурс.Describes the role of a witness in database mirroring, how to use a single witness in multiple mirroring sessions, software and hardware recommendations for witnesses, and the role of the witness in automatic failover. Он также содержит сведения о добавлении или удалении следящего сервера.It also contains information about adding or removing a witness.

Переключение ролей во время сеанса зеркального отображения базы данных (SQL Server)Role Switching During a Database Mirroring Session (SQL Server)
Содержит сведения о переключении ролей участников в ходе сеанса зеркального отображения базы данных, включая переход на другой ресурс автоматически и вручную, а также принудительное обслуживание (с возможной потерей данных).Contains information about switching partner roles during a database mirroring session, including automatic failover, manual failover, and forced service (with possible data loss). Также содержит сведения об оценке эффекта прерывания обслуживания в ходе переключения ролей.Also, contains information about estimating the interruption of service during role switching.

Возможные неполадки при зеркальном отображении базы данныхPossible Failures During Database Mirroring
Описывает физические проблемы, неполадки операционной системы и проблемы SQL ServerSQL Server , включая аппаратные и программные ошибки, которые могут вызвать сбой в сеансе зеркального отображения базы данных.Discusses physical, operating system, and SQL ServerSQL Server problems, including hard errors and soft errors, that can cause a failure in a database mirroring session. Описывает, как механизм ожидания при зеркальном отображении реагирует на кратковременные ошибки.Discusses how the mirroring time-out mechanism responds to soft errors.

Конечная точка зеркального отображения базы данных (SQL Server)The Database Mirroring Endpoint (SQL Server)
Объяснение функционирования конечных точек зеркального отображения базы данных.Discusses how the database mirroring endpoint functions.

Настройка зеркального отображения базы данных (SQL Server)Setting Up Database Mirroring (SQL Server)
Содержит разделы, описывающие предварительные условия, рекомендации и шаги настройки зеркального отображения базы данных.Contains topics about the prerequisites, recommendations, and steps for setting up database mirroring.

Подключение клиентов к сеансу зеркального отображения базы данных (SQL Server)Connect Clients to a Database Mirroring Session (SQL Server)
Содержит разделы, описывающие атрибуты строки соединения, используемой клиентом, и алгоритмы подключения и повторного подключения клиента к зеркальной базе данных.Contains topics covering client connection-string attributes and the algorithms for connecting and reconnecting a client to a mirrored database.

Приостановка и возобновление зеркального отображения базы данных (SQL Server)Pausing and Resuming Database Mirroring (SQL Server)
Описывает, что происходит при приостановке зеркального отображения базы данных, включая влияние на усечение журнала транзакций, а также содержит описание приостановки и возобновления зеркального отображения базы данных.Discusses what happens while database mirroring is paused, including the impact on transaction log truncation, and contains descriptions about how to pause and resume database mirroring.

Удаление зеркального отображения базы данных (SQL Server)Removing Database Mirroring (SQL Server)
Описывает влияние удаления зеркального отображения и содержит описание порядка завершения сеанса.Discusses the impact of removing mirroring and contains descriptions about how to end a session

Наблюдение за зеркальным отображением базы данных (SQL Server)Monitoring Database Mirroring (SQL Server)
Содержит информацию об использовании хранимых процедур монитора зеркального отображения баз данных ( dbmmonitor ) для мониторинга зеркального отображения базы данных и соответствующих сеансов.Contains information about using Database Mirroring Monitor or the dbmmonitor stored procedures to monitor database mirroring or sessions.

Задачи конфигурацииConfiguration Tasks

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Использование Transact-SQLUsing Transact-SQL

Использование Transact-SQL или среды SQL Server Management StudioUsing Transact-SQL or SQL Server Management Studio

Задачи администрированияAdministrative Tasks

Transact-SQLTransact-SQL

Среда SQL Server Management StudioSQL Server Management Studio

См. также:See Also

Конечная точка зеркального отображения базы данных (SQL Server) The Database Mirroring Endpoint (SQL Server)
Автоматическое восстановление страниц (группы доступности: зеркальное отображение баз данных) Automatic Page Repair (Availability Groups: Database Mirroring)
Диагностика конфигурации зеркального отображения базы данных (SQL Server) Troubleshoot Database Mirroring Configuration (SQL Server)
Зеркальное отображение базы данных: взаимодействие и совместимость (SQL Server) Database Mirroring: Interoperability and Coexistence (SQL Server)
Предварительные условия, ограничения и рекомендации по зеркальному отображению базы данных Prerequisites, Restrictions, and Recommendations for Database Mirroring
Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Сведения о доставке журналов (SQL Server)About Log Shipping (SQL Server)