如何从本地计算机生成 bacpac 文件并将其上传到 Azure blob?

How do I generate bacpac file from local machine and upload it on Azure blob?

我正在使用 SQL Server 2012 ,我知道如何从 azure portal 中获取 bacpac of sql database 并将该文件存储到 blob 但是

How do I generate bacpac file from local machine and upload it on Azure blob?

有什么办法吗?使用 c# 程序或任何实用程序?

下载并安装SSDT tool

[Your DataBase]-> Task -> Export Data tier Application -> [Choose the localPath.bacpac]

您也可以使用 Deploy Data Tier Application to SQL Azure

直接部署到 SQL Azure

如果您希望实现自动化,有一种方法:

1) 使用 SqlPackage.exe

生成 .bacpac 文件

例如:

“C:\Program Files (x86)\Microsoft SQL Server0\DAC\bin\sqlpackage.exe” 
/a:Export /ssn:SourceServerName /sdn:SourceDatabaseName      
/tf:C:\DataExtraction\SourceDatabase.bacpac"

这将在 C:\DataExtraction\SourceDatabase.bacpac

下生成一个 bacpac

如需更多信息,请访问此处:SqlPackage.exe

2) 使用 Azure PowerShell

将 bacpac 作为 Blob 上传到 Azure 存储
Switch-AzureMode -Name AzureServiceManagement
$context= New-AzureStorageContext -StorageAccountName "Storageaccountname" -StorageAccountKey "mystoragekeyhere"

Set-AzureStorageBlobContent -Context $context -Container adventureworks -File "NameOfLocal.bacpac" -Blob "NameofBacpacInStorageContainer.bacpac"

有关此 cmdlet 的更多信息,请访问此处: Set-AzureStorageBlobContent

Should you need to Import the following command will help you:

“C:\Program Files (x86)\Microsoft SQL Server0\DAC\bin\sqlpackage.exe” 
/a:Import /tsn:TargetServerName /tdn:TargetDatabaseName      
/sf:C:\DataExtraction\SourceDatabase.bacpac"

Should you desire to use sqlpackage.exe add the following directory to your PATH (instructions):

C:\Program Files (x86)\Microsoft SQL Server0\DAC\bin\