@unk1nD000

Как посмотреть, где лежит архивная копия базы данных?

код:
$smoserver = New-Object Microsoft.SqlServer.Management.Smo.Server 'LOCALHOST'
$Mybase = ($smoserver.Databases | Where-Object {$_.IsSystemObject -eq $false})

Как вывести путь до файлов архивных копий $Mybase? В $Mybase | Get-Member ответа нет.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Гугл подсказывает что примерно так
foreach ($DatabaseName in $MyBase.Name) {

  $BackupPath = $smoserver.Databases['msdb'].ExecuteWithResults("SELECT TOP 1 backupmediafamily.physical_device_name FROM backupset JOIN backupmediafamily ON backupset.media_set_id = backupmediafamily.media_set_id WHERE backupset.database_name = '$($DatabaseName)' ORDER BY backupset.backup_start_date DESC")

  $BackupPath.Tables[0].physical_device_name
}

Может можно и оптимизировать, но, эти данные не привязаны к базе, а лежат именно в msdb
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы