• The resource should be checked in the environment where the stored procedure is executed. Server1 as that is explicitly where you have called the stored proc.

    if you have multiple db servers to co-ordinate it may be worth setting up a co-ordination instance of SQL somewhere. That could be a tiny installation on a VM and its only purpose is to be a co-ordination point.

    You could make a very clean implementation with rules about what to do when you fail to get the co-ordination required.