Even though the log file shows that there is over 1 GB of free space, we start receiving an error message every 3 or 4 days saying that the TempDB file is full. I know cursors impact the TempDB file, but is there anything else I should be looking at to see why this keeps happening? I've tried running SQL Profiler, but when running it, it slowed down the DB so much that the users were experiencing timeouts. What specific items should I check for in SQL Profiler?
Script out your stored procedures and look for temp tables that are being created but not being dropped. If those sprocs are run frequently you might be filling your tempdb that way.
Also check your scheduled jobs t osee if one runs right before this happens. A badly designed import or export could do this as well.
ANd why, pray tell, are you running enough cursors to consider that a reason why your tempdb is getting full. Cursors are generally to be avoided espcially on production datbases. WHy aren't you using set-based solutions instead?