Как напрямую считывать метаданные из файлов резервных копий SQL Server?

Как правило, чтобы получить метаданные из файлов резервных копий SQL Server, нам нужно использовать команды TSQL, такие как restore headeronly или restore filelistonly. Однако есть некоторые сторонние инструменты, которые могут считывать эту информацию непосредственно из файлов резервных копий, напримерhttp://www.yohz.com/sqlbakreader_details.htm. Поскольку этот инструмент не имеет версии командной строки, что делает его менее полезным. Я хочу знать, есть ли какие-то способы, которыми я могу прочитать эти данные напрямую.

спасибо.

2 ответов


The .файл bak-это файл формата ленты Microsoft. Вот PDF, который содержит формат.

интерес для вас будет:

enter image description here

для быстрого дампа (если вы находитесь на SQL Server в вопросе, который создал резервную копию), вы можете сделать выбор из [msdb].[dbo].[резервное копирование*] таблицы.

посмотреть этот статьи для получения дополнительной информации.


Я думаю, вы можете использовать библиотеки SMO SQL Server и писать свои собственные в .net или Powershell. Если вы посмотрите на эту страницу http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.restore.readbackupheader.aspx есть примеры кода в VB.Net и Powershell.