Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL2008_Administration.doc
Скачиваний:
91
Добавлен:
08.11.2018
Размер:
3.38 Mб
Скачать

10.3.4. Мониторинг зеркального отображения

Мониторинг процессов зеркального отображения в SQL Server 2008 можно производить несколькими способами.

  1. Воспользоваться вкладкой Mirroring свойств базы данных. Общая информация о состоянии зеркального отображения отображается в поле Status в нижней части вкладки.

  2. Воспользоваться счетчиками Системного монитора для объекта MSSQL$имя_экземпляра: Database Mirroring. К главным счетчикам для этого объекта можно отнести:

    1. Transaction Delay — с какой задержкой происходит синхронизация серверов;

    2. Redo Queue, KB— сколько килобайт накопилось в очереди для применения на зеркальном сервере;

    3. Bytes Received/Sec и Bytes Sent/Sec — при помощи этих двух счетчиков можно определять, насколько активно происходит обмен информацией между сервером-принципалом и зеркальным сервером.

  3. Воспользоваться специальными системными представлениями, хранящимися в базе данных master:

    1. sys.database_mirroring — информация по всем базам данных на сервере, которые принимают участие в зеркальном отображении;

    2. sys.database_mirroring_endpoints — сводная информация по всем точкам подключения по HTTP, которые используются для зеркального отображения баз данных;

    3. sys.database_mirroring_witnesses — получение информации на следящем сервере. В ней перечислены сервер-принципал и зеркальный сервер, режим зеркального отображения, текущее состояние каждой из баз данных, принимающих участие в зеркальном отображении и т.п.;

    4. sys.dm_db_mirroring_connections — информация по сетевым соединениям, которые используются для зеркального отображения.

  4. Воспользоваться событием зеркального отображения Database Mirroring State Change, информацию о котором можно получить при помощи профилировщика или Event Notifications. Это событие находится в группе Database. Главные столбцы этого события — State и Text. Столбец State позволяет узнать, как именно изменилось состояние базы данных, принимающей участие в зеркальном отображении, а столбец Text позволяет получить текстовое описание для этого события с дополнительной информацией.

10.3.5. Смена ролей серверов

При переключении ролей серверов необходимо перенаправить клиентов, которые обращались к серверу-принципалу, на сервер-зеркало.

  1. При использовании подключений по ODBC или OLE DB необходимо производить такое переключение вручную. Это можно сделать, например, изменив настройки на всех клиентских компьютерах, или поменяв имя бывшего зеркального сервера, изменив его IP-адрес и т.п.

  2. Если клиентское приложение использовало для подключения к серверу средства SQL Native Client или ADO.NET Data Provider, клиенты смогут в автоматическом режиме обращаться к новому серверу. Для этого достаточно изначально в строке подключения клиентского приложения указать, кроме основного сервера, еще и запасной сервер, в роли которого будет выступать сервер с зеркальной копией базы данных. Выглядеть такая строка подключения может так:

"server=имя_сервера_принципала; failover partner=имя_зеркального_сервера; database=AdventureWorks"

Про следящий сервер клиентские компьютеры ничего не знают и указывать его в строке подключения не надо.

Три варианта смены ролей серверов при зеркальном отображении баз данных:

  1. автоматическое переключение ролей серверов при выходе из строя сервера-принципала.

Необходимо, чтобы в системе был настроен следящий сервер, а само зеркальное отображение работало в режиме Synchronous with automatic failover.

  1. переключение ролей вручную, когда оба сервера остаются доступными. В этом случае серверы просто меняются ролями;

Этот вариант обычно используется администратором для проверки возможности переключения или для того, чтобы на время отключить сервер-принципал. Эту операцию можно произвести двумя способами:

  • на вкладке Mirroring свойств зеркалированной базы данных нажать на кнопку Failover;

  • выполнить команду Transact-SQL

ALTER DATABASE имя_зеркалированной_базы_данных SET PARTNER FAILOVER

  1. переключение ролей вручную в аварийном режиме, когда сервер-принципал недоступен.

Этот вариант используется в аварийной ситуации, когда сервер-принципал внезапно выходит из строя, а администратору нужно как можно быстрее обеспечить восстановление работоспособности сервера и нормальную работу клиентов. Для выполнения этой операции на сервере, который выполнял роль зеркального, нужно выполнить команду Transact-SQL

ALTER DATABASE имя_зеркалированной_базы_данных SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

База данных, которая выполняла роль зеркальной копии, будет открыта для пользователей в нормальном режиме.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]