How to grant users read-only access to all databases

后端 未结 3 439
野的像风
野的像风 2021-01-11 11:05

I want a group of users to have read-only access to all tables and views on all databases on SQL Server (I\'m using SS2008). I\'d like those users to have read-only access t

相关标签:
3条回答
  • 2021-01-11 11:32

    You should just be able to add the users to the db_datareader database role in each of the databases. You could write a script to loop through the databases and do it for you.

    0 讨论(0)
  • 2021-01-11 11:46
    DECLARE @dbname VARCHAR(50)
    DECLARE @statement NVARCHAR(max)
    DECLARE db_cursor CURSOR
    
    LOCAL FAST_FORWARD
    FOR SELECT name FROM MASTER.dbo.sysdatabases OPEN db_cursor
        FETCH NEXT FROM db_cursor INTO @dbname 
    WHILE @@FETCH_STATUS = 0
    BEGIN
        /* This sentence will be executed to gran the privileges. */
        SELECT @statement = 'use ['+@dbname+']; '+'EXEC sp_addrolemember N''db_datareader'', N''userPeter''';
        EXEC sp_executesql @statement
        FETCH NEXT FROM db_cursor INTO @dbname
    END
    

    In the location that appear userPeter you must write your username.

    0 讨论(0)
  • 2021-01-11 11:47

    add the user to the db_datareader role

    example

    exec sp_addrolemember 'db_datareader',YourLogin
    

    Info about db_datareader: http://msdn.microsoft.com/en-us/library/ms188629(SQL.90).aspx

    0 讨论(0)
提交回复
热议问题