我的C#程序适用于Azure数据库。
我使用Microsoft.Rest和Microsoft.Azure.Management库来做一些事情(数据库复制,操作,删除等等)。
我尝试导出Azure数据库,但我无法在C#中找到如何做到这一点。 有谁知道我怎么做,或者引导我做一个例子?
答案 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参数);