Масштабирование ресурсов отдельной базы данных в Базе данных SQL AzureScale single database resources in Azure SQL Database

В этой статье описывается, как масштабировать ресурсы вычислений и хранения, доступные для базы данных SQL Azure, на подготовленном уровне вычислений.This article describes how to scale the compute and storage resources available for an Azure SQL Database in the provisioned compute tier. Кроме того, уровень вычислений "бессерверный " обеспечивает автоматическое масштабирование вычислений и счета за секунду для используемых вычислений.Alternatively, the serverless compute tier provides compute auto-scaling and bills per second for compute used.

Изменение размера вычислений (виртуальных ядер или DTU)Change compute size (vCores or DTUs)

После первоначального выбора количества виртуальных ядер или DTU можно динамически масштабировать отдельную базу данных в зависимости от фактического взаимодействия с помощью портал Azure, Transact-SQL, PowerShell, Azure CLIили REST API .After initially picking the number of vCores or DTUs, you can scale a single database up or down dynamically based on actual experience using the Azure portal, Transact-SQL, PowerShell, the Azure CLI, or the REST API.

В следующем видео показано динамическое изменение уровня служб и объема вычислительных ресурсов для увеличения количества доступных единиц DTU отдельной базы данных.The following video shows dynamically changing the service tier and compute size to increase available DTUs for a single database.

Важно!

Иногда требуется сжать базу данных, чтобы освободить неиспользуемое пространство.Under some circumstances, you may need to shrink a database to reclaim unused space. Дополнительные сведения см. в статье об управлении файловым пространством в Базе данных SQL Azure.For more information, see Manage file space in Azure SQL Database.

Влияние изменения уровня служб или повторного масштабирования размера вычисленийImpact of changing service tier or rescaling compute size

Изменение уровня служб или размера вычислений в основном включает службу, выполняющую следующие действия:Changing the service tier or compute size of mainly involves the service performing the following steps:

  1. Создание нового вычислительного экземпляра для базы данныхCreate new compute instance for the database

    Будет создан новый вычислительный экземпляр с запрошенным уровнем служб и размером вычислений.A new compute instance is created with the requested service tier and compute size. Для некоторых сочетаний изменений уровня служб и размера вычислений реплика базы данных должна быть создана в новом вычислительном экземпляре, который включает копирование данных и может сильно повлиять на общую задержку.For some combinations of service tier and compute size changes, a replica of the database must be created in the new compute instance which involves copying data and can strongly influence the overall latency. Независимо от этого, база данных остается в режиме «в сети» на этом шаге, а подключения по-прежнему направляются в базу данных в исходном вычислительном экземпляре.Regardless, the database remains online during this step, and connections continue to be directed to the database in the original compute instance.

  2. Переключить маршрутизацию подключений на новый вычислительный экземплярSwitch routing of connections to new compute instance

    Существующие соединения с базой данных в исходном вычислительном экземпляре удаляются.Existing connections to the database in the original compute instance are dropped. Все новые соединения устанавливаются для базы данных в новом вычислительном экземпляре.Any new connections are established to the database in the new compute instance. Для некоторых сочетаний изменений уровня служб и размера вычислений файлы базы данных отсоединяются и повторно присоединяются во время переключения.For some combinations of service tier and compute size changes, database files are detached and reattached during the switch. Независимо от этого коммутатор может привести к кратковременному прерыванию работы службы, если база данных недоступна в обычном объеме менее 30 секунд и часто занимает всего несколько секунд.Regardless, the switch can result in a brief service interruption when the database is unavailable generally for less than 30 seconds and often for only a few seconds. Если при отсоединении подключений выполняются длительные транзакции, длительность этого шага может занять больше времени, чтобы восстановить прерванные транзакции.If there are long running transactions running when connections are dropped, the duration of this step may take longer in order to recover aborted transactions. Ускоренное восстановление базы данных может снизить последствия прерывания длительных транзакций.Accelerated Database Recovery can reduce the impact from aborting long running transactions.

Важно!

Во время какого-либо этапа рабочего процесса данные не теряются.No data is lost during any step in the workflow. Убедитесь, что вы реализовали некоторую логику повторных попыток в приложениях и компонентах, которые используют базу данных SQL Azure при изменении уровня служб.Make sure that you have implemented some retry logic in the applications and components that are using Azure SQL Database while the service tier is changed.

Задержка изменения уровня службы или увеличения размера вычисленийLatency of changing service tier or rescaling compute size

Предполагаемая задержка изменения уровня службы или увеличения размера вычислений отдельной базы данных или эластичного пула определяется следующим образом:The estimated latency to change the service tier or rescale the compute size of a single database or elastic pool is parameterized as follows:

Уровень службService tier Базовая простая база данных,Basic single database,
Standard (S0-S1)Standard (S0-S1)
Базовый эластичный пул,Basic elastic pool,
Standard (S2-S12),Standard (S2-S12),
ГипермасштабируемогоHyperscale,
общего назначения одной базы данных или эластичного пулаGeneral Purpose single database or elastic pool
Premium или критически важный для бизнеса одна база данных или эластичный пулPremium or Business Critical single database or elastic pool
Базовая простая база данных,
Standard (S0-S1)
Basic single database,
Standard (S0-S1)
•  постоянная задержка во времени независимо от используемого пространства•  Constant time latency independent of space used
•  обычно менее 5 минут•  Typically, less than 5 minutes
•  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used
•  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used
Базовый эластичный пул,
Standard (S2-S12),
масштабирование,
общего назначения отдельной базы данных или эластичного пула.
Basic elastic pool,
Standard (S2-S12),
Hyperscale,
General Purpose single database or elastic pool
•  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used
•  постоянная задержка во времени независимо от используемого пространства•  Constant time latency independent of space used
•  обычно менее 5 минут•  Typically, less than 5 minutes
•  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used
Premium или критически важный для бизнеса одна база данных или эластичный пулPremium or Business Critical single database or elastic pool •  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used
•  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used
•  задержка, пропорциональная объему базы данных, используемой из-за копирования данных•  Latency proportional to database space used due to data copying
•  обычно используется менее 1 минуты в один ГБ пространства•  Typically, less than 1 minute per GB of space used

Отмена изменений уровня служб или операций масштабирования вычисленийCancelling service tier changes or compute rescaling operations

Операция изменения или масштабирования уровня службы может быть отменена.A service tier change or compute rescaling operation can be canceled.

портале AzureAzure portal

В колонке обзор базы данных перейдите к разделу уведомления и щелкните плитку, указывающую на текущую операцию:In the database overview blade, navigate to Notifications and click on the tile indicating there is an ongoing operation:

Текущая операция

Затем нажмите кнопку отменить эту операцию.Next, click on the button labeled Cancel this operation.

Отменить текущую операцию

PowerShellPowerShell

В командной строке PowerShell задайте $resourceGroupName, $serverNameи $databaseName, а затем выполните следующую команду:From a PowerShell command prompt, set the $resourceGroupName, $serverName, and $databaseName, and then run the following command:

$operationName = (az sql db op list --resource-group $resourceGroupName --server $serverName --database $databaseName --query "[?state=='InProgress'].name" --out tsv)
if (-not [string]::IsNullOrEmpty($operationName)) {
    (az sql db op cancel --resource-group $resourceGroupName --server $serverName --database $databaseName --name $operationName)
        "Operation " + $operationName + " has been canceled"
}
else {
    "No service tier change or compute rescaling operation found"
}

Дополнительные рекомендации при изменении уровня служб или масштабировании размера вычисленийAdditional considerations when changing service tier or rescaling compute size

  • При переходе к более высокому уровню служб или объему вычислительных ресурсов максимальный размер базы данных не увеличивается, если явно не указать для него большее значение (maxsize).If you are upgrading to a higher service tier or compute size, the database max size does not increase unless you explicitly specify a larger size (maxsize).
  • При понижении уровня базы данных используемое ею пространство не должно превышать максимальный допустимый размер целевых уровня служб и объема вычислительных ресурсов.To downgrade a database, the database used space must be smaller than the maximum allowed size of the target service tier and compute size.
  • При понижении уровня служб Премиум до уровня Стандартный дополнительная плата взимается в следующих случаях: 1) максимальный размер базы данных поддерживается в целевом объеме вычислительных ресурсов; 2) максимальный размер превышает включенный объем хранилища целевого объема вычислительных ресурсов.When downgrading from Premium to the Standard tier, an extra storage cost applies if both (1) the max size of the database is supported in the target compute size, and (2) the max size exceeds the included storage amount of the target compute size. Например, если база данных P1 с максимальным размером 500 ГБ — понижается S3, то будет применяться дополнительное хранилище, так как S3 поддерживает максимальный размер в 1 ТБ, а Включенный объем хранилища — только 250 ГБ.For example, if a P1 database with a max size of 500 GB is downsized to S3, then an extra storage cost applies since S3 supports a max size of 1 TB and its included storage amount is only 250 GB. Поэтому дополнительный объем хранилища равен 500 – 250 = 250 ГБ.So, the extra storage amount is 500 GB – 250 GB = 250 GB. Чтобы узнать о ценах на дополнительное хранилище, ознакомьтесь с ценами на Базу данных SQL.For pricing of extra storage, see SQL Database pricing. Если фактический объем пространства, которое используется, меньше, чем включенный объем хранилища, то этих дополнительных затрат можно избежать, уменьшив максимальный размер базы данных до включенного объема.If the actual amount of space used is less than the included storage amount, then this extra cost can be avoided by reducing the database max size to the included amount.
  • Если вы повышаете уровень базы данных со включенной георепликацией, перед повышением уровня базы данных-источника сначала обновите базы данных-получатели до требуемого уровня служб и объема вычислительных ресурсов (общая рекомендация для оптимальной производительности).When upgrading a database with geo-replication enabled, upgrade its secondary databases to the desired service tier and compute size before upgrading the primary database (general guidance for best performance). Чтобы выполнить обновление до другого выпуска, сначала необходимо обновить базу данных-получатель.When upgrading to a different, upgrading the secondary database first is required.
  • Если вы понижаете уровень базы данных со включенной георепликацией, перед понижением уровня базы данных-получателя сначала понизьте категорию ее базы данных-источника до требуемого уровня служб и объема вычислительных ресурсов (общая рекомендация для оптимальной производительности).When downgrading a database with geo-replication enabled, downgrade its primary databases to the desired service tier and compute size before downgrading the secondary database (general guidance for best performance). Чтобы понизить уровень до другого выпуска, сначала необходимо понизить уровень базы данных-получателя.When downgrading to a different edition, downgrading the primary database first is required.
  • Предложения службы восстановления отличаются для разных уровней служб.The restore service offerings are different for the various service tiers. При понижении до уровня Базовый уменьшится период хранения резервной копии.If you are downgrading to the Basic tier, there is a lower backup retention period. Ознакомьтесь со статьей Подробнее об автоматически создаваемых резервных копиях в Базе данных SQL.See Azure SQL Database Backups.
  • Новые свойства базы данных не применяются до тех пор, пока изменение не завершится.The new properties for the database are not applied until the changes are complete.

Выставление счетов во время повторного масштабирования вычисленийBilling during compute rescaling

Плата взимается за каждый час существования базы данных с учетом самого высокого уровня служб и объема вычислительных ресурсов, которые использовались в течение этого часа, даже если база данных использовалась или была активна менее часа.You are billed for each hour a database exists using the highest service tier + compute size that applied during that hour, regardless of usage or whether the database was active for less than an hour. Например, если вы создадите отдельную базу данных и через 5 минут удалите ее, вам будет выставлен счет за 1 час использования базы данных.For example, if you create a single database and delete it five minutes later your bill reflects a charge for one database hour.

Изменение размера хранилищаChange storage size

Модель приобретения на основе виртуальных ядерvCore-based purchasing model

  • Хранилище может быть расширено до максимально возможного размера с шагом приращения в 1 ГБ.Storage can be provisioned up to the max size limit using 1GB increments. Минимальный настраиваемый размер хранилища данных составляет 5 ГБ.The minimum configurable data storage is 5 GB
  • Хранилище для отдельной базы данных можно подготовить, увеличив или уменьшив ее максимальный размер с помощью портала Azure, Transact-SQL, PowerShell, Azure CLI или REST API.Storage for a single database can be provisioned by increasing or decreasing its max size using the Azure portal, Transact-SQL, PowerShell, the Azure CLI, or the REST API.
  • База данных SQL автоматически выделяет 30 % доступного места для хранения файлов журнала и 32 ГБ на виртуальное ядро для базы данных tempdb, но при этом их суммарный объем не должен превышать 384 ГБ.SQL Database automatically allocates 30% of additional storage for the log files and 32GB per vCore for TempDB, but not to exceed 384GB. База данных tempdb находится на подключенном диске SSD на всех уровнях служб.TempDB is located on an attached SSD in all service tiers.
  • Стоимость хранилища для отдельной базы данных равна суммарному объему хранилища данных и журналов, умноженному на цену единицы хранения для этого уровня служб.The price of storage for a single database is the sum of data storage and log storage amounts multiplied by the storage unit price of the service tier. Стоимость базы данных tempdb включена в стоимость виртуального ядра.The cost of TempDB is included in the vCore price. Сведения о цене на дополнительное хранилище см. на странице цен на Базу данных SQL.For details on the price of extra storage, see SQL Database pricing.

Важно!

Иногда требуется сжать базу данных, чтобы освободить неиспользуемое пространство.Under some circumstances, you may need to shrink a database to reclaim unused space. Дополнительные сведения см. в статье об управлении файловым пространством в Базе данных SQL Azure.For more information, see Manage file space in Azure SQL Database.

Модель приобретения на основе единиц DTUDTU-based purchasing model

  • Цена DTU для отдельной базы данных включает в себя определенный объем хранилища, не требующий дополнительной платы.The DTU price for a single database includes a certain amount of storage at no additional cost. Дополнительный объем хранилища, сверх включенного, можно подготовить за дополнительную плату в пределах максимального допустимого размера с шагом в 250 ГБ при объеме хранилища до 1 ТБ и с шагом в 256 ГБ — при объеме более 1 ТБ.Extra storage beyond the included amount can be provisioned for an additional cost up to the max size limit in increments of 250 GB up to 1 TB, and then in increments of 256 GB beyond 1 TB. Сведения о включенном объеме хранилища и ограничениях максимального размера см. в разделе Отдельная база данных: размеры хранилища и объемы вычислительных ресурсов.For included storage amounts and max size limits, see Single database: Storage sizes and compute sizes.
  • Дополнительное хранилище для отдельной базы данных можно подготовить, увеличив ее максимальный размер с помощью портала Azure, Transact-SQL, PowerShell, Azure CLI или REST API.Extra storage for a single database can be provisioned by increasing its max size using the Azure portal, Transact-SQL, PowerShell, the Azure CLI, or the REST API.
  • Стоимость дополнительного хранилища для отдельной базы данных равна объему хранилища, умноженному на цену единицы хранения этого хранилища для уровня служб.The price of extra storage for a single database is the extra storage amount multiplied by the extra storage unit price of the service tier. Сведения о цене на дополнительное хранилище см. на странице цен на Базу данных SQL.For details on the price of extra storage, see SQL Database pricing.

Важно!

Иногда требуется сжать базу данных, чтобы освободить неиспользуемое пространство.Under some circumstances, you may need to shrink a database to reclaim unused space. Дополнительные сведения см. в статье об управлении файловым пространством в Базе данных SQL Azure.For more information, see Manage file space in Azure SQL Database.

Ограничения P11 и P15, если максимальный размер превышает 1 ТБP11 and P15 constraints when max size greater than 1 TB

В настоящее время на уровне "Премиум" доступно более 1 ТБ хранилища, за исключением: Восточный Китай, Северный Китай, центрального Германии, северо-восток, Западная Центральная часть США, US DoD регионов и центра правительства США.More than 1 TB of storage in the Premium tier is currently available in all regions except: China East, China North, Germany Central, Germany Northeast, West Central US, US DoD regions, and US Government Central. В этих регионах максимальный объем хранилища категории "Премиум" ограничен 1 ТБ.In these regions, the storage max in the Premium tier is limited to 1 TB. Ниже приведены рекомендации и ограничения для баз данных P11 и P15 с максимальным размером, превышающим 1 ТБ.The following considerations and limitations apply to P11 and P15 databases with a maximum size greater than 1 TB:

  • Если в качестве максимального размера для базы данных P11 или p15 было задано значение больше 1 ТБ, то его можно восстановить или скопировать в базу данных P11 или P15.If the max size for a P11 or P15 database was ever set to a value greater than 1 TB, then can it only be restored or copied to a P11 or P15 database. Впоследствии база данных может масштабироваться до другого масштабируемого размера, при условии, что объем пространства, выделенного во время операции перемасштабирования, не превышает максимальный размер нового вычисленного размера.Subsequently, the database can be rescaled to a different compute size provided the amount of space allocated at the time of the rescaling operation does not exceed max size limits of the new compute size.
  • Для сценариев активной георепликации:For active geo-replication scenarios:
    • Настройка отношения георепликации. Если используется база данных-источник P11 или P15, уровень баз данных-получателей также должен быть P11 или P15. Базы данных с более низким объемом вычислительных ресурсов отклоняются, так как они не поддерживают максимальный размер больше 1 ТБ.Setting up a geo-replication relationship: If the primary database is P11 or P15, the secondary(ies) must also be P11 or P15; lower compute size are rejected as secondaries since they are not capable of supporting more than 1 TB.
    • Обновление базы данных-источника в отношениях георепликации. При изменении максимального размера и указании значения больше 1 ТБ в базе данных-источнике такие же изменения произойдут в базе данных-получателе.Upgrading the primary database in a geo-replication relationship: Changing the maximum size to more than 1 TB on a primary database triggers the same change on the secondary database. Чтобы изменения в базе данных-источнике вступили в силу, оба обновления должны быть успешными.Both upgrades must be successful for the change on the primary to take effect. При этом применяются ограничения по регионам для максимального размера больше 1 ТБ.Region limitations for the more than 1-TB option apply. Если база данных-получатель находится в регионе, не поддерживающем максимальный размер больше 1 TB, то база данных-источник не обновляется.If the secondary is in a region that does not support more than 1 TB, the primary is not upgraded.
  • Использование службы импорта и экспорта для загрузки баз данных P11 и P15 с максимальным размером больше 1 ТБ не поддерживается.Using the Import/Export service for loading P11/P15 databases with more than 1 TB is not supported. Для импорта и экспорта данных используйте файл SqlPackage.exe.Use SqlPackage.exe to import and export data.

Дополнительная информацияNext steps

Сведения об общих ограничениях ресурсов см. в статьях Ограничения ресурсов для отдельной базы данных в Базе данных SQL Azure при использовании модели приобретения на основе виртуальных ядер (предварительная версия) и SQL Database DTU-based resource limits - elastic pools (Ограничения ресурсов для эластичных пулов в Базе данных SQL при использовании модели приобретения на основе единиц DTU).For overall resource limits, see SQL Database vCore-based resource limits - single databases and SQL Database DTU-based resource limits - elastic pools.