• Ah, well, in that case it's probably going to be a sticky issue if the query is actually causing any issues.

    If it's still an active transaction and has been running for over 24 hours, then even killing it could be horrendous because the rollback will be quite intensive.

    Unless it's causing problems (causing excessive blocking for example), it's likely best to just let it run its course. Even if it is causing some problems, there may be no better option than letting it finish, if the rollback is going to be nightmarish.

    With the amount of time it's been running, I'm curious what it's done to the log.

    What's the following query show?

    SELECT

    session_id,

    UsedLogMB=database_transaction_log_bytes_used/(1024*1024)

    FROM sys.dm_tran_database_transactions dbtran

    INNER JOIN sys.dm_tran_session_transactions sestran

    ON dbtran.transaction_id=sestran.transaction_id

    WHERE sestran.session_id=<your spid here>

    If the used log is incredibly large (as I fear it might be), then you're likely stuck with letting it finish, since the rollback could be worse than letting it run.

    Cheers!