使用C#导出Azure数据库

时间:2017-07-11 11:57:05

标签: c# azure

我的C#程序适用于Azure数据库。

我使用Microsoft.Rest和Microsoft.Azure.Management库来做一些事情(数据库复制,操作,删除等等)。

我尝试导出Azure数据库,但我无法在C#中找到如何做到这一点。 有谁知道我怎么做,或者引导我做一个例子?

2 个答案:

答案 0 :(得分:3)

根据我的理解,您在谈论Azure SQL数据库。我以为你可以Export your Azure SQL database to a BACPAC file

  

我尝试导出Azure数据库,但我无法在C#中找到如何执行此操作。

根据您的描述,我检查了Microsoft Azure Management Libraries,发现您可以参考以下代码片段将azure sql数据库导出到azure blob存储中:

CertificateCloudCredentials credential = new CertificateCloudCredentials("{subscriptionId}","{managementCertificate}");
var sqlManagement = new SqlManagementClient(credential);
var result = sqlManagement.Dac.Export("{serverName}", new DacExportParameters()
{
    BlobCredentials = new DacExportParameters.BlobCredentialsParameter()
    {
        StorageAccessKey = "{storage-account-accesskey}",
        Uri = new Uri("https://{storage-accountname}.blob.core.windows.net/{container-name}")
    },
    ConnectionInfo = new DacExportParameters.ConnectionInfoParameter()
    {
        DatabaseName = "{dbname}",
        ServerName = "{serverName}.database.windows.net",
        UserName = "{username}",
        Password = "{password}"
    }
});

您可以使用sqlManagement.Dac.GetStatus来检索导出操作的状态。

此外,Microsoft Azure管理库使用Export Database (classic),对于基于资源管理器的REST API,您可以参考here。此外,您可以参考create a storage account并利用Microsoft Azure Storage Explorer获得管理存储资源的简单方法,有关详细信息,请参阅here

答案 1 :(得分:0)

我找到了解决问题的方法: 我不得不更新我的Microsoft.Azure.Management.Sql库。 现在,我可以使用这种导出方法:

  

public static ImportExportResponse Export(此IDatabasesOperations   operations,string resourceGroupName,string serverName,string   databaseName,ExportRequest参数);