Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server ve službě Windows
Azure SQL Managed Instance
Důležité
Hlavní datové služby (MDS) se odeberou v SQL Serveru 2025 (17.x). MdS nadále podporujeme v SQL Serveru 2022 (16.x) a starších verzích.
Služba Master Data Services používá obchodní pravidla k vytváření základních řešení pracovních postupů, jako je automatické aktualizace a ověřování dat a odesílání e-mailových oznámení na základě zadaných podmínek. Pokud požadujete zpracování, které je složitější než to, co poskytují integrované akce pracovního postupu, použijte vlastní pracovní postup. Vlastní pracovní postup je sestavení .NET, které vytvoříte. Po zavolání sestavení pracovního postupu může váš kód provést jakoukoli akci, která vaše situace vyžaduje. Pokud například pracovní postup vyžaduje komplexní zpracování událostí, například vícevrstvé schválení nebo složité rozhodovací stromy, můžete nakonfigurovat hlavní datové služby tak, aby spustily vlastní pracovní postup, který analyzuje data a určuje, kam je odeslat ke schválení.
Jak se zpracovávají vlastní pracovní postupy
Ke zpracování vlastních pracovních postupů se používají tři hlavní komponenty: webová aplikace Master Data Manager, služba integrace pracovního postupu MDS s SQL Serverem a sestavení obslužné rutiny pracovního postupu. Tyto komponenty zpracovávají vlastní pracovní postup následujícím způsobem:
Pomocí Hlavního správce dat ověříte entitu, která spouští pracovní postup.
Hlavní správce dat odesílá členy, kteří splňují podmínky obchodního pravidla, do fronty služby Service Broker v databázi hlavní datové služby.
V pravidelných intervalech sql Server MDS Workflow Integration Service volá uloženou proceduru v databázi hlavní datové služby.
Když tato uložená procedura najde záznamy ve frontě služby Service Broker, vrátí je do integrační služby pracovního postupu SQL Serveru MDS.
SQL Server MDS Workflow Integration Services směruje data do sestavení obslužné rutiny pracovního postupu.
Poznámka:
Poznámka: Sql Server MDS Workflow Integration Service je určen k aktivaci jednoduchých procesů. Pokud vlastní kód vyžaduje komplexní zpracování, dokončete zpracování buď v samostatném vlákně, nebo mimo proces pracovního postupu.
Konfigurace hlavních datových služeb pro vlastní pracovní postupy
Vytvoření vlastního pracovního postupu vyžaduje zápis vlastního kódu a konfiguraci služby Master Data Services pro předávání dat pracovního postupu obslužné rutině pracovního postupu. Pokud chcete povolit vlastní zpracování pracovního postupu, postupujte takto:
Vytvořte sestavení .NET, které implementuje Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.
Nakonfigurujte službu INTEGRACE pracovního postupu SQL Serveru tak, aby se připojila k vaší databázi Master Data Services a přidružila značku k obslužné rutině pracovního postupu.
Spusťte službu integrace pracovního postupu MDS s SQL Serverem.
Vytvořte obchodní pravidlo ve Správci hlavních dat, které spustí pracovní postup označený názvem obslužné rutiny pracovního postupu.
Použití obchodního pravidla u člena, který aktivuje váš vlastní pracovní postup.
Vytvoření sestavení obslužné rutiny pracovního postupu
Vlastní pracovní postup je sestavení knihovny tříd .NET, které implementuje rozhraní Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender . Sql Server MDS Workflow Integration Service volá metodu Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* pro spuštění kódu. Příklad kódu, který implementuje Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* , viz příklad vlastního pracovního postupu (hlavní datové služby).
Pomocí následujícího postupu pomocí sady Visual Studio 2010 vytvořte sestavení, které může služba integrace pracovního postupu MDS s SQL Serverem volat za účelem zpracování vlastního pracovního postupu:
V sadě Visual Studio 2010 vytvořte nový projekt knihovny tříd , který používá jazyk podle vašeho výběru. Pokud chcete vytvořit knihovnu tříd jazyka C#, vyberte typy projektů Visual C#\Windows a vyberte šablonu Knihovny tříd . Zadejte název projektu, například MDSWorkflowTest, a klikněte na OK.
Přidejte odkaz na Microsoft.MasterDataServices.WorkflowTypeExtender.dll. Toto sestavení najdete ve <složce> Instalace\Master Data Services\WebApplication\bin.
Do souboru kódu jazyka C# přidejte "using Microsoft.MasterDataServices.Core.Workflow;".
Dědí z Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender v deklaraci třídy. Deklarace třídy by měla být podobná: public class WorkflowTester : IWorkflowTypeExtender.
Implementujte rozhraní Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender . Metoda Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow* je volána službou integrace pracovního postupu MDS SQL Serveru, aby se spustil pracovní postup.
Zkopírujte sestavení do umístění spustitelného souboru sql Serveru MDS Workflow Integration Service s názvem Microsoft.MasterDataServices.Workflow.exeve <složce> Instalace\Master Data Services\WebApplication\bin.
Konfigurace služby integrace pracovních postupů MDS s SQL Serverem
Upravte konfigurační soubor služby Master Data Services tak, aby zahrnoval informace o připojení pro vaši databázi master data Services a přidružil značku k sestavení obslužné rutiny pracovního postupu pomocí následujícího postupu:
Vyhledejte Microsoft.MasterDataServices.Workflow.exe.config ve <složce> Instalace\Master Data Services\WebApplication\bin.
Do nastavení ConnectionString přidejte informace o připojení k databázi služby Master Data Services. Pokud instalace SQL Serveru používá kolaci s rozlišováním velkých a malých písmen, musí být název databáze zadán ve stejném případě jako v databázi. Například úplná značka nastavení může vypadat takto:
<setting name="ConnectionString" serializeAs="String"> <value>Server=myServer;Database=myDatabase;Integrated Security=True</value> </setting>Pod nastavení ConnectionString přidejte nastavení WorkflowTypeExtenders pro přidružení názvu značky k sestavení obslužné rutiny pracovního postupu. Například:
<setting name="WorkflowTypeExtenders" serializeAs="String"> <value>TEST=MDSWorkflowTestLib.WorkflowTester, MDSWorkflowTestLib</value> </setting>Vnitřní text <značky hodnoty> je ve formě <názvu> typu workflow tag<=>assembly-qualified workflow. <Značka> pracovního postupu je název, který použijete k identifikaci sestavení obslužné rutiny pracovního postupu při vytváření obchodního pravidla v Hlavním Data Manageru. <Assembly-qualified workflow type name> is the namespace-qualified name of your workflow class, followed by a comma, následovaný zobrazovaný název sestavení. Pokud je sestavení silně pojmenované, musíte také zahrnout informace o verzi a jeho PublicKeyToken. Pokud jste vytvořili více obslužných rutin pracovních postupů pro různé druhy pracovních postupů, můžete zahrnout více <značek nastavení> .
Poznámka:
V závislosti na konfiguraci serveru se při pokusu o uložení souboru Microsoft.MasterDataServices.Workflow.exe.config může zobrazit chyba Přístup byl odepřen. Pokud k tomu dojde, dočasně zakažte řízení uživatelských účtů na serveru. Chcete-li to provést, otevřete Ovládací panely, klepněte na tlačítko Systém a zabezpečení. V části Centrum akcí klikněte na změnit nastavení řízení uživatelských účtů. V dialogovém okně Nastavení řízení uživatelských účtů posuňte panel do dolní části tak, abyste se nikdy neoznámili. Restartujte počítač a opakujte předchozí kroky a upravte konfigurační soubor. Po uložení souboru obnovte nastavení řízení uživatelských účtů na výchozí úroveň.
Spuštění služby integrace pracovního postupu MDS s SQL Serverem
Ve výchozím nastavení není nainstalovaná služba integrace pracovního postupu MDS SQL Serveru. Abyste ji mohli použít, musíte službu nainstalovat. V případě největšího zabezpečení vytvořte pro službu místního uživatele a udělte tomuto uživateli pouze oprávnění potřebná k provádění operací pracovního postupu. Pokud chcete vytvořit uživatele, nainstalovat službu a spustit ji, postupujte takto:
Pomocí správce místních uživatelů a skupin můžete například vytvořit místního uživatele s názvem mds_workflow_service.
Pomocí aplikace SQL Server Management Studio udělte uživateli mds_workflow_service oprávnění ke spuštění [mdm]. Uložená procedura [udpExternalActionsGet]. Uděláte to tak, že vytvoříte nové přihlášení pro účet mds_workflow_service, vytvoříte nového uživatele v databázi hlavní datové služby, namapujte tohoto uživatele na mds_workflow_service přihlášení a udělíte uživateli oprávnění EXECUTE [mdm]. Uložená procedura [udpExternalActionsGet].
Udělte uživateli mds_workflow_service oprávnění ke spuštění sestavení obslužné rutiny pracovního postupu. Chcete-li to provést, přidejte mds_workflow_service uživatele na kartu Zabezpečenívlastnosti sestavení obslužné rutiny pracovního postupu a udělte mds_workflow_service uživatel oprávnění ČÍST a EXECUTE.
Udělte uživateli mds_workflow_service oprávnění ke spuštění spustitelného souboru služby INTEGRACE pracovního postupu SQL Serveru MDS. Chcete-li to provést, přidejte mds_workflow_service uživatele na kartu Zabezpečenívlastnosti Microsoft.MasterDataServices.Workflow.exe, v <instalační složce>\Master Data Services\WebApplication\bin a udělte mds_workflow_service uživateli oprávnění ČÍST a EXECUTE.
Nainstalujte sql Server MDS Workflow Integration Service pomocí instalačního nástroje .NET s názvem InstallUtil.exe. InstallUtil.exe naleznete v instalační složce .NET, například C:\Windows\Microsoft.NET\Framework\v4.0.30319\. Nainstalujte sql Server MDS Workflow Integration Service zadáním následujícího příkazu do příkazového řádku se zvýšenými oprávněními:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil Microsoft.MasterDataServices.Workflow.exePo zobrazení výzvy během instalace zadejte uživatele mds_workflow_service.
Spusťte službu integrace pracovního postupu MDS s SQL Serverem pomocí modulu snap-in Služby. Uděláte to tak, že v modulu snap-in Služby najdete službu integrace pracovního postupu MDS s SQL Serverem, vyberete ji a kliknete na odkaz Spustit .
Vytvoření obchodního pravidla pracovního postupu
Pomocí Hlavního Správce dat můžete vytvořit a publikovat obchodní pravidlo, které spustí pracovní postup při použití. Měli byste zajistit, aby vaše obchodní pravidlo obsahovalo akce, které mění hodnoty atributů, aby se pravidlo po použití jednou vyhodnotil jako false. Například obchodní pravidlo se může vyhodnotit jako true, pokud je hodnota atributu Price větší než 500 a hodnota schváleného atributu je prázdná. Pravidlo pak může obsahovat dvě akce: jednu pro nastavení hodnoty schváleného atributu na Čeká na vyřízení a jednu pro spuštění pracovního postupu. Případně můžete chtít vytvořit pravidlo, které používá podmínku "změnilo" a přidat atributy do skupin sledování změn. Další informace o obchodních pravidlech najdete v tématu Obchodní pravidla (hlavní datové služby).
Vytvořte obchodní pravidlo, které spustí vlastní pracovní postup ve Správci hlavních dat pomocí následujícího postupu:
V editoru obchodních pravidel Hlavního Správce dat po zadání podmínek obchodního pravidla přetáhněte akci Spustit pracovní postup ze seznamu Externí akce na popisek akce podokna PAK.
V podokně Upravit akci zadejte do pole Typ pracovního postupu značku, která identifikuje sestavení obslužné rutiny pracovního postupu. Toto je značka, kterou jste zadali v konfiguračním souboru pro vaše sestavení, například TEST.
Volitelně zaškrtněte políčko Zahrnout data členů . Tuto možnost zvolte, pokud chcete zahrnout názvy atributů a hodnoty v xml, které se předávají obslužné rutině pracovního postupu.
Do pole Web pracovního postupu zadejte název webu. U vlastního pracovního postupu to nemusí platit, ale lze ho použít pro přidání kontextu.
Do pole Název pracovního postupu zadejte název pracovního postupu ze sady Visual Studio. U vlastního pracovního postupu to nemusí platit, ale lze ho použít pro přidání kontextu.
Uložte a publikujte obchodní pravidlo.
Použití obchodních pravidel pro zahájení pracovního postupu
Pokud chcete pracovní postup spustit, použijte obchodní pravidlo na data. Uděláte to tak, že pomocí Hlavního správce dat upravíte entitu obsahující členy, které chcete ověřit. Klikněte na Použít obchodní pravidla. V reakci na obchodní pravidlo hlavní data Manager naplní frontu Service Broker databáze hlavní datové služby. Když sql Server MDS Workflow Integration Service zkontroluje frontu, odešle data do zadaného sestavení obslužné rutiny pracovního postupu a vymaže frontu. Sestavení obslužné rutiny pracovního postupu provádí jakékoli akce, které jste do něj naprogramovali.
Řešení potíží s vlastními pracovními postupy
Pokud sestavení obslužné rutiny pracovního postupu nepřijímá data, můžete zkusit ladit službu integrace pracovního postupu SQL Serveru MDS nebo zobrazit frontu služby Service Broker.
Ladění integrační služby pracovního postupu MDS s SQL Serverem
Pokud chcete ladit službu integrace pracovního postupu SQL Serveru, proveďte následující kroky:
K zastavení služby použijte modul snap-in Služby.
Otevřete příkazový řádek, přejděte do umístění služby a spusťte službu v režimu konzoly zadáním příkazu: Microsoft.MasterDataServices.Workflow.exe -console.
V Master Data Manageru aktualizujte člena a znovu použijte obchodní pravidla. Podrobné protokoly se zobrazí v okně konzoly.
Zobrazení fronty služby Service Broker
Fronta Service Broker, která obsahuje hlavní data předaná jako součást pracovního postupu, je: mdm.microsoft/mdm/queue/externalaction. Fronty najdete v Průzkumníku objektů aplikace SQL Management Studio v uzlu Service Broker databáze hlavní datové služby. Mějte na paměti, že pokud služba frontu správně vymaže, bude tato fronta prázdná.
Viz také
Příklad vlastního pracovního postupu (hlavní datové služby)
Vlastní popis XML pracovního postupu (hlavní datové služby)