Получение каталога резервных копий SQL Server 2014 через Powershell

На машине с SQL Server 2012 я использую следующий сценарий Powershell для получения настроенного каталога резервных копий:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("localhost")
$BackupDirectory = $srv.Settings.BackupDirectory
Write-Host $BackupDirectory

При запуске того же сценария на машине с SQL Server 2014 результат пустой. Однако через SQL Management Studio я вижу, что каталог настроен правильно. Скрипт не вызывает никаких ошибок.

Что мне здесь может не хватать?

0
задан 8 March 2017 в 15:04
2 ответа

Причина, по которой скрипт ничего не вернул, заключалась в том, что моему пользователю Windows не разрешили войти на серверный экземпляр SQL. Я не узнал этого, так как другие приложения используют свои выделенные логины.

Adter добавив пользователя Windows, сценарий работает нормально.

1
ответ дан 4 December 2019 в 13:34

Одна из причин, по которой значение пустое - это , когда у вас нет прав на доступ к экземпляру, к которому вы подключаетесь. Значение для $BackupHistory пустое.

Убедитесь, что вы подключаетесь к правильному экземпляру:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("<host_name>\<instance_name>")

или к экземпляру по умолчанию:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("<host_name>")

Например, к экземпляру с именем 2014INSTANCE при локальной установке SQL-сервера с несколькими экземплярами:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("localhost\2014INSTANCE")

Остальное утверждение должно работать так, как задумывалось.

.
1
ответ дан 4 December 2019 в 13:34

Теги

Похожие вопросы