Master Data Service 定時自動產生追蹤最Current資料的Version | Automate Create a New Version and Track the Latest Data for The Version | Master Data Service

Posted by: bart30508 | in Master Data Service, SQL Server | 1 month, 2 weeks ago | 0 comments

Background: Master Data Service 定時自動產生追蹤最Current資料的Version。

Step:

  1. lock previous version
  2. validate previous version
  3. copy previous version
  4. change the "Current Flag" to the lastest version

4在UI的操作如下。

 change the "Current Flag" to the lastest version

我們的目標就是,按照以上順序,讓程式來自動化執行,

使用以下程式設定排程,如此一來,就能定時自動產生追蹤最Current資料的Version拉!

EXEC [mdm].[udpValidateModel_Auto] TEST
EXEC [mdm].[udpVersionCopy_Auto] 'TEST'
EXEC [mdm].[udpVersionSave_UpdateVersionFlag_Auto] 'TEST','Current'

-- Auto commit latest version
-- EXEC [mdm].[udpValidateModel_Auto] TEST
CREATE PROCEDURE [mdm].[udpValidateModel_Auto] @ModelName NVARCHAR(255)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @v INT, -- versionId
        @Model_ID INT

    SELECT TOP 1 @v = mv.ID,
        @Model_ID = m.[ID]
    -- m.[ID] AS Model_ID
    -- m.[Name] AS Model_Name,
    -- mv.Id AS Version_ID,
    -- mv.Name AS Version_Name
    FROM [GMDS].[mdm].[tblModel] m
    JOIN [GMDS].mdm.tblModelVersion mv ON m.ID = mv.Model_ID
    WHERE m.Name = @ModelName
    ORDER BY mv.Id DESC

    EXEC mdm.udpValidateModel 1,
        @Model_ID,
        @v,
        3
END
GO




-- Auto commit latest version
-- EXEC [mdm].[udpValidateModel_Auto] TEST
CREATE PROCEDURE [mdm].[udpValidateModel_Auto] @ModelName NVARCHAR(255)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @v INT, -- versionId
        @Model_ID INT

    SELECT TOP 1 @v = mv.ID,
        @Model_ID = m.[ID]
    -- m.[ID] AS Model_ID
    -- m.[Name] AS Model_Name,
    -- mv.Id AS Version_ID,
    -- mv.Name AS Version_Name
    FROM [GMDS].[mdm].[tblModel] m
    JOIN [GMDS].mdm.tblModelVersion mv ON m.ID = mv.Model_ID
    WHERE m.Name = @ModelName
    ORDER BY mv.Id DESC

    EXEC mdm.udpValidateModel 1,
        @Model_ID,
        @v,
        3
END
GO




-- Auto update latest version to Current Flag
-- EXEC [mdm].[udpVersionSave_UpdateVersionFlag_Auto] 'TEST','Current'
ALTER PROCEDURE [mdm].[udpVersionSave_UpdateVersionFlag_Auto] @ModelName NVARCHAR(255),
@FlagName NVARCHAR(255)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @v INT, -- versionId
        @Model_ID INT,
        @AsOfVersion_ID INT,
        @Version_Name NVARCHAR(255),
        @Flag_ID INT

    SELECT TOP 1 @v = mv.ID,
        @Model_ID = m.[ID],
        @Version_Name = mv.Name,
        @Flag_ID = mvf.ID
    -- m.[ID] AS Model_ID
    -- m.[Name] AS Model_Name,
    -- mv.Id AS Version_ID,
    -- mv.Name AS Version_Name
    -- mvf.Name AS FlagName
    FROM [GMDS].[mdm].[tblModel] m
    JOIN [GMDS].mdm.tblModelVersion mv ON m.ID = mv.Model_ID
    LEFT JOIN [GMDS].mdm.tblModelVersionFlag mvf ON m.Id = MVF.Model_ID
    WHERE m.Name = @ModelName AND mvf.Name = @FlagName
    ORDER BY mv.Id DESC

    --Update existing Version  
    DECLARE @Return_ID INT,
        @Return_MUID UNIQUEIDENTIFIER;

    --SET @Return_MUID = NEWID(); SELECT @Return_MUID; --Uncomment to test clone operation  
    EXEC mdm.udpVersionSave 1,
        @Model_ID,
        @v,
        NULL,
        NULL,
        @Version_Name,
        @Version_Name, -- Description
        @Flag_ID,
        0,
        @Return_ID OUTPUT,
        @Return_MUID OUTPUT;

    SELECT @Return_ID,
        @Return_MUID;
END
GO

Reference: https://www.mssqltips.com/sqlservertip/4292/how-to-version-a-sql-server-master-data-services-model/

Currently unrated

Comments

There are currently no comments

New Comment

required

required (not published)

optional

 or 

Subscribe

* indicates required

Recent Posts

Archive

2023
2022
2021

Categories

Apache 1

Data Science 2

Dbfit 1

Design Pattern 1

Devops 4

DigitalOcean 1

Django 1

English 3

Excel 5

Flask 3

Git 1

HackMD 1

Heroku 1

Html/Css 1

Linux 4

MDX 1

Machine Learning 2

Manufacture 1

Master Data Service 1

Mezzanine 18

Oracle 1

Postgresql 7

PowerBI 4

Powershell 4

Python 22

SEO 2

SQL Server 53

SQL Server Analytics Service 1

SQLite 1

Windows 1

database 8

work-experience 1

其他 1

投資入門 1

投資心得 2

時間管理 1

總體經濟 2

自我成長 3

資料工程 1

Tags

SEO(1) Github(2) Title Tag(2) ML(1) 李宏毅(1) SQL Server(18) Tempdb(1) SSMS(1) Windows(1) 自我成長(2) Excel(1) python Flask(1) python(5) Flask(2)

Authors

bart30508 (155)

Feeds

RSS / Atom

Master Data Service 定時自動產生追蹤最Current資料的Version | Automate Create a New Version and Track the Latest Data for The Version | Master Data Service

© COPYRIGHT 2011-2022. Max的文藝復興. ALL RIGHT RESERVED.