Я сделал ошибку при запуске того, что должно было быть быстрым обновлением для моей таблицы фактов (200M строк) с этим:
update dbo.primary_fact
set count_of_loan_obligors = o.n
from dbo.staging_fact f
-- notice that this is not the same table as the one in the update clause
inner join ##Obligor_Count o
on (f.time_dimension_id = o.time_dimension_id
and f.account_dimension_id = o.account_dimension_id)
Это должно было быть:
from dbo.primary_fact f
Правильно сформированное обновление, подобное этому (1 день, 87 тыс. Учетных записей), обычно заканчивается через минуту или 2. После 12 минут работы я подумал, что так долго, и заметил мою ошибку.
Я отменил запрос в SQL Server Management Studio, который, как я понимаю, откатит все ужасы, которые я вызвал (кто-то может подтвердить?)
Но мой главный вопрос: что делает неправильно сформированный запрос?
Обновление: Действие отмены наконец завершено, через час и 39 минут. Администраторы баз данных были слишком медленными в убийстве - также хорошо.
Правильно сформированное обновление завершено за 8 секунд.
Второе обновление: Не было значений, установленных из исходного (неисправного) обновления после успешного порядка отмены в SSMS. Я бы интерпретировал это как означающее, что все ожидающие обновления были отменены.