我正在使用SQL Server 2012
,我知道如何从bacpac of sql database
获取azure portal
并将该文件存储到blob
但是
如何从本地计算机生成bacpac文件并将其上传到Azure blob?
有没有办法这样做?使用c#程序或任何实用程序?
答案 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