Формат времени восстановления SQL DB CLI Azure - PullRequest
0 голосов
/ 10 июля 2019

Я пишу сценарий Powershell с использованием интерфейса командной строки Azure для восстановления экземпляра SQL Azure. Это мой сценарий:

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} ...

Я пробовал разные форматы даты и времени, но я не могу заставить их работать. Есть ли определенный формат, который нужен? Должен ли я передавать другое значение во время? Любая помощь будет оценена.

1 Ответ

1 голос
/ 10 июля 2019

Насколько я могу судить, параметр --time хочет, чтобы дата и время форматировались как 'Сортируемый шаблон даты / времени' (гггг-мм-ддТЧЧ: мм: сс).

Это должно сделать это:

$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

Надеюсь, что поможет

...