Использование Powershell для получения данных резервного копирования SQL - PullRequest
1 голос
/ 27 октября 2011

Я искал способы автоматического получения информации о резервных копиях SQL, и сценарий Powershell в этой статье Technet был бы полезен, если бы не проблема с возвращаемыми данными.

При запуске возвращается дата «последнего резервного копирования» для тестовых баз данных, которые, как я знаю, не были заархивированы с помощью SQL. Казалось бы, это занимает время резервного копирования системы; оно совпадает со временем запуска beVSS в журнале событий ОС (резервное копирование сервера осуществляется с помощью Backup Exec 2010, без использования агента SQL).

Я бы хотел, чтобы он собирал информацию о последнем запуске резервного копирования SQL, а не о резервной копии системы. Можно ли как-то отфильтровать?

Сервер БД - Windows Server 2008 / SQL Server 2008.

Редактировать

Чтобы уточнить, я ищу решения в PowerShell, а не в SQL, и понимаю, почему PowerShell возвращает то, что он делает.

Ответы [ 2 ]

4 голосов
/ 29 ноября 2011

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

SELECT 
    bf.physical_device_name ,
    name ,
    bs.backup_start_date ,
    bs.media_set_id
    FROM sys.databases d
    OUTER APPLY (
        SELECT TOP 1
            backup_start_date ,
            media_set_id
        FROM msdb.dbo.backupset
        WHERE type != 'L'
        AND database_name = d.name
        ORDER BY backup_start_date DESC
    ) bs
INNER JOIN msdb.dbo.backupmediafamily bf ON bf.media_set_id = bs.media_set_id
1 голос
/ 31 октября 2011

Я склонен использовать запросы к таблице наборов резервных копий в msdb вместо свойства SMO LastBackupDate Database, как упоминалось в статье, на которую вы ссылались.

В моей среде мы используем CommVault Galaxy для резервного копирования, и я могу отфильтровать резервные копии по CommvVault по сравнению с обычными резервными копиями SQL, посмотрев на столбец user_name таблицы backupset.Агент SQL и CommVault работают под разными учетными записями пользователей.

http://msdn.microsoft.com/en-us/library/ms186299.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...