Skip to content

Instantly share code, notes, and snippets.

@zarmin
Last active June 26, 2024 08:31
Show Gist options
  • Save zarmin/2df4d20264220162c34ae11bb3c92774 to your computer and use it in GitHub Desktop.
Save zarmin/2df4d20264220162c34ae11bb3c92774 to your computer and use it in GitHub Desktop.
Create datadog user for each database in MSSQL
-- https://docs.datadoghq.com/database_monitoring/setup_sql_server/gcsql/?tab=linuxhost&site=eu
DECLARE @databaseName NVARCHAR(255)
DECLARE @sql NVARCHAR(MAX)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE state_desc = 'ONLINE'
AND name NOT IN ('master', 'tempdb', 'model', 'msdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @databaseName
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'USE [' + @databaseName + '];' + CHAR(10) +
'IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''datadog'') ' + CHAR(10) +
'BEGIN ' + CHAR(10) +
' CREATE USER datadog FOR LOGIN datadog;' + CHAR(10) +
'END'
PRINT @sql
EXEC sp_executesql @sql
FETCH NEXT FROM db_cursor INTO @databaseName
END
CLOSE db_cursor
DEALLOCATE db_cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment