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

Neo*_*Neo 4 c# sql sql-server azure azure-sql-database

我使用SQL Server 2012,我知道如何利用bacpac of sql databaseazure portal和文件存储到blob,但

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

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

小智 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"
Run Code Online (Sandbox Code Playgroud)

这将在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"
Run Code Online (Sandbox Code Playgroud)

有关此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"
Run Code Online (Sandbox Code Playgroud)

如果您希望使用sqlpackage.exe以下目录添加到您的PATH(说明):

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


sud*_*u63 5

下载并安装SSDT工具

[Your DataBase]-> Task -> Export Data tier Application -> [Choose the localPath.bacpac]
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下命令直接部署到 SQL Azure Deploy Data Tier Application to SQL Azure