I have a table with approximately 17,171,359 rows. I also have 16 indexes on that same table. Some of those indexes may no longer be necessary, but I am not sure which ones yet. Using the SQL Server Profiler, I can see that most of the time, when everything seems to be performing fine, an insert into that table takes <150ms. However, sometimes something seems to go wrong and those inserts take substantially longer, sometimes exceeding the timeout. I am having a difficult time determining what is causing the inserts to suddenly start taking so long. I am also running Performance Monitor concurrently with the profiler trying to determine what the problem is. I can say that there seems to be a correspondence between Avg. Disk Queue Length and the inserts taking too long. That is, when the inserts start taking a long time, the Avg Disk Queue Length pegs the top of the graph. The frequency of this happening seems to be increasing, but at the current time, it is a bit hard to predict when this will happen. I am basically having to sit and watch the profiler and performance monitor just waiting for it to happen. Not a productive way to track this down. Sure would like a tool that would snapshot the system when it gets in a situation like this to help me pinpoint where the problem is! I don't believe this problem was happening a month or more ago. Its hard to tell because I only would have noticed when the delays were so long that inserts started timing out, which isn't the case most of the time. Even when it starts misbehaving and inserts take 30 seconds, it ususally corrects itself and there are no errors. So I am wondering, is the problem that I have too many indexes? I assume that when an insert occurs, all the indexes have to be updated too. Is it possible that with a table this large, and 16 indexes, that is just too much? Since it has fine performance most of the time though, that just doesn't seem very likely. Anyone have any suggestions that could help me pinpoint the problem? I am planning to analyze the indexes and delete any that are not necessary. I am concerned it may be difficult for me to determine which ones are not necessary. Is there anything that will give me statistics on when indexes were last used or how frequently? Also, I could consider deleting some of the older rows from the table. It is history and I hate to do it, especially if something else is really causing the problem and the number of rows isn't really the problem, but I could delete some of the older rows. Thanks.