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

11,226

Solution 1

If you are looking to automate this, there is a way:

1) Generate the .bacpac file using SqlPackage.exe

For example:

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

This would generate a bacpac under C:\DataExtraction\SourceDatabase.bacpac

for more info go here: SqlPackage.exe

2) Upload the bacpac to Azure Storage as Blob using Azure PowerShell

Switch-AzureMode -Name AzureServiceManagement
$context= New-AzureStorageContext -StorageAccountName "Storageaccountname" -StorageAccountKey "mystoragekeyhere"

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

for more information on this cmdlet go here: Set-AzureStorageBlobContent

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

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

Solution 2

Download and install SSDT tool

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

You can also directly deploy to SQL Azure using Deploy Data Tier Application to SQL Azure

Share:
11,226
Neo
Author by

Neo

Hi! I'm a software engineer. Having experience to work on C#,Asp.Net,AJAX,SQL 2005/08/2012,EF4,SQL to LINQ and also worked on Cloud Computing (Microsoft Windows Azure and AWS Amazon).

Updated on June 19, 2022

Comments

  • Neo
    Neo almost 2 years

    I'm using SQL Server 2012 , I know how to take bacpac of sql database from azure portal and store that file into blob but

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

    Is there any way to do so ? using c# program or any utility ?