You should have sufficient permissions to collect monitoring data from the instance for watcher, if you missed those permissions then you may get these types of situations. To grant permissions execute below script while using SQL authentication:
USE master;
CREATE LOGIN [login-name-placeholder] WITH PASSWORD = 'password-placeholder';
GRANT CONNECT SQL, CONNECT ANY DATABASE, VIEW ANY DATABASE, VIEW ANY DEFINITION, VIEW SERVER PERFORMANCE STATE TO [login-name-placeholder];
USE msdb;
CREATE USER [login-name-placeholder] FOR LOGIN [login-name-placeholder];
GRANT SELECT ON dbo.sysjobactivity TO [login-name-placeholder];
GRANT SELECT ON dbo.sysjobs TO [login-name-placeholder];
GRANT SELECT ON dbo.syssessions TO [login-name-placeholder];
GRANT SELECT ON dbo.sysjobhistory TO [login-name-placeholder];
GRANT SELECT ON dbo.sysjobsteps TO [login-name-placeholder];
GRANT SELECT ON dbo.syscategories TO [login-name-placeholder];
GRANT SELECT ON dbo.sysoperators TO [login-name-placeholder];
GRANT SELECT ON dbo.suspect_pages TO [login-name-placeholder];
GRANT SELECT ON dbo.backupset TO [login-name-placeholder];
GRANT SELECT ON dbo.backupmediaset TO [login-name-placeholder];
GRANT SELECT ON dbo.backupmediafamily TO [login-name-placeholder];
Along with that to configure database watcher to connect to a target using SQL authentication, you should have additional configurations as follows:
- Check that the Azure Database Watcher (preview) feature is enabled in your Azure subscription.
- Make sure that you have the necessary permissions to create and manage SQL Managed Instances and Azure Database Watcher in your Azure subscription.
- Verify that your SQL Managed Instances are properly configured and running in your Azure subscription.
- Check the Azure Database Watcher dashboard filters to make sure that they are not excluding your SQL Managed Instances from view.
- If you are still having trouble, try restarting the Azure Database Watcher service.
For a more secure, simpler, and less error-prone configuration, we recommend enabling Microsoft Entra authentication for your Azure SQL resources and using it instead of SQL authentication.
For more information you can refer to the below documents: