鉴于Microsoft已弃用先前导出SQL DB的方法,他们提出了一个建议示例here:
$subscriptionId = "YOUR AZURE SUBSCRIPTION ID"
Login-AzureRmAccount
Set-AzureRmContext -SubscriptionId $subscriptionId
# Database to export
$DatabaseName = "DATABASE-NAME"
$ResourceGroupName = "RESOURCE-GROUP-NAME"
$ServerName = "SERVER-NAME"
$serverAdmin = "ADMIN-NAME"
$serverPassword = "ADMIN-PASSWORD"
$securePassword = ConvertTo-SecureString -String $serverPassword -AsPlainText -Force
$creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $serverAdmin, $securePassword
# Generate a unique filename for the BACPAC
$bacpacFilename = $DatabaseName + (Get-Date).ToString("yyyyMMddHHmm") + ".bacpac"
# Storage account info for the BACPAC
$BaseStorageUri = "https://STORAGE-NAME.blob.core.windows.net/BLOB-CONTAINER-NAME/"
$BacpacUri = $BaseStorageUri + $bacpacFilename
$StorageKeytype = "StorageAccessKey"
$StorageKey = "YOUR STORAGE KEY"
$exportRequest = New-AzureRmSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
-DatabaseName $DatabaseName -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
-AdministratorLogin $creds.UserName -AdministratorLoginPassword $creds.Password
$exportRequest
# Check status of the export
Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink
我填写了他们示例中建议的所有凭据,我收到此错误:
New-AzureRmSqlDatabaseExport : NotFound: Entity not found to invoke export
At C:\Users\bob\Desktop\DBBackupScript.ps1:47 char:18
+ ... rtRequest = New-AzureRmSqlDatabaseExport -ResourceGroupName $Resource ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureRmSqlDatabaseExport], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Sql.ImportExport.Cmdlet.NewAzureSqlDatabaseExport
有谁知道我做错了什么?
答案 0 :(得分:4)
使用az sql db export时,数据库名称似乎区分大小写。在我的案例中,更正数据库名称和资源组的大小写解决了这个问题。
答案 1 :(得分:2)
上述问题中的PowerShell脚本示例已按预期的方式对我进行了测试。
但是,即使尝试使用不存在的资源组,数据库服务器或数据库,我也无法重现与您相同的错误消息。
重要提示:
$serverAdmin
和$serverPassword
,他们的值应该是单引号而不是双引号才能让脚本正常工作AzureRm.Sql
模块的版本。矿山测试工作 2.5.0 New-AzureRmSqlDatabaseExport
命令行查看详细信息答案 2 :(得分:2)
这刚刚从MS / Azure发布,对DB Export有很大帮助。
答案 3 :(得分:1)
似乎真的很愚蠢,但对我来说,错误是因为我的“ DatabaseName”参数区分大小写。
我正在发送值“数据库” ,但实际的数据库名称是“数据库”
似乎疯了,但可能会帮助某人