суббота, 7 декабря 2013 г.

MS SQL procedure of create users at the current database with role from other database


Предоставление пользователям прав из одной базы на доступ к просмотру данных в другой базе расположенных на одном сервере MS SQL:


ALTER PROCEDURE spUsersCreater
AS  SET NOCOUNT ON
-- определяем переменные
DECLARE @cur  NVARCHAR(50)
DECLARE @object  NVARCHAR(150)
DECLARE @sql   NVARCHAR(250)
  SET  @object = 'role_allveiw'
-- цикл с применением курсора
DECLARE db_cursor CURSOR FOR
  SELECT Login FROM  DBname.dbo.Users WHERE (Active = 1)
-- открываем курсор
OPEN db_cursor  
FETCH NEXT FROM db_cursor INTO @cur
WHILE @@FETCH_STATUS = 0  
BEGIN  
                 SET  @sql = 'CREATE USER ['+@cur+'] FOR LOGIN ['+@cur+'] WITH DEFAULT_SCHEMA=['+@cur+'] '
                 EXEC (@sql)
 EXEC sp_addrolemember @object, @cur
       FETCH NEXT FROM db_cursor INTO @cur
END
-- закрываем курсор
CLOSE db_cursor  
-- освобождаем память
DEALLOCATE db_cursor

RETURN 

Комментариев нет:

Отправить комментарий

Постоянные читатели

Популярные сообщения