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

Powershell (sqlps) lastbackupdate не изменяется, несмотря на выполнение резервного копирования 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 года.

Спасибо

Мэтт

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

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

dir SQLSERVER:\SQL\Server1\default\databases | foreach { $_.Refresh() }