Powershell:Backup-Sqldatabase无法解析路径

时间:2016-06-10 10:19:12

标签: database powershell path backup backup-sqldatabase

编辑:

我发现我还需要指定ServerInstance:

Backup-SqlDatabase -ServerInstance [ServerName] -Database [DBName] -BackupFile "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Copy.bak"

原始邮件:

我尝试使用Backup-Sqldatabase cmdlet备份数据库。 这是我试图运行的脚本:

Backup-SqlDatabase -Database "LokalUdvikling" -CompressionOption "On" -CopyOnly -Path “C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA" -BackUpFile "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Copy.bak"

这会导致此错误:

Backup-SqlDatabase : Failed to resolve the path ‘C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL’ to an object of type 'Microsoft.S
qlServer.Management.Smo.Server'. Either set your location to the proper context, or use the -Path parameter to specify the location. 
At line:1 char:1
+ Backup-SqlDatabase
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (C:\Program File...SQLSERVER\MSSQL:String) [Backup-SqlDatabase], SqlPowerShellContextException
    + FullyQualifiedErrorId : ContextError,Microsoft.SqlServer.Management.PowerShell.BackupSqlDatabaseCommand

路径是数据库文件所在的位置。我做错了什么?

我真的希望有人可以帮助/澄清事情:)

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

Traceback (most recent call last):
  File "/tmp/myproject/test.py", line 24, in <module>
    app = TestFlaskApp()
  File "/tmp/myproject/test.py", line 17, in __init__
    self.debug = True
  File "/usr/lib/python2.7/dist-packages/flask/config.py", line 36, in __set__
    obj.config[self.__name__] = value
AttributeError: 'TestFlaskApp' object has no attribute 'config'

我在测试环境中编写并执行了上述操作,并且备份完成没有问题。

运行和输出的语法类似于下面的内容:

Function Invoke-SQLBackup {

[CmdletBinding()]
param(
    [Parameter(Mandatory=$true)]
    [String] $ServerInstance,

    [Parameter(Mandatory=$true)]
    [String] $DatabaseName,

    [Parameter(Mandatory=$true)]
    [String] $BackupFile

    )

if (Get-Module -ListAvailable -Name SQLPS)
    {
        Import-Module SQLPS -Force

            Backup-SqlDatabase -ServerInstance $ServerInstance -Database $DatabaseName -BackupFile $BackupFile -Verbose 
    }

ELSE

    {
        Write-Output "SQLPS Module not Installed. Please install and try again."
    }
}

由于您尝试保存到程序文件中的默认sql文件夹,请确保您将脚本作为可以写入该位置的帐户运行。例如,管理员帐户或者如果您有备份服务帐户,则其中任何一个都可以使用。默认情况下,管理员帐户应该具有访问程序文件文件夹的权限。

希望这有帮助。