Назад | Перейти на главную страницу

Повлияет ли уровень совместимости базы данных на производительность?

Мы только что перенесли наш Microsoft SQL Server со стандарта Enterprise 2005 на стандарт 2008 года на оборудовании с той же спецификацией. Базы данных были зарезервированы, а затем восстановлены до чистой установки sql 2008. Уровень совместимости в настоящее время составляет 90 (2005 г.). В 2005 году ни одна из функций Enterprise не использовалась (отсюда и переход на более раннюю версию). Мы заметили увеличение загрузки ЦП на 10–12% по сравнению с 2008 годом по сравнению с 2005 годом. Единственным другим изменением было то, что SQL 2005 работал с сервером 2003 x64, а 2008 работал с сервером 2008 x64. Мы не используем полнотекстовые индексы.

Повлияет ли уровень совместимости базы данных на производительность? Мы не перестраивали индексы или не обновляли статистику, повлияет ли это? Что еще нам следует искать, что может повлиять на производительность?

Есть проблемы с производительностью? Другими словами, единственное, что вы видите, - это увеличение загрузки ЦП, но не снижение скорости транзакций?

Если приложение теперь способно (и обрабатывать) больше транзакций в секунду, вполне возможно, что увеличение времени процессора связано с более высокой пропускной способностью. Если есть различия в оборудовании, это тоже может быть причиной. Вы должны обновить статистику и индексы в базе данных после перемещения, и это может вызвать увеличение ЦП (но это зависит от приложения)

Уровень совместимости относится только к уровню совместимости языка T-SQL, поэтому, как правило, нет снижения производительности, если вы не используете какой-либо код, который был заменен гораздо более совершенным методом, и в этом случае движок может быть не так оптимизирован для старого код.

Вы можете найти документацию о различных уровнях совместимости Вот.

Уровень совместимости базы данных в основном влияет на синтаксис SQL и синтаксический анализ запросов, а это должен не влияют на производительность; в любом случае, если проблемы с приложением не вынуждают вас использовать предыдущий уровень, рекомендуется его обновление.

Если это 2 разных сервера, то это может быть Disk IO (настройки рейда?). Я согласен с @Massimo относительно синтаксиса.

Уровни совместимости не должны быть проблемой.

Если вы еще этого не сделали, я бы запустил PerfMon на этом сервере, чтобы посмотреть, сможете ли вы определить, исходит ли повышенная загрузка ЦП от SQL Server, Windows или чего-то еще.