Microsoft has recently released SQL Server 2016 CTP 2.2. I
was concerned about the Master Data Services and was exploring the new
features. I got surprised when I see that Explorer
functionality was not working. Generally it is used to manage members for
Entities and Hierarchies. It is one of the main functionality and frequently
used in MDS. Please note that I have used the SQL 2016 Server CTP 2.2 from
window azure environment. I feel this issue could be the same if you download and
install CTP 2.2 on virtual machine.
Please refer to below screen shot:
You can conclude from above screen shot that that Explorer
functionality is disabled as well as you can’t select the version of the model.
If you navigate through Version Management
or Integration Management, you are
allowed to select the version. This is quite strange.
It was not possible to view the members at all. I have
complaint about it at some site as well on twitter, but no response till yet.
Alternatively, I used Excel add in to view and modify the
members and test couple of deployment scenario. But it was quite annoying. I
tried to find a workaround for it and luckily I got succeeded. I am sharing this to all of other MDS users so
that everybody can use and test the MDS CTP 2.2 without any interruption.
To access the explorer functionality, you just have to
replace the proper value enclosed in ‘<>’ and paste into address bar.
<Your MDS Server
URL>/Explore?MID=<MUID of the
Model>&VID=<MUID of
Version of the model>#/ExplorerEntity?MID=<MUID of the Model>&VID=<MUID of Version of the model>&EID=<MUID of Entity which you want to explore>
Once you replace ‘<>’ with proper value, Explorer
functionality will be up and running. To replace the proper value for above
string I created some SQL Script. Once you execute it, it will give you the
exact explorer MDS URL for the specific entity. You just have to paste it into
the address bar.
Execute below script against MDS database.
DECLARE @MDSServerURL VARCHAR(100) = 'http://sql2016ctp222:81/'
-- <Your MDS Server URL>
DECLARE @ModelName VARCHAR(50) = 'CustomerSample' -- <Model
Name>
DECLARE @EntityName VARCHAR(50) = 'Area' -- <Entity
Name>
DECLARE @MDSExploreURL VARCHAR(8000)
DECLARE @MUIDModel uniqueidentifier
DECLARE @MUIDModelVersion uniqueidentifier
DECLARE @MUIDEntity uniqueidentifier
-- Get MUID for the Model
SELECT @MUIDModel = MUID
FROM mdm.tblmodel
WHERE Name = @ModelName
-- Get MUID for the version of the
model
SELECT @MUIDModelVersion =
v.MUID
FROM mdm.tblModelVersion v
INNER JOIN mdm.tblmodel m
ON v.Model_ID = m.Id
WHERE m.Name = @ModelName
--Get MUID for the entity you want to
explore
SELECT @MUIDEntity = e.MUID
FROM mdm.tblEntity e
INNER JOIN mdm.tblmodel m
ON e.Model_ID = m.Id
WHERE m.Name = @ModelName
SET @MDSExploreURL =
@MDSServerURL + '/Explore?MID='
+ CAST(@MUIDModel AS VARCHAR(255))
+ '&VID=' + CAST(@MUIDModelVersion AS
VARCHAR(255))
+ '#/ExplorerEntity?MID='
+ CAST(@MUIDModel AS VARCHAR(255)) + '&VID='
+ CAST(@MUIDModelVersion AS
VARCHAR(255))
+ '&EID=' + CAST(@MUIDEntity AS VARCHAR(255))
--copy the below result and paste it
into address bar and you are there
SELECT @MDSExploreURL
I just copied the URL and paste it into browser and I got
below screen:
Now you can choose any entity and explore J
Now it is cake time J Enjoy reading.