Azure CLI SQL 数据库还原时间格式

Azure CLI SQL DB Restore time format

我正在使用 Azure CLI 编写 Powershell 脚本来执行 Azure SQL 实例还原。到目前为止,这是我的脚本:

az login

$AzureSubscription = "SubscriptionName"
az account set --subscription $AzureSubscription

$RGName = "ResourceGroupName"
$SrvName = "AzureSQLServerName"

$RestoreDateTime = (Get-Date).ToUniversalTime().AddHours(-1).ToString()
$RestoreDateTimeString = (Get-Date).ToUniversalTime().AddHours(-1).ToString("yyyy-MM-dd_HH:mm")
$RestoreName = $SrvName + "_" + $RestoreDateTimeString

az sql db restore --dest-name $RestoreName --resource-group $RGName --server $SrvName --name $SrvName  --time = $RestoreDateTime

当我运行这个时,我得到以下错误:

az: error: unrecognized arguments: 7/10/2019 10:39:21 AM
usage: az [-h] [--verbose] [--debug]
          [--output {json,jsonc,table,tsv,yaml,none}] [--query JMESPATH]
          {sql} ...

我已经尝试了多种日期时间格式,但是,我似乎无法使它们中的任何一种工作。是否需要特定格式?我应该将不同的价值传递给时间吗?任何帮助将不胜感激。

据我所知,--time 参数希望日期时间格式为 'Sortable date/time pattern' (yyyy-MM-ddTHH:mm:ss).

应该这样做:

$RestoreDateTime       = (Get-Date).ToUniversalTime().AddHours(-1)
$RestoreDateTimeString = '{0:yyyy-MM-dd_HH:mm}' -f $RestoreDateTime
$RestoreName           = '{0}_{1}' -f  $SrvName, $RestoreDateTimeString

# format the datetime as Sortable date/time pattern 'yyyy-MM-ddTHH:mm:ss'
# see: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings
$azRestoreTime         = '{0:s}' -f $RestoreDateTime

az sql db restore --dest-name $RestoreName --resource-group $RGName --server $SrvName --name $SrvName  --time $azRestoreTime

希望对您有所帮助