SQL Server 2008: A * Счетчик ввода-вывода файла данных * для SQL Server

Я делаю стресс-тест SQL Server 2008 и хочу знать, что такое поток данных в базу данных tempdb из-за использования временных таблиц и переменных.

Статистика также отображается в мониторе активности:

Можно ли как-то записать данные и затем проанализировать их? Я имею в виду 2 случая:

  1. Запишите счетчик SQL Server (я не знаю, каково его имя)
  2. Записать как-нибудь данные из Activity Monitor

3 ответа

Решение

Запись в базу данных не равняется 1 к 1 с дисковым вводом-выводом. Обновления базы данных только грязные страницы в памяти, которые позже копируются на диск ленивым писателем или на контрольной точке. Единственное, что записывается на диск, - это операция записи в журнал записи, для которой существует отдельный счетчик для каждой базы данных: число записанных байтов в секунду. Обратите внимание, что tempdb предъявляет особые требования к ведению журнала, так как он никогда не восстанавливается, поэтому ему требуется только отменить информацию Всякий раз, когда грязные страницы действительно сбрасываются, будь то на контрольной точке или ленивым автором, для этого также есть определенные счетчики: контрольная точка страниц / сек и ленивая запись / сек. Они не относятся к базе данных, поскольку сами эти действия не относятся к базе данных. Наконец, есть виртуальные файлы статистики DMV: sys.dm_io_virtual_file_stats которые предлагают общее количество операций ввода-вывода и количество байтов для каждого отдельного файла каждой отдельной базы данных, включая базу данных tempdb.

Вы упоминаете, что хотите измерить конкретное влияние временных таблиц и табличных переменных, но не сможете отделить их от остальной части действий tempdb (сортировка катушек, рабочих таблиц и т. Д.). Я рекомендую вам перейти к работе с tempdb в SQL Server 2005, поскольку она все еще применяется к SQL 2008.

Я бы взял "снимки" с регулярным интервалом (используя следующие DMV), загруженные в таблицы, чтобы определить ваши внутренние использования tempDB.

sys.all_objects 
sys.dm_db_file_space_usage
sys.dm_db_task_space_usage

sys.dm_db_task_space_usage будет разбивать использование по SPID и т. д.

Если вы используете системный монитор (perfmon.exe) для мониторинга счетчиков SQL Server, вы можете настроить его для входа в файл.csv для анализа в Excel (например)

Рассматриваемый счетчик производительности - Размер Файла Данных под SQLServer: Базы данных

Другие вопросы по тегам