Как переименовать пользователей, добавить роль и т. Д., Используя скрипт в t-sql - PullRequest
1 голос
/ 20 марта 2011

Мне нужно

  • Переименовать пользователей (от ггггг \ хххх до хххх)
  • Добавить роль пользователям
  • См. Права доступа к хранимым процедурамдо указанной роли (я нашел таблицу с информацией о таблицах, но не хранимую процедуру)

Все в т-sql.Я знаю, как сделать это вручную, но с 400+ пользователями, я надеюсь избавить меня от проблем.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 06 октября 2011

Что вам нужно сделать, так это циклически переключать пользователей и выполнять команды для внесения необходимых изменений.Вы можете сделать это, запросив таблицу syslogins и создав курсор с результатами.

Я добавил оператор для переименования пользователя, но добавить роль так же просто, как добавить второй оператор и выполнить exec с помощью sp_addrolemember

DECLARE @Login as varchar(50);

DECLARE LoginsCrsr CURSOR FOR
SELECT name
FROM syslogins
WHERE name like '%John%'; --Whatever critera you need

OPEN LoginsCrsr;

FETCH NEXT FROM LoginsCrsr
INTO @Login;

WHILE (@@FETCH_STATUS = 0)
BEGIN
   DECLARE @TSQL as varchar(255)
   DECLARE @NewLogin as varchar(50)

   SELECT @NewLogin = @Login   -- Do your own thing here

   SELECT @TSQL = 'ALTER LOGIN [' + @Login + '] WITH NAME=[' + @NewLogin + ']' 
   PRINT @TSQL
   EXEC (@TSQL)

   --Whatever else you need to do

   FETCH NEXT FROM LoginsCrsr
   INTO  @Login
END
GO

CLOSE LoginsCrsr;
DEALLOCATE LoginsCrsr;
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...