I try to avoid using cursors, but I have a situation that require a cursor. The cursor is declared FAST_FORWARD. When I run the process as a script under the SQL Query Analyzer client on my machine it runs in 5 minutes. When the same script is saved as a stored procedure and run as a scheduled job under SQL Agent, the run time is 1-3 hours. The server is multi-processor with 4 gigs of memory. My desktop client is single process with 1 gig of memory. Why does the job run so much slower on the server than on the client?