Большая длина очереди диска не означает, что у вас есть узкое место ввода / вывода, если у вас есть SAN или NAS, вы можете посмотреть другие дополнительные счетчики. Проверьте Городские легенды SQL Server, обсуждаемые для получения более подробной информации.
1: следующие операции интенсивно используют tempdb
- Повторное создание и удаление временных таблиц (локальных или глобальных)
- Табличные переменные, которые используют базу данных tempdb для хранения
- Рабочие таблицы, связанные с CURSORS
- Рабочие таблицы, связанные с предложением ORDER BY
- Рабочие таблицы, связанные с предложением GROUP BY
- Рабочие файлы, связанные с HASH PLANS
Эти функции SQL Server 2005 также интенсивно используют базу данных tempdb:
- управление версиями на уровне строк (моментальный снимок)
- перестроение индекса онлайн
Как уже упоминалось в других ответах SO, прочитайте эту статью о передовых методах повышения производительности базы данных tempdb.
2: Анализ количества свободной оперативной памяти на сервере, т. Е. Просмотр счетчика WMI Память-> Доступные мегабайты, не помогает, поскольку SQL Server будет кэшировать страницы данных в оперативной памяти, поэтому любой сервер БД, который работает достаточно долго, будет иметь мало свободной оперативной памяти .
Счетчики, на которые вы должны обратить внимание, которые более осмысленны, если вам поможет добавление ОЗУ на сервер:
Экземпляр SQL Server: Buffer Manager-> Продолжительность жизни страницы (в секундах)
Значение ниже 300-400 секунд будет означать, что страницы не находятся в памяти очень долго и данные постоянно читаются с дисков. Серверы с низкой продолжительностью жизни страниц выиграют от дополнительной оперативной памяти.
и
Экземпляр SQL Server: Buffer Manager-> Коэффициент попадания в буферный кэш
Это говорит вам о проценте страниц, которые были прочитаны из ОЗУ, которым не требовалось чтение с диска, а коэффициент попадания в кэш ниже 85 будет означать, что сервер получит выгоду от дополнительной ОЗУ
3: Да, не может пойти не так, как надо здесь. Рекомендуется иметь tempdb на отдельном наборе дисков. Посмотрите эту статью базы знаний под заголовком: Перемещение базы данных tempdb, как это сделать.