Recipes and Examples

Full First-Time Sync

DECLARE @PB INT;
EXEC dbo.spMFSynchronizeMetadata @Debug=0, @ProcessBatch_ID=@PB OUTPUT;

Selective Refresh (Value Lists + Classes)

EXEC dbo.spMFSynchronizeSpecificMetadata 'ValueListItems';
EXEC dbo.spMFSynchronizeSpecificMetadata 'Classes';

State Name Remediation

EXEC dbo.spMFSynchronizeWorkFlowStateColumnChange @Debug = 0;

Generate Lookup View

EXEC dbo.spMFCreateLookupView @ValueListName = 'Country';

Audit Property Changes (Compare Two Snapshots)

Assuming snapshot table created earlier. .. code:: sql

SELECT cur.PropertyDef, cur.Name AS CurrentName, snap.Name AS OldName FROM MFProperty cur LEFT JOIN SnapshotProperty snap ON snap.PropertyDef = cur.PropertyDef WHERE ISNULL(cur.Name,’’) <> ISNULL(snap.Name,’’);

Ad-hoc Domain Difference (Cross-DB)

SELECT Name FROM MFClass EXCEPT SELECT Name FROM OtherDB.dbo.MFClass;

Recent Workflow State Additions

SELECT TOP 10 * FROM MFWorkflowState ORDER BY LoggedDate DESC;

Error-Focused Batch Review

SELECT TOP 20 pb.ProcessBatch_ID, pb.CreatedOnUTC, pb.Status, pbd.ColumnName, pbd.ColumnValue
FROM MFProcessBatch pb
INNER JOIN MFProcessBatchDetail pbd ON pb.ProcessBatch_ID = pbd.ProcessBatch_ID
WHERE pb.ProcessType='MetadataSync' AND pb.Status<>0
ORDER BY pb.ProcessBatch_ID DESC;

Lightweight Health Snapshot

SELECT 'Classes' AS Domain, COUNT(*) Cnt FROM MFClass UNION ALL
SELECT 'Properties', COUNT(*) FROM MFProperty UNION ALL
SELECT 'ValueListItems', COUNT(*) FROM MFValueListItems;

Next

Legacy monolithic reference (for archival): legacy-reference