Низкая (до нулевой) производительность в SQL 2005 после подключения базы данных SQL 2000 - PullRequest
2 голосов
/ 26 октября 2009

Выпуск: Использование базы данных SQL отсоединения / присоединения от экземпляра SQL 2000 SP4 к гораздо более мощному серверу SQL 2005 SP2.

Запустите переиндексацию, реорганизуйте и обновите статистику пару раз, но безуспешно.

Запросы в SQL 2000 занимали около 1-2 секунд. чтобы завершить, теперь те же самые запросы занимают 2-3 минуты в SQL 2005 (и даже в 2008 году - там тоже проверялось).

Посмотрели планы выполнения и общий процент совпадений или одинаковы на каждом сервере.

Ответы [ 5 ]

0 голосов
/ 25 апреля 2010

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

В их производственной среде использовался экземпляр Sql Server 2000 с базой данных, которая существовала 4 или 5 лет; на их промежуточном сервере баз данных работал Sql Server 2005, на котором была восстановлена ​​резервная копия их производственной базы данных. Наши тесты показали, что промежуточный сервер стабильно работал значительно хуже, чем производственный.

Мы устранили различия в оборудовании, установив экземпляры Sql Server 2000 и 2005 на новую машину и восстановив одну и ту же резервную копию на обоих компьютерах. Убедившись, что между экземплярами на новом компьютере существует аналогичное несоответствие производительности, мы выполнили проверки согласованности и перестроили индексы безрезультатно. Мы обнаружили, что создание новой базы данных в экземпляре 2005 года с идентичной схемой и перенос только данных устраняет несоответствие производительности. Исходя из обстоятельств, мы решили, что нет необходимости продолжать заниматься этим вопросом.

0 голосов
/ 08 февраля 2010

Просто для продолжения этого «решения» для нас был экземпляр SQL2000, установленный вместе с SQL 2005.

Мы также попытались подключить базу данных SQL 2000 к другому серверу, на котором запущен SQL 2008, с тем же плохим результатом, что и SQL 2005: - (

Итак, что касается подключения, оборудования, ввода-вывода и подобных проблем, экземпляр SQL2000 отлично работает на том же сервере, что и SQL 2005. Я думаю, это исключает вопросы аппаратного обеспечения?

0 голосов
/ 26 октября 2009

Без какой-либо информации о схеме, запросе или размере таблиц мы действительно ничего не можем угадать. Если вы можете опубликовать вывод SET STATISTICS TIME ON и SET STATISTICS IO ON в 2005 г. по сравнению с 2000 г., мы могли бы начать обсуждение ...

Обновление базы данных с 2000 по 2005 годы происходит, как только база данных размещается в сети в системе 2005 года, независимо от фактической операции (восстановление, присоединение).

0 голосов
/ 29 октября 2009

Я бы также посмотрел опции, которые установлены для соединений на двух серверах. Это может вызвать проблемы с производительностью, поскольку эти данные влияют на повторное использование плана запроса. Запустите трассировку Profiler на обоих серверах и сравните существующие сведения о соединениях. Например, при входе с другим языком, отличным от остальных, нельзя использовать те же планы запросов. В Books Online есть информация о том, какие варианты влияют на это.

0 голосов
/ 26 октября 2009

Необходимо вернуться на сервер 2000, выполнить полное резервное копирование, а затем восстановить его до 2005.

...