Toate bune si frumoase, m-am documentat, m-am jucat, si mi-a iesit jumatate din problema, adica trimiterea datelor intr-un scenariu "many-to-one".
Exemplele de aici : http://www.sqlteam.com/article/centralized-asynchronous-auditing-across-instances-and-servers-with-service-broker mi-au fost foarte utile.
La ce m-am blocat acum, este partea "one-to-many"; nu stiu cum sa trimit datele de la "sediul central" catre "filiale".
Am sa zicem 3 tabele "nomenclator", pe care vreau sa le trimit la "filiale". Am facut acelasi lucru cu trigger pe tabele, care genereaza un XML, XML-ul asta este trimis catre procedura catre trimite dialogurile catre serviciile "filialelor". Insa nu-mi dau seama cum sa editez aceasta procedura, ca sa trimit datele modificate dintr-o tabela "nomenclator", catre toate filialele.
Banuiesc ca aici este spilul :
-- Begin the dialog, with the new Id
BEGIN DIALOG CONVERSATION @dlgId
FROM SERVICE [tcp://10.0.3.160:4022/TestDb1/Audit/DataSender]
TO SERVICE '//Audit/DataWriter',
-- this is a MasterAuditDatabase Service Broker Id
-- (change it to yours and remove < and >)
'5E929454-43FA-4793-98FA-EB8647E1D313'
ON CONTRACT [//Audit/Contract]
WITH ENCRYPTION = OFF;
sa trimit la fiecare serviciu de la filiale (stiind acel service broker ID). Insa nu-mi iese !
Plus ca n-as vrea ca de fiecare data cand adaug o filiala, sa modific aceasta procedura stocata (adica sa scriu "in clar" acel id, si sa fac send pentru fiecare id)...
Ce ma sfatuiti ?
Drive safe !