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


11

Очевидно, что Windows Server Backup имеет некоторую поддержку для резервного копирования баз данных SQL Server:

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

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

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

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

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


Какая версия Windows Server и какая версия SQL-сервера?
Пауска

@pauska: Лично меня бы заинтересовали Windows Server 2012 R2 и SQL Server 2012. (Я намеренно держу вопрос более общим, чтобы сделать его более полезным для других.)
Хайнци

1
У меня Windows Server 2008, который делает полную резервную копию. Насколько я могу судить, он извлекает базы данных из SQL Server Express как часть своего полного резервного копирования, поскольку каждая база данных сообщает, что она была создана в последний раз во время выполнения этого резервного копирования. Это сбило меня с толку, так как я пытаюсь понять, как мне удалось сделать резервную копию этих баз данных, так как я не могу найти сценарий, который делает это где-нибудь. Я думаю, что я все равно напишу сценарий для этого, чтобы я знал, что он работает, и точно знаю, что у меня есть.
Дейв Кузино

Ответы:


5

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

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

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

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

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

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

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

Цитата из раздела службы SQL Writer : «Цель»

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

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

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

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

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

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

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

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

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

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

ответы:

  1. Да, вы можете сделать Windows Server Backup (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.


1

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

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


Я знаю, что не должен - я бы не доверил свои данные столь плохо документированной функции. Тем не менее, мне любопытно, теоретически это возможно: SQL Server действительно предоставляет средство записи VSS, а Windows Server Backup является запросчиком VSS, поэтому я пока оставлю этот вопрос открытым. Может быть, это просто вопрос соответствия этих двух (например, в Интернете есть инструкции о том, как это сделать для устройства записи Hyper-V VSS ).
Хайнци

1
Очевидно, что Windows Server Backup действительно запускает какое-то резервное копирование SQL-сервера, см. Этот вопрос .
Хайнци

1

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

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

связанные с


0

Я думаю, что он использует специальный тип резервной копии под названием «Snapshot Backup».

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.