Hi David,
Thank you for the answer and the links you have provided. Actually I’ve read already some of them and I was also able to do some testing regarding those solutions.
For SQL adapter, BizTalk Host clustering proves to be a good solution but will cause you not to maximize the advantage of BizTalk Group (Host redundancy) for scalability purpose. So for that reason we've decided we're going to avoid the clustering solution but for MessageBox which really need the clustering for High Availability.
What we’re trying to accomplish is having an Active / Active or shall I say Load Balancing by means of BizTalk Server Group which means we are really going to have several SQL receive adapter polling simultaneously.
Initially my solution was in query level handling it thru locking hints, below is sample of my SP.
MERGE INTO EmployeeComp
USING (SELECT EmployeeID
FROM
[AdventureWorks].[dbo].[EmployeeComp]
WITH (READPAST, UPDLOCK)
WHERE
[AdventureWorks].[dbo].[EmployeeComp].[Status] = 0) e(EmployeeID)
ON EmployeeComp.EmployeeID = e.EmployeeID
WHEN MATCHED THEN
UPDATE SET
STATUS = 2
OUTPUT Inserted.EmployeeID, Inserted.Name, Inserted.Status;
Can you give some feedback with the SP I’ve created? I did several testing with around 500,000 data being read by BizTalk WCF-SQL adapter and then at the same time another thousands of data being write and it prove to be working as what I expected.
Although solution seems to be fine but I’m not yet sure what are impacts on this kind of solution, maybe you can shed me some light with this also?
Also I was thinking if it’s possible to use SQL Server Service Broker from this article. http://blogs.msdn.com/adapters/archive/2008/06/30/using-the-wcf-sql-adapter-to-read-messages-from-ssb-queues-and-submit-them-to-biztalk.aspx
Right now I’m still checking with it and not yet sure if how possible to work this out.
Many Thanks