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)