Ошибка при экспорте bacpac с помощью dacservices

Я пытаюсь экспортировать бакпак с кодом, но получаю сообщение об ошибке

Microsoft.SqlServer.Dac.DacServicesException: 'Database source is not a supported version of SQL Server tcp:xxxxxxx.database.windows.net,1433: test.'

Я могу экспортировать его с помощью SSMS (приложение уровня данных для экспорта) без каких-либо проблем.

Моя тестовая программа - C# .NET 4, импортировал Microsoft.SqlServer.Dac-x86 nuget.

Образец кода:

var azureServices = new DacServices($"Data Source={source},1433;Initial Catalog=test;Integrated Security=False;User ID={user};Password={password}");
azureServices.Message += AzureServices_Message;
azureServices.ProgressChanged += AzureServices_ProgressChanged;
azureServices.ExportBacpac(Environment.CurrentDirectory + "test" + DateTime.Now.ToShortTimeString(), "test");

Что я делаю неправильно? Или Microsoft что-то сломала в Azure sql?

Изменить: мне нужно загрузить bacpac локально, поэтому я не использую остальные API для экспорта в хранилище BLOB-объектов.

0
0
211
1

Ответы 1

Вместо этого рассмотрите возможность использования REST API:

Запрос образца:

POST https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-5961/databases/testdb/export?api-version=2014-04-01

Тело запроса:

{
  "storageKeyType": "StorageAccessKey",
  "storageKey": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==",
  "storageUri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac",
  "administratorLogin": "dummyLogin",
  "administratorLoginPassword": "Un53cuRE!",
  "authenticationType": "SQL"
}

Для получения дополнительной информации прочтите документацию это.

Мне нужно загрузить bacpac локально, поэтому для этого также потребуется «этап загрузки».

hub 12.04.2018 08:29

Другие вопросы по теме