Хотя у меня возникнет искушение винить мои проблемы - я получаю ту же ошибку с моим запросом, которая намного, намного больше и включает много циклов - в сети, я думаю, что это не так.
К сожалению, не все так просто. Запрос запускается в течение 3+ часов, прежде чем получит эту ошибку, и, очевидно, он вылетает в одно и то же время, если это просто запрос в SSMS и задание на SQL Server (пока не рассматривал детали этого, поэтому не уверен, что это та же ошибка; определенно то же самое место, хотя).
Так что на всякий случай, если кто-то придет сюда с подобной проблемой, эта тема:
https://www.sqlservercentral.com/Forums/569962/The-semaphore-timeout-period-has-expired
предполагает, что это также может быть аппаратная проблема или фактический тайм-аут.
Мои циклы не являются четными (они зависят от уровня продаж в данном месяце) с точки зрения времени, необходимого для каждого, поэтому для расчета хорошего месяца требуется около 20 минут (запрос рассчитан на 4 года).
Таким образом, вполне возможно, что мне нужно оптимизировать мой запрос. Я бы даже сказал, что это вероятно, так как некоторые изменения, которые я внес, включили новые таблицы, которые являются кучей ... Итак, еще один раунд индексации моих данных перед тем, как перейти к конфигурации виртуальной машины и тестам оборудования.
Учитывая, что это старый вопрос: я нахожусь на SQL Server 2012 SE, SSMS - бета-версия 2018, а виртуальная машина, на которой работает SQL Server, имеет эксклюзивное использование 132 ГБ ОЗУ (всего 30%), 8 ядер и 2 ТБ SSD SAN.