Check the server properties to see if a limit has been put on the number of connections.
Check the code to see its using pooling and you have run out of connections in the pool
is this the server or the client that is slow?
If its the servre check with profiler to see if you have any long running queries that are consuming resources. Does it always happen at the same time of day if so check to see what else is happening on the server
If you edit the server properties in Management Studio you can set how many CALs you have. If more people that this try to connect it will throw an error. I’m not sure which tab it’s on, but it should be in there somewhere. (At least I know that SQL 7 had this, it might have been removed by the time SQL 2000 was released.) Just set it to the max number possible, or change it to CPU licensing.