SQL Server: выполнение резервных копий
Администраторы баз данных имеют возможность регулярно создавать резервные копии своих баз данных несколькими способами. К числу наиболее распространенных методов управления резервными копиями относятся следующие.
• Ручные сценарии (подготовленные на языке Т-SQL или с помощью PowerShell либо аналогичного продукта), предусматривающие выполнение резервных копий в соответствии с заданным расписанием, а также удаление ранее сделанных резервных копий для высвобождения дискового пространства.
• Планы обслуживания SQL Server. Я расскажу о них подробно в одной из следующих статей.
• Специализированные инструменты и решения от независимых поставщиков, предназначенные для выполнения таких задач, как резервирование содержимого нескольких серверов, шифрование, а также (для версий, предшествующих SQL Server 2008/2008 R2) сжатие резервных копий. Я не имею в виду средства резервного копирования от сторонних поставщиков, предназначенные прежде всего для резервирования «файлов», поставляемых с дополнительными компонентами «SQL Server»: некоторые из этих решений функционируют вполне нормально, но другие вытворяют с базами данных невообразимые вещи.
Сценарии от сторонних поставщиков — такие, как превосходное решение SQL Server Backup компании Ola Hallengren. С помощью подобных инструментов можно управлять резервными копиями и другими обслуживающими программами (включая средства поддержки управления резервными копиями с помощью поставляемых сторонними поставщиками продуктов, обеспечивающих управление резервными копиями).
Но в любом случае, независимо от того, указывает ли администратор баз данных предпочтительные настройки с помощью графического интерфейса (что происходит при использовании средств резервного копирования от сторонних поставщиков либо планов обслуживания SQL Server) или вручную, вводя значения и настройки в набор сценариев (собственных либо тех, что предлагаются в продукте 01а), конечный результат сводится к следующему. Администратор баз данных получает набор команд на языке T-SQL, которые в конце концов выполняются применительно к целевым системам SQL Server, с тем чтобы запускать резервные копии и попутно решать другие задачи.
Поэтому главная забота при работе с группами доступности AlwaysOn состоит в том, чтобы обеспечить такой порядок, когда команды резервного копирования выполняются лишь применительно к целевым или предпочтительным серверам. Реализация этого положения определяется вносимыми в существующие команды изменениями, цель которых — обеспечить проверку или оценку того, выполняется ли запушенный код на предпочтительном сервере, и действовать соответственно.