Monthly Archives: November 2015

Provide a SQL user with read access to all user databases in SQL Server

Create a Cursor with providing user_name(username)as the input parameter)

DECLARE @name_holder VARCHAR(100)
DECLARE UserCursor CURSOR
FOR
SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb','%snap%') 
OPEN UserCursor
FETCH NEXT FROM UserCursor INTO @name_holder
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXEC sp_addrolemember 'db_datareader', 'user_name'
FETCH NEXT FROM UserCursor INTO @name_holder
END 
CLOSE UserCursor
DEALLOCATE UserCursor