Waking suspended processes

After dump transaction frees sufficient log space, suspended processes automatically awaken and complete. If writetext or select into has resulted in unlogged changes to the database since the last backup, you can run dump tran with truncate_only, which runs even in a situation with nonlogged-writes. If log space is so critical that dump tran with truncate_only fails, you can run dump tran with no_log. However, dump tran with no_log is for emergencies only, and should be run only as a last resort.

After the transaction dump completes, and transactions have successfully been freed from the log suspend state, the system administrator or database owner can dump the database.

If this does not free enough space to awaken the suspended processes, increase the size of the transaction log. Use the log on option of alter database to allocate additional log space.

Short of killing the command, one can also simply abort it, with the Transact-SQL builtin lct_admin("abort", <spid>). Aborting the command might be preferable to killing the connection. That builtin can only be applied to a process that is sleeping in log suspend.

If you have system administrator priviledges, you can use the sp_who command to determine which processes are in a log suspend status, then use the kill command to waken the sleeping process. To avoid killing processes, you can use lct_admin("abort", spid) to abort the process. You can use lct_admin only on processes that are sleeping in log suspend.