That's like finding a needle in the haystack because you are not able to get a general idea of where to look.
1. So look at your event logs in the database server first.
2. Check your code, do you open the database just in time, and then close it.
3. Check your application design, or poorly written SQL, streamline functions to access the server less.
4. Sometimes you have to change the settings on the Microsoft SQL Server to sort of create an open connection for a longer period of time.
Consider this
http://stackoverflow.com/questions/312702/is-it-safe-to-keep-database-connections-open-for-long-time[
^]
I can say that when you figure it out, that may never happen again on your watch.
FYI:
I had a similar error last week, but it was due to the Veeam Backup Software that brought the server offline for a minute to do a full backup.