I have a SQL Server 2005 Enterprise server running SP3. The server has about 35 databases on it, and is a publisher in a transactional replication setup. Two seperate boxes act as the distributor and subscriber. The setup is completely 32-bit with Windows Server 2003 Enterprise. The publisher, distributor, and subscriber all have their own active/passive cluster. The publisher is a 2.8 Ghz dual-processor quad-core server with 8 GB of RAM. The server almost never exceeds more than 75 users; these users connect through 6 webservers that host an ASP.NET application. The CPU utilization on this server is incredibly high; it hovers around 50% utilization during the day, sometimes spiking up to 85%. Profiler doesn't show very many high-duration transactions over 2 seconds. Perfmon shows an average number of 1150 Batch Requests/sec. I think this is the cause of the extreme CPU usage, since this seems incredibly high. My question is, how can I identify where all of these batch requests are coming from? I have a hard time grasping 75 users doing that much work, and I dont' think replication is the cause. Surely a server with this kind of horsepower should be able to handle this number of users. Ideas?