如何使用命令行将内部数据库作为bacpac直接导出到AZURE blob

时间:2018-07-18 10:23:23

标签: sql-server export azure-sql-database bacpac

我们能够使用以下命令创建bacpac,

C:\ Program Files(x86)\ Microsoft SQL Server \ 140 \ DAC \ bin>

sqlpackage.exe / Action:导出/ ssn:。 / sdn:demo /tf:d:\bacpac\demo.bacpac

但是我们要自动执行以下操作,

enter image description here

这也可以通过SSMS使用类似的方法完成

BACKUP DATABASE演示

TO URL = @FullName

具有凭证=凭证;

2 个答案:

答案 0 :(得分:1)

您可以使用Powershell脚本实现此目标,

$exportRequest = New-AzureRmSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
  -DatabaseName $DatabaseName -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
  -AdministratorLogin $creds.UserName -AdministratorLoginPassword $creds.Password

要检查导出状态,可以使用以下内容

$exportStatus = Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink
[Console]::Write("Exporting")
while ($exportStatus.Status -eq "InProgress")
{
    Start-Sleep -s 10
    $exportStatus = Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink
    [Console]::Write(".")   
}
[Console]::WriteLine("")
$exportStatus

引用here

如果要使用Azure Automation RunBook

使其自动化

答案 1 :(得分:0)

您可以使用Azcopy将这些bacpac文件上传到Azure BLOB存储帐户,如下所示:

AzCopy /Source:"d:\bacpac" /Dest:"https://exampleaccount.blob.core.windows.net/bacpacs" /DestKey:storageaccountkey /Pattern:*.bacpac

希望这会有所帮助。