• Some things to check, roughly in order:

    1) Verify that a valid and reasonable "max memory" value is set in SQL Server.

    2) Verify that IFI is turned on in Windows to allow SQL to use it.

    3) Check the disk latency. The query below will give you an overview by drive. In general, you want values around 15ms or less up to say 25ms. Anything over 30ms could noticeably slow SQL.

    SELECT

    LEFT(physical_name, 1) AS drive,

    CAST(SUM(io_stall_read_ms) / (1.0 + SUM(num_of_reads)) AS NUMERIC(10,1)) AS avg_read_disk_latency_ms,

    CAST(SUM(io_stall_write_ms) / (1.0 + SUM(num_of_writes) ) AS NUMERIC(10,1)) AS avg_write_disk_latency_ms,

    CAST((SUM(io_stall)) / (1.0 + SUM(num_of_reads + num_of_writes)) AS NUMERIC(10,1)) AS 'avg_disk_latency_ms'

    FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs

    INNER JOIN sys.master_files AS mf ON

    mf.database_id = divfs.database_id AND

    mf.file_id = divfs.file_id

    GROUP BY LEFT(physical_name, 1)

    ORDER BY avg_disk_latency_ms DESC;

    4) Check for any autogrow file growth setting/amount that is: (1) too small or (2) too large or (3) a %, such as 10%, rather than a fixed value, such as 20MB.

    5) Use SQL's built-in, standard reports to list the "TOP 10" most IO queries, avg and total.

    6) Check for log files with too many VLFs, correct them if found.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.