Служба импорта и экспорта для Базы данных SQL Azure и Управляемого экземпляра занимает много времени для импорта или экспорта базы данных

Область применения:База данных SQL Azure Управляемый экземпляр SQL Azure

При использовании службы импорта и экспорта этот процесс может занять больше времени, чем ожидалось. В этой статье описываются возможные причины этой задержки и альтернативные методы решения проблемы.

Службы импорта и экспорта Базы данных SQL Azure

Служба импорта и экспорта Базы данных SQL Azure — это веб-служба на основе REST, которая выполняется в каждом центре обработки данных Azure. Эта служба вызывается при использовании параметра Импорт базы данных или Экспорт для перемещения базы данных на портал Azure. Служба предоставляет бесплатные службы вычислений и очереди запросов для выполнения импорта и экспорта между Базой данных SQL Azure и Хранилищем BLOB-объектов Azure.

Операции импорта и экспорта представляют не традиционную физическую резервную копию базы данных, а логическую резервную копию базы данных, использующую специальный формат BACPAC. Формат BACPAC позволяет избежать использования физического формата, который может отличаться в зависимости от версий Microsoft SQL Server, Базы данных SQL Azure и Управляемого экземпляра SQL Azure.

Причины возникновения задержки в процессе

Служба импорта и экспорта Базы данных SQL Azure предоставляет ограниченное количество виртуальных машин для вычислений для каждого региона, чтобы обработать операции импорта и экспорта. Виртуальные машины для вычислений размещают в каждом регионе во избежание задержек пропускной способности и дополнительных расходов из-за разных регионов для операций импорта или экспорта. Если в одном регионе выполняется слишком много запросов одновременно, при обработке операций могут возникать значительные задержки. Время, необходимое для выполнения запросов, может занимать от нескольких секунд до нескольких часов.

Кроме того, так как служба импорта и экспорта выполняет логическую резервную копию базы данных, время завершения больше зависит от количества объектов в базе данных, чем от традиционной физической резервной копии базы данных.

Если операция экспорта базы данных используется только для восстановления после случайного удаления данных, все выпуски Базы данных SQL Azure предоставляют возможность самостоятельно их восстановить из созданных системой резервных копий. Но если эти операции экспорта нужны по другим причинам и требуется постоянно более высокая или более предсказуемая производительность импорта и экспорта, то рассмотрите следующие варианты.

Факторы, которые следует учитывать при операциях экспорта или импорта базы данных

  • Все методы, описанные в этой статье, используют квоту единиц транзакций базы данных (DTU), что приводит к регулированию количества запросов службой "База данных SQL Azure". Вы можете просмотреть статистику DTU для базы данных на портале Azure. Если база данных достигла ограничений ресурсов, обновите уровень служб, чтобы добавить дополнительные ресурсы.
  • В идеале следует запускать клиентские приложения (например, служебную программу SQLPackage или пользовательское приложение DAC) с виртуальной машины в том же регионе, что и база данных. В противном случае могут возникнуть проблемы с производительностью, связанные с задержкой в сети.
  • Экспорт больших таблиц без кластеризованных индексов может быть очень медленным или даже привести к сбою. Такое поведение обусловлено тем, что таблицу нельзя разделить и экспортировать параллельно. Вместо этого ее необходимо экспортировать в одну транзакцию, что приводит к снижению производительности и потенциальному сбою при экспорте, особенно для больших таблиц.

Рекомендации по экспорту базы данных