• Thanks guys! My situation is this; I have source table from a server which is my Inbox.tbl and I have multiple instance of application that continuously reading this table ex:

    DECLARE

    @MESSAGE AS VARCHAR(200) ,

    @INBOXIDAS BIGINT

    SELECT

    @INBOXID = INBOXID ,

    @MESSAGE = MESSAGE

    FROM INBOX

    WITH(UPLOCK)

    WHERE

    ROWLOCKED = 0 AND

    ISPROCESSED = 0

    IF @INBOX IS NOT NULL /* RETRIEVED RECORD */

    BEGIN

    /* MARK THE TABLE AS LOCKED */

    UPDATE INBOX

    SET

    ROWLOCKED = 1

    WHERE

    INBOXID = @INBOXID

    At this point, since I have retrieved a record, I have to call a stored procedure located at another database server to process the request based from the catch message “@MESSAGE

    But in my query I have to continuously hold the transaction; that’s why im using the distributed transaction.

    END

    But as of my workaround permits, I put my parsing code onto another server which uses XLOCK and its quite working now.

    _____________________________________________
    [font="Verdana"]ToM™[/font] (Possibility will come out of nothing)