Microsoft Teams Blog articles на русском
Подписаться
Что на самом деле происходит при масштабировании базы данных Azure SQL? Как отслеживать длительные операции масштабирования
Azure SQL Database обеспечивает плавное масштабирование вычислительных ресурсов без управления инфраструктурой. Операции масштабирования включают в себя не только настройку vCore, но и выделение новых вычислительных ресурсов, подготовку данных, переключение подключений и очистку старой среды. Время, затрачиваемое на масштабирование, может значительно отличаться даже для, казалось бы, идентичных изменений между двумя базами данных.Размер базы данных является ключевым фактором, поскольку большие базы данных требуют большей подготовки данных на целевых вычислительных ресурсах. Активная рабочая нагрузка на базе данных также может влиять на продолжительность масштабирования, поскольку база данных остается в сети во время подготовки целевой среды. Длительные транзакции, присутствующие во время переключения, могут задержать переход подключений и продлить операцию. Доступность ресурсов в Azure SQL также может привести к тому, что операции перейдут в состояние ожидания, что увеличит общее время.Мониторинг операций масштабирования можно осуществлять с помощью командлетов Azure PowerShell Get-AzSqlDatabaseActivity и Get-AzSqlDatabase. DMV sys.dm_operation_status предоставляет представление состояния операций, таких как PENDING и IN_PROGRESS, на стороне SQL. Столбец PercentComplete в sys.dm_operation_status обычно указывает на состояние операции, а не на детальный прогресс масштабирования.Во время масштабирования база данных остается доступной, а подключения продолжают поступать к исходным вычислительным ресурсам до переключения. Само переключение вызывает кратковременное прерывание, требующее от приложений реализации логики повторных попыток. Медленная операция масштабирования не обязательно указывает на сбой; она может добросовестно проходить сложные этапы подготовки. Устранение неполадок включает проверку точных изменений, сравнение размеров баз данных, активности рабочей нагрузки и проверку наличия длительных транзакций.