Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server powershell sqlbackup和复制文件_Sql Server_Powershell - Fatal编程技术网

Sql server powershell sqlbackup和复制文件

Sql server powershell sqlbackup和复制文件,sql-server,powershell,Sql Server,Powershell,我正在编写一个PS脚本来备份数据库并将.bak复制到另一台服务器。但是,备份似乎是异步进行的。有时它会提前到达copy命令 我试过这些建议,但不太管用 sqlbackup.Wait()。。。似乎做了我想做的事情(至少在纸面上),但似乎不起作用。在生成文件之前,它仍然会到达“我的复制”命令。你知道怎么让它工作吗。。。这就是我正在做的 $smoBackup = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Backup $smoBac

我正在编写一个PS脚本来备份数据库并将.bak复制到另一台服务器。但是,备份似乎是异步进行的。有时它会提前到达copy命令

我试过这些建议,但不太管用

sqlbackup.Wait()
。。。似乎做了我想做的事情(至少在纸面上),但似乎不起作用。在生成文件之前,它仍然会到达“我的复制”命令。你知道怎么让它工作吗。。。这就是我正在做的

$smoBackup = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Backup
$smoBackup.Action = "Database"
$smoBackup.BackupSetDescription = "Full Backup of " + $dbName
$smoBackup.BackupSetName = $dbName + " Backup"
$smoBackup.Database = $dbName
$smoBackup.MediaDescription = "Disk"
$smoBackup.Devices.AddDevice($sourcePath, "File")
$smoBackup.CopyOnly = "true"
$smoBackup.SqlBackup($SourceSrv)

Copy-Item -Path $sourcePathUNC -Destination $destinationPathUNC

很容易就解决了。。。告诉它等等。在您的
复制项目之前,请输入以下内容:

While(!(Test-Path $sourcePathUNC)){Start-Sleep -M 500}
这样,只要它没有看到文件,它就会等待半秒钟,然后再试一次