Последнее резервное копирование Powershell (sqlps) не меняется, несмотря на запуск резервного копирования sqlserver

Я использую Powershell для проверки времени последнего резервного копирования во всех наших базах данных sqlserver. Кажется, это работает очень хорошо, но у меня есть вопрос

Если я запускаю это (урезанная версия самого скрипта):

dir SQLSERVER:\SQL\Server1\default\databases | select parent, name, 
lastbackupdate

Я получил:

Parent                     Name                       LastBackupDate
------                     ----                       --------------
[Server1]                  ADBA                       10/09/2012 21:15:37
[Server1]                  ReportServer               10/09/2012 21:00:17
[Server1]                  ReportServerTempDB         10/09/2012 21:00:18
[Server1]                  db1                        10/09/2012 21:15:35

Если я затем запускаю sql-резервную копию экземпляра Server1 по умолчанию и выполняю тот же запрос, дата последнего резервного копирования не изменяется:

PS C:\temp> dir SQLSERVER:\SQL\Server1\default\databases | select parent, name,
lastbackupdate

Parent                     Name                       LastBackupDate
------                     ----                       --------------
[Server1]                  ADBA                       10/09/2012 21:15:37
[Server1]                  ReportServer               10/09/2012 21:00:17
[Server1]                  ReportServerTempDB         10/09/2012 21:00:18
[Server1]                  db1                        10/09/2012 21:15:35

... но если я открою новое окно powershell, оно покажет резервную копию, которую я только что сделал:

PS SQLSERVER:\> dir SQLSERVER:\SQL\Server1\default\databases | select parent, 
name,    lastbackupdate

Parent                     Name                       LastBackupDate
------                     ----                       --------------
[server1]                  ADBA                       12/09/2012 09:03:23
[server1]                  ReportServer               12/09/2012 08:48:03
[server1]                  ReportServerTempDB         12/09/2012 08:48:04
[server1]                  db1                        12/09/2012 09:03:21

Я предполагаю, что это ожидаемое поведение, но кто-нибудь может показать мне, где это задокументировано / объяснено - я просто хочу понять, что происходит.

Это работает SQlps, который пришел с 2008 года, против экземпляра 2008 года.

Спасибо

Matt

1 ответ

Решение

sqlps использует SMO так же, как SQL Server Management Studio, и вы когда-нибудь замечали, что в панели проводника объектов базы данных нужно щелкнуть правой кнопкой мыши и выбрать команду "обновить", например, при создании новой таблицы с помощью T-SQL в области запросов? Ну, та же концепция, только с sqlps, здесь нет щелчка правой кнопкой мыши.

Вместо этого вам нужно вызвать метод обновления:

dir SQLSERVER:\SQL\Server1\default\databases | foreach { $_.Refresh() }
Другие вопросы по тегам