您可以从远程C#应用程序创建SQL Azure BACPAC

Eoi*_*ell 1 c# azure azure-storage-blobs bacpac azure-sql-database

我正在开发一种工具,允许在各种本地和天蓝色环境之间备份和恢复SQL Azure数据库.

我有一个工作版本,其中创建了BACPAC并直接流式传输到我的本地开发人员机器.

但我无法找到一种方法来创建bacpac并使用远程客户端将其直接存储在Blob存储中.我见过的任何一个例子

  • 将备份流式传输到本地PC,然后将其重新上载到Blob存储

要么

  • 依靠在Azure上部署辅助角色来处理进程

有没有办法从远程客户端触发通过Azure管理门户(直接创建备份(BACPAC)直接到Blob存储)提供的备份功能?

小智 6

您应该使用SQL Azure数据库导入导出服务.你可以找到更多关于这项服务在这里.

对于export functionallity,您可以使用以下代码:

//Set Inputs to the REST Requests in the helper class          
IEHelper.EndPointUri = @"<address of database endpoint according to its location, e.g. https://by1prod-dacsvc.azure.com/DACWebService.svc for DB located in West US>"; 
IEHelper.ServerName = "<database_server_name>.database.windows.net"; 
IEHelper.StorageKey = "<storage_key>"; 
IEHelper.DatabaseName = "<database_name>"; 
IEHelper.UserName = "<database_user_name>"; 
IEHelper.Password = "<database_password>"; 

//Do Export operation 
string exportBlobPath = IEHelper.DoExport(String.Format(@"https://<storage_name>.blob.core.windows.net/bacpac/{0}.bacpac", IEHelper.DatabaseName)); 
ImportExportHelper IEHelper = new ImportExportHelper(); 
Run Code Online (Sandbox Code Playgroud)