Metricbeat MSSQL User Role required

what is the minimum role required to gather stats for Metric MSSQL beat. Right now we are using sysadmin role, but there is a push back from the DBA in using that role for the user that collects the metrics for MSSQL

You could try the VIEW SERVER STATE combined with public as mention here https://github.com/elastic/beats/issues/13006

Microsoft has this article on the DMVs https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views?view=sql-server-ver15