An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
Hello Parth !
Thank you for posting on Microsoft Learn Q&A.
Try to check if you created the LOGIN in master (the serverless endpoint) :
-- master database
CREATE LOGIN [<Purview-MSI-Display-Name>] FROM EXTERNAL PROVIDER;
Purview uses Entra ID and the name must match the Enterprise Application display name of the Purview account’s managed identity.
https://learn.microsoft.com/en-us/purview/register-scan-synapse-workspace
Grant workspace-wide read access that lets Purview enumerate databases/tables:
GRANT CONNECT ANY DATABASE TO [<Purview-MSI-Display-Name>];
GRANT SELECT ALL USER SECURABLES TO [<Purview-MSI-Display-Name>];
this pair is the recommended pattern for serverless to list/scan databases without object changing rights.
https://learn.microsoft.com/en-us/azure/synapse-analytics/metadata/database
and create the USER in each serverless database you intend to scan for each database :
-- run in each target db
CREATE USER [<Purview-MSI-Display-Name>] FOR LOGIN [<Purview-MSI-Display-Name>];
ALTER ROLE db_datareader ADD MEMBER [<Purview-MSI-Display-Name>];
Purview needs a USER mapping per database, not only the LOGIN.
If you have external tables with scoped credentials, grant REFERENCES on each DATABASE SCOPED CREDENTIAL :
GRANT REFERENCES ON DATABASE SCOPED CREDENTIAL::[<credential_name>]
TO [<Purview-MSI-Display-Name>];
Confirm Azure RBAC on the Azure side :
- on the Dev Synapse workspace: give the Purview MSI reader
- on the Dev ADLS Gen2 that backs serverless data: storage blob data reader