在Azure powershell cmdlet中监视Start-AzureSqlDatabaseCopy

时间:2014-11-17 15:29:13

标签: database powershell azure azure-sql-database

我试图监控正在进行的数据库副本(Start-AzureSqlDatabaseCopy)。 我已经设置了以下内容:

$dbCopy = Start-AzureSqlDatabaseCopy -ServerName $serverName -DatabaseName $sourceDbName -PartnerDatabase $targetDbName -PartnerServer $serverName

WHILE ($dbCopy)
{
   $dbCopy = Get-AzureSqlDatabaseCopy -ServerName $serverName -DatabaseCopy $dbCopy
   Write-Host $dbCopy.ReplicationStateDescription
   [System.Threading.Thread]::Sleep(1000);
}

状态正在等待(第一次约7次),然后返回"资源不存在"的例外。 数据库被复制好,但我如何用脚本监控?'

这是我得到方法概要(https://stackoverflow.com/a/25268033/4261741

的地方

2 个答案:

答案 0 :(得分:1)

您可以查看以下百分比。

Start-AzureSqlDatabaseCopy -ServerName $SourceServerName -DatabaseName $SourceDatabaseName -PartnerServer $TargetServerName -PartnerDatabase $TargetDatabaseName 

$i = 0

do
{
    sleep -Seconds 5
    $check = Get-AzureSqlDatabaseCopy -ServerName $TargetServerName -DatabaseName $TargetDatabaseName
    $i = $check.PercentComplete
}
while ($i -ne $null)

答案 1 :(得分:0)

如果其他人回到此答案,如果您使用新的资源管理器cmdlet,则无需监视进度。它会阻止,直到副本完成。 New-AzureRmSqlDatabaseCopy