Назад | Перейти на главную страницу

Как я могу сделать резервную копию базы данных SQL Server с помощью Windows Server Backup?

По-видимому, в Windows Server Backup есть некоторые поддержка резервного копирования баз данных SQL Server:

Возможность восстановления приложений. Windows Server Backup использует функции VSS, встроенные в такие приложения, как Microsoft® SQL Server®, для защиты данных приложений. [Источник: TechNet]

Кроме того, люди сообщают, что резервное копирование Windows Server запускать какую-то операцию резервного копирования в SQL Server.

Однако мне не удалось найти (официальную) документацию по как именно для резервного копирования баз данных SQL Server с помощью Windows Server Backup.


(Я знаю, как делать резервные копии с помощью планов обслуживания SQL Server, sqlmaint.exe, T-SQL BACKUP и агент SQL Server. Меня просто интересует альтернатива, которую предлагает Windows Server Backup (очевидно?).)

Windows Server Backup не предназначен в качестве средства резервного копирования для SQL Server.

... Однако дизайн делает его особенно подходящим для небольших организаций или частных лиц, которые не ИТ-специалисты ...

Цитата из Пошаговое руководство по резервному копированию Windows Server для Windows Server 2008 раздел: «Кому следует использовать Windows Server Backup?»

В процитированном вами разделе в основном говорится, что при запуске резервного копирования Windows Server запускается функция VSS в Windows. SQL Server будет знать о том, что происходит теневое копирование тома, и с помощью службы SQL Server Writer гарантирует, что копирование файлов базы данных (* .mdf, * .ndf, * .ldf) может быть выполнено.

Назначение службы модуля записи SQL Server определяется следующим образом:

При запуске компонент Database Engine блокируется и имеет монопольный доступ к файлам данных. Когда служба SQL Writer Service не запущена, программы резервного копирования, работающие в Windows, не имеют доступа к файлам данных, и резервное копирование должно выполняться с использованием резервного копирования SQL Server.

Используйте службу SQL Writer, чтобы разрешить программам резервного копирования Windows копировать файлы данных SQL Server во время работы SQL Server.

Цитата из Служба записи SQL раздел: «Назначение»

Так что это в основном все, что происходит с резервным копированием Windows Server.

Резервные копии, созданные с помощью Windows Server Backup во время работы SQL Server должно быть согласован, но транзакции, еще не записанные на диск, не находятся в теневой копии тома. Моментальный снимок базы данных был сделан в режиме ONLINE.

Однако статья MSDN Резервные копии моментальных снимков состояния:

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

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

и дополнительно:

За исключением случаев, отмеченных ранее в этом разделе, резервные копии моментальных снимков функционально эквивалентны соответствующим стандартным резервным копиям. Вы можете использовать резервные копии моментальных снимков в последовательностях восстановления с полными резервными копиями без моментальных снимков, дифференциальными резервными копиями и резервными копиями журналов. Как и другие резервные копии, резервные копии моментальных снимков отслеживаются в базе данных msdb, где резервные копии моментальных снимков идентифицируются с помощью backupset.is_snapshot = 1. Для получения дополнительной информации о msdb см. База данных msdb.

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

Чтобы ответить на ваши вопросы:

  • Мне просто нужно сделать резервную копию .mdf? Файлы .mdf и .ldf?
  • Онлайн или просто офлайн?
  • Какова официальная процедура восстановления баз данных SQL Server, зарезервированных таким образом?
  • Есть ли что-то особенное, что нужно учитывать при выполнении инкрементного / дифференциального резервного копирования?
  • Где все это задокументировано?

Ответы:

  1. Да, вы можете сделать резервную копию Windows Server (VSS) файлов .mdf и .ldf. Резервная копия должно быть согласованно, но после восстановления база данных перейдет в автономный режим.
  2. Если SQL Server остановлен / база данных отключена / база данных отключена, то копия VSS файлов .mdf и .ldf будет согласована на 100%.
  3. Я не знаю, как восстановить базу данных (на определенный момент времени), которая выполняется с помощью Windows Server Backup, поскольку база данных восстанавливается в автономном состоянии. База данных в состоянии OFFLINE не может быть восстановлена ​​/ восстановлена ​​в дальнейшем, и перевод базы данных ONLINE приводит к тому, что база данных считается полностью восстановленной. Я бы рекомендовал отдельные резервные копии SQL Server FULL, DIFF и TLOG, чтобы обеспечить возможность восстановления базы данных до определенного момента времени.
  4. Журналы транзакций не являются частью моментальных снимков, созданных с помощью Window Server Backup, и должны выполняться дополнительно. Дифференциальные моментальные снимки поддерживаются сторонними поставщиками как часть последовательности резервного копирования, но Windows Server Backup, похоже, не может выполнять дифференциальное резервное копирование. В этом случае вам также придется выполнить дополнительное дифференциальное резервное копирование. (см. 3.)
  5. Различные ссылки

Объясняется в реальной реализации

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

DBNAME  TYPE BACKUPSET_NAME            IS_SNAPSHOT BACKUP_START_DATE        
------- ---- ------------------------- ----------- -----------------------  
DB_NAME  Full  NULL                    1           2016-12-10 18:23:59.000  
DB_NAME  Full  CommVault Galaxy Backup 0           2016-12-10 20:07:41.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-11 06:00:40.000  
DB_NAME  Full  NULL                    1           2016-12-11 18:24:00.000  
DB_NAME  Diff  CommVault Galaxy Backup 0           2016-12-11 20:03:38.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 06:02:29.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 07:02:17.000  

Снимок VMware создаст запись в таблицах истории базы данных MSDB с IS_SNAPSHOT = 1 и FULL для каждого снимка состояния VMware (ежедневно). Собственное (а Commvault использует собственный) резервное копирование SQL Server выполняется с использованием резервных копий FULL, DIFF и TLOG. Эти резервные копии не помечаются как IS_SNAPSHOT и существуют как дополнительные записи FULL (раз в неделю), DIFF (через день) и LOG (ежечасно) в таблицах резервных копий в базе данных msdb.

С помощью этой настройки мы можем выполнить либо восстановление на момент времени снимка, а затем перевести базу данных в ОНЛАЙН, либо мы можем выполнить индивидуальное восстановление на любой момент времени, используя «собственные» резервные копии SQL Server.

Sql backup не только копирует данные, но и обрезает журнал. Вы можете найти сотни опций на странице руководства, которые помогут вам, например, сжатие файла резервной копии на лету.

Я помню, что резервное копирование vss использовалось для копирования замороженной виртуальной машины или для создания моментального снимка lun в SAN с целью резервного копирования статического образа, но резервная копия будет «устойчивой к сбоям», как и прерывание питания, и не будет действительно согласованной.

Связанный

Вы не можете. Или, по крайней мере, не стоит. Что касается баз данных SQL Server, то поддерживаемым методом является собственное резервное копирование.

Я думаю, что вы неправильно понимаете, о чем говорится в статье TechNet. Процитированный вами комментарий не означает, что вы можете использовать резервную копию Windows Server для баз данных SQL Server. Фактически это просто подчеркивает, что резервное копирование Windows Server использует ту же службу теневого копирования томов, которая используется в SQL Server. Дополнительная информация: TechNet: Служба записи SQL

я считать он использует специальный тип резервного копирования, называемый «Резервное копирование моментальных снимков».

Из документации SQL Server 2008:

Резервное копирование моментальных снимков SQL Server также используется службой теневого копирования томов (VSS) Microsoft Windows Server 2003 и всем программным обеспечением резервного копирования и хранилищем, которое использует эту структуру. Дополнительные сведения см. В разделе Служба записи SQL.

Мне все это очень непонятно. Особенно, если это обрезает журналы транзакций или нет.