Регресс производительности после обновления уровня совместимости - PullRequest
0 голосов
/ 26 июня 2019

Мы недавно перенесли нашу базу данных на новый сервер. Старый сервер использовал Windows Server 20008R2 и SQL Server 2008R2. Новый сервер использует Windows Server 2019 и SQL Server 2017.

Миграция прошла гладко, пока мы не изменили уровень совместимости (CL) базы данных с

  • SQL Server 2008 (100)

до

  • SQL Server 2017 (140).

Вы можете увидеть разницу в плане выполнения хранимой процедуры на рисунках ниже:

Это отрывок плана для CL: SQL Server 2008 (100):

Execution plan for CL SQL Server 2008

и это отрывок плана точно такого же запроса для CL: SQL Server 2017 (140):

Execution plan for CL SQL Server 2017

Каким-то образом параллелизм теряется при обновлении CL. Как я могу решить проблему?

...