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

时间:2015-03-31 08:42:08

标签: c# sql sql-server azure azure-sql-database

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

  

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

有没有办法这样做?使用c#程序或任何实用程序?

2 个答案:

答案 0 :(得分:7)

如果您希望自动执行此操作,有一种方法:

1)使用SqlPackage.exe生成.bacpac文件

例如:

“C:\Program Files (x86)\Microsoft SQL Server\110\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

  

如果您需要导入,以下命令将对您有所帮助:

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

如果您希望使用sqlpackage.exe将以下目录添加到您的路径(instructions):

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

答案 1 :(得分:4)

下载并安装SSDT tool

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

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

直接部署到SQL Azure