通过Powershell获取SQL Server 2014的备份目录

在SQL Server 2012计算机上,我使用以下Powershell脚本来获取configuration的备份目录:

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

在使用SQL Server 2014的计算机上运行相同的脚本时,结果为空。 通过SQLpipe理工作室,但是我可以看到该目录configuration正确。 该脚本不会导致任何错误。

我可能在这里错过了什么?

脚本没有返回任何东西的原因是我的Windows用户不允许login到SQL服务器实例。 我没有认识到这一点,因为其他应用程序使用他们的专用login。

Adter添加了Windows用户脚本工作正常。

值为空的一个原因是当您无权访问您要连接的实例时。 $BackupHistory的值然后是空的。

确保您连接到正确的实例:

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

或者对于默认实例:

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

例如,对于具有多个实例的本地SQL Server安装中名为2014INSTANCE实例:

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

其余的声明应该按照预期工作。