Поделиться через


Настройка доставки журналов для SQL Server на виртуальных машинах Azure

Область применения:SQL Server на виртуальной машине Azure

В этой статье описано, как настроить лог-шиппинг между двумя SQL Server на виртуальных машинах Azure (VMs).

Обзор

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

Доставка журналов транзакций в основном используется в качестве решения для аварийного восстановления и может сочетаться с другими вариантами, обеспечивающими высокую готовность и аварийное восстановление, включая группы доступности Always On.

Предварительные условия

Чтобы настроить доставку журналов для SQL Server на виртуальных машинах Azure, необходимо иметь следующие предварительные требования:

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

  • База данных-источник должна использовать полную или массовую модель восстановления. Доставка журналов перестает работать, если основная база данных переключается на простую модель восстановления.

  • Учетная запись, настраивающая пересылку журналов, должна быть членом постоянной роли сервера sysadmin.

Create a File Share in Azure File storage (Создание файлового ресурса в хранилище файлов Azure)

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

Чтобы создать файловый ресурс Azure в портале Azure, выполните следующие действия.

  1. Перейдите в группу ресурсов в портал Azure и выберите учетную запись хранения, которую вы планируете использовать для резервного копирования журналов транзакций.

  2. В разделе хранилище данных выберите Файловые ресурсы, и нажмите +Файловая загрузка, чтобы создать новый файловый ресурс.

    Снимок экрана: опция создания файлового ресурса в портале Azure.

  3. На вкладке Основные укажите имя файлового ресурса, например log-shipping. Вы можете оставить Уровень на значении по умолчанию — Оптимизация транзакций.

  4. (Необязательно) На вкладке "Резервное копирование" установите флажок, чтобы включить резервные копии общей папки в Azure Backup.

  5. Выберите "Просмотр и создание ", чтобы просмотреть параметры общей папки, а затем нажмите кнопку "Создать ", чтобы создать новую общую папку.

Создание каталогов резервных копий

После создания общей папки необходимо создать следующие два каталога:

  • Каталог для записи резервных копий журналов основного компонента системы
  • Каталог для вторичного копирования и восстановления резервной копии журнала

Чтобы создать каталоги, выполните следующие действия.

  1. После создания общей папки Azure портал возвращается на страницу обзора для нового файла SMB.

  2. В разделе "Обзор" выберите + Добавить каталог. Укажите имя нового каталога, например резервные копии журналов. Нажмите ОК.

    Снимок экрана параметра добавления нового каталога в портале Azure.

  3. Повторите предыдущий шаг, чтобы добавить второй каталог, например резервные копии восстановления. Нажмите ОК.

Подключение виртуальных машин к общей папке

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

Чтобы определить детали подключения, выберите "Подключиться" на странице "Просмотр" или "Обзор" общих папок, чтобы открыть окно "Подключение".

Снимок экрана: параметр

Окно Connect предоставляет скрипт, позволяющий ресурсу получить доступ к общей папке. При необходимости измените букву диска, чтобы подключить общую папку к виртуальной машине. В этом руководстве используется ключ учетной записи хранения для виртуальной машины Windows.

Выберите " Показать сценарий", чтобы просмотреть скрипт , скопировать его и запустить его на каждой виртуальной машине SQL Server, в которой планируется настроить доставку журналов.

После выполнения скрипта Connect можно использовать следующий командлет PowerShell для проверки подключения к порту 445:

Test-NetConnection -ComputerName yourstorageaccount.file.core.windows.net -Port 445

Если тест подключения выполнен успешно, вы увидите выходные данные TcpTestSucceeded : True.

Предоставление sql Server доступа к общей папке

После успешного подключения виртуальных машин SQL Server к общей папке предоставьте учетной записи службы SQL Server разрешение на доступ к общей папке, создав учетные данные в SQL Server с помощью URL-адреса, имени пользователя и пароля из скрипта Connect .

Чтобы создать учетные данные, включите xp_cmdshell, используйте его для создания учетных данных, прежде чем снова отключить xp_cmdshell.

Чтобы предоставить учетной записи службы SQL Server доступ к общей папке, выполните следующие действия для каждого экземпляра SQL Server, который планируется использовать для доставки журналов:

  1. Подключитесь к виртуальной машине SQL Server с учетной записью, которая входит в роль sysadmin .

  2. Откройте SQL Server Management Studio (SSMS) и подключитесь к экземпляру SQL Server.

  3. Откройте новое окно запроса и запустите следующий код Transact-SQL, содержащий сведения о ключе хранилища, полученные из портал Azure:

    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    exec sp_configure 'xp_cmdshell', 1;
    RECONFIGURE;
    GO
    EXEC xp_cmdshell 'cmdkey /add:"yourstorageaccount.file.core.windows.net" /user:"localhost\yourstorageaccount" /pass:"<yourpasskey>"';
    GO
    EXEC sp_configure 'xp_cmdshell', 0;
    RECONFIGURE;
    GO
    

    После выполнения команды SSMS подтверждает, что учетные данные добавлены успешно:

    Снимок экрана: подтверждение успешного создания учетных данных в SSMS.

Настройка доставки журналов

После того как экземпляры SQL Server смогут получить доступ к общей папке, используйте SQL Server Management Studio (SSMS) для настройки доставки журналов.

Чтобы настроить доставку журналов, выполните следующие действия.

  1. Подключитесь к основному экземпляру SQL Server.

  2. Щелкните правой кнопкой мыши базу данных, которую вы хотите использовать в качестве базы данных-источника в конфигурации доставки журналов, а затем выберите "Свойства".

  3. В разделе "Выбор страницы" выберите "Доставка журналов транзакций".

  4. Установите флажок рядом с пунктом Включить это в качестве основной базы данных в конфигурации доставки журналов.

  5. В разделе "Резервные копии журналов транзакций" выберите "Параметры резервного копирования".

  6. В поле "Сетевой путь к папке резервного копирования" введите сетевой путь к общей папке и каталогу, созданному для папки резервного копирования журнала транзакций.

    Например: \\yourstorageaccount.file.core.windows.net\log-shipping\log-backups

  7. Настройте параметры Удаление файлов старше и Предупреждение, если резервное копирование не выполняется в течение в соответствии с вашими бизнес-потребностями.

    1. Обратите внимание на расписание в поле Расписание в разделе Задание резервного копирования. Если вы хотите настроить расписание установки, выберите "Расписание" и настройте агент SQL Server расписание по мере необходимости.

    2. SQL Server поддерживает сжатие резервных копий. При создании конфигурации доставки журналов можно управлять поведением сжатия резервных копий журналов, выбрав один из следующих параметров: Использовать параметр сервера по умолчанию, Сжимать резервные копииили Не сжимать резервные копии. Дополнительные сведения см. в статье Log Shipping Transaction Log Backup Settings.

    3. Нажмите ОК, чтобы сохранить параметры.

  8. В разделе вторичные экземпляры серверов и базы данных выберите Добавить.

  9. Используйте подключение для подключения к экземпляру SQL Server, который вы хотите использовать в качестве дополнительного сервера.

    1. В поле Вторичная база данных выберите базу данных из списка или введите имя базы данных, которую нужно создать.

    2. На вкладке Инициализация базы данных-получателя выберите параметр, который нужно использовать для инициализации базы данных-получателя.

    Примечание.

    Если вы решите инициализировать вторичную базу данных с использованием резервной копии, файлы данных и журналов вторичной базы данных помещаются в то же место, что и файлы данных и журналов master базы данных. Это расположение, вероятно, будет отличаться от расположения файлов данных и файлов журнала базы данных-источника.

  10. На вкладке "Копировать файлы" в папке назначения для скопированных файлов введите путь к папке, в которой требуется скопировать резервные копии журналов транзакций, например каталог резервных копий восстановления, созданный для общей папки:

    \\yourstorageaccount.file.core.windows.net\log-shipping\restore-backups

    1. Обратите внимание на расписание копирования в поле Расписание в разделе Задание копирования. Если вы хотите настроить расписание установки, выберите "Расписание", а затем настройте расписание агент SQL Server по мере необходимости. Это расписание должно быть максимально приближено к расписанию резервного копирования.
  11. На вкладке Восстановление журнала транзакций в разделе Состояние базы данных во время восстановления резервных копийвыберите пункт Без режима восстановления или Режим ожидания .

    Внимание

    Режим ожидания доступен, только если версии сервера-источника и сервера-получателя совпадают. Если основная версия вторичного сервера выше основной, допускается только Без режима восстановления.

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

    2. Если нужно отложить процесс восстановления на сервере-получателе, укажите время задержки в поле Отложить восстановление резервных копий по крайней мере на.

    3. Выберите пороговое значение для предупреждения в поле Предупреждение, если восстановление не выполнено в течение.

    4. Обратите внимание на расписание восстановления в поле Расписание раздела Задание восстановления. Если вы хотите настроить расписание установки, выберите "Расписание", а затем настройте расписание агент SQL Server по мере необходимости. Это расписание должно быть максимально приближено к расписанию резервного копирования.

    5. Нажмите ОК, чтобы сохранить параметры.

  12. (Optional) В разделе "Мониторинг экземпляра сервера" установите флажок "Использовать экземпляр сервера монитора" и выберите "Параметры".

    Внимание

    Для отслеживания данной конфигурации доставки журналов необходимо добавить сервер мониторинга сейчас. Чтобы добавить сервер мониторинга позже, необходимо удалить конфигурацию доставки журналов и заменить новой конфигурацией, включающей сервер монитора.

    1. Используйте подключение для подключения к экземпляру SQL Server, который вы хотите использовать в качестве сервера мониторинга.

    2. В разделе Соединения с сервером мониторингавыберите метод подключения, который используется заданиями резервного копирования, обычного копирования и восстановления для соединения с сервером мониторинга.

    3. В разделе Хранение журналавыберите отрезок времени, в течение которого нужно хранить записи об отправке журналов.

    4. Нажмите ОК, чтобы сохранить параметры.

  13. В диалоговом окне "Свойства базы данных" используйте "ОК", чтобы начать процесс настройки.