# MSSSQL metricbeat module

**URL:** <https://discuss.elastic.co/t/msssql-metricbeat-module/212292>\
**Category:** Beats\
**Tags:** metricbeat\
**Created:** [December 18, 2019, 9:25am UTC](https://discuss.elastic.co/t/msssql-metricbeat-module/212292 "2019-12-18T09:25:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aleksandar](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Aleksandar](https://discuss.elastic.co/u/Aleksandar)\
**Post date:** [December 18, 2019, 9:25am UTC](https://discuss.elastic.co/t/msssql-metricbeat-module/212292/1 "2019-12-18T09:25:23Z")

</div>

Hi,

We want to use metricbeat mssql module, but do not know minimum priviliges for sql user. Our version MB 7.4.2,

Best regards,  
Aleksandar

---

<div class="post-metadata">

**Author:** ![jsoriano](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jsoriano/32/27920_2.png) [@jsoriano](https://discuss.elastic.co/u/jsoriano)\
**Post date:** [December 19, 2019, 5:56pm UTC](https://discuss.elastic.co/t/msssql-metricbeat-module/212292/2 "2019-12-19T17:56:57Z")

</div>

Hey @Aleksandar and welcome to discuss 🙂

This is actually not documented, there is an open issue about doing it [https://github.com/elastic/beats/issues/13006](https://github.com/elastic/beats/issues/13006)  
If you have some insights on what permissions work in your case it'd be great if you could comment on this issue with this information 🙂

Thanks!

---

<div class="post-metadata">

**Author:** ![Aleksandar](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@Aleksandar](https://discuss.elastic.co/u/Aleksandar)\
**Post date:** [December 23, 2019, 9:52am UTC](https://discuss.elastic.co/t/msssql-metricbeat-module/212292/3 "2019-12-23T09:52:13Z")

</div>

Hi,

I was investigating permissions and you need next privileges:

use master  
go  
GRANT VIEW SERVER STATE TO [databaseuser]  
GO

and public permision for all user database on server you can run this script or manuel exec this for all database create user [databaseuser] for login [databaseuser];  
use master  
go  
DECLARE @dbname VARCHAR(50)  
DECLARE @statement NVARCHAR(max)  
DECLARE db\_cursor CURSOR  
LOCAL FAST\_FORWARD  
FOR  
SELECT name  
FROM MASTER.dbo.sysdatabases  
WHERE name NOT IN ('master','model','msdb','tempdb','distribution')  
OPEN db\_cursor  
FETCH NEXT FROM db\_cursor INTO @dbname  
WHILE @@FETCH\_STATUS = 0  
BEGIN

SELECT @statement = 'use '+@dbname +';'+ 'CREATE USER [databaseuser]  
FOR LOGIN [databaseuser];'

exec sp\_executesql @statement

FETCH NEXT FROM db\_cursor INTO @dbname  
END  
CLOSE db\_cursor  
DEALLOCATE db\_cursor

This mssql module work on MSSQL 2017 in previous version some part is not working (query: sys.dm\_db\_log\_stats not exist in prev version)

Best regards;

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 20, 2020, 9:52am UTC](https://discuss.elastic.co/t/msssql-metricbeat-module/212292/4 "2020-01-20T09:52:15Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
