SQL Azure будет регулировать ваши соединения, если возникнет какая-либо форма конфликта ресурсов (это включает в себя большую нагрузку, но может также произойти, когда ваша база данных физически перемещается). Регулирование недетерминировано, то есть вы не можете предсказать, произойдет ли это и когда. При регулировании SQL Azure прервет ваше соединение, что потребует от вас повторных попыток. Количество поддерживаемых соединений и пропускная способность не публикуются «по проекту» из-за гибкого характера базовой инфраструктуры. Сказав это, установка оптимизирована для высокой доступности, а не высокой пропускной способности.
Если всплески происходят в известное время, вы можете рассмотреть вопрос о разбиении как раз во время этих всплесков и консолидации данных после того, как произошла посылка. Другой способ справиться с этим - начать очередь / пакетную запись, если и только если происходит регулирование. Для этого вы можете использовать очередь Azure и рабочую роль, чтобы позже очистить очередь. Этот «механизм переполнения» обладает тем преимуществом, что он автоматически включается в случае дросселирования.
В качестве альтернативы вы можете использовать хранилище таблиц Azure и хранить отдельную таблицу промежуточных итогов, которую вы можете отчитываться, вместо того чтобы выполнять агрегирование по данным, чтобы получить требуемую сумму всех записей (это может быть сложно из-за отсутствия блокировки на столах, хотя).
Извините за утверждение очевидного, но первым шагом было бы проверить, сталкиваетесь ли вы вообще с дросселированием в вашем сценарии. Я бы попробовал решение по переполнению.