Execute new query when current query finalises
Assuming it is just a single statement that you are waiting to complete, you can first run the following to get the start time of the current request

SELECT start_time FROM sys.dm_exec_requests WHERE session_id = &lt;&lt;spid_of_other_connection&gt;&gt;


And then having got the start_time do some simple polling in another SSMS window

SET NOCOUNT ON;

WHILE EXISTS
(SELECT *
        FROM    sys.dm_exec_requests
        WHERE   session_id = &lt;&lt;spid_of_other_connection&gt;&gt;
                AND start_time = &lt;&lt;start_time_from_above&gt;&gt;)
BEGIN
  WAITFOR DELAY '00:00:10'
END

PRINT 'DO SOMETHING HERE'; 


The filter on start_time rather than just session_id is because the session_id can be recycled if the original connection is closed.