Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
Есть пользователь в базе с нужными правами. Нужно создать нового с такими же правами, или скопировать те права новому пользователю.
Есть у кого-нибудь такой запрос?
Несколько лет назад делали такое (тоже скриптом из интернета), сейчас не могу найти...
25 фев 19, 11:58    [21818569]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Conejo,

заскриптуйте в SSMS
25 фев 19, 12:02    [21818577]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
TaPaK,

Я не поняла, что Вы хотели сказать. Был очень конкретный текст запроса, который запускался на выполнение, и все. Буду очень благодарна, если кто поделится, наверняка у многих возникают такие задачи.
25 фев 19, 12:06    [21818590]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Conejo,

ну раз не поняла, то в гугл вам тоже нельзя? "sql clone login"
25 фев 19, 12:09    [21818593]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
invm
Member

Откуда: Москва
Сообщений: 9345
Conejo
Есть пользователь в базе с нужными правами. Нужно создать нового с такими же правами, или скопировать те права новому пользователю.
Для того, что бы не нужно было заниматься подобной хренью, придумали роли.
25 фев 19, 12:13    [21818598]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
TaPaK,
если не хотите ответить нормально, просто пройдите мимо. Люди не от нечего делать вопросы на форумах задают как правило
25 фев 19, 12:15    [21818599]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Conejo
TaPaK,
если не хотите ответить нормально, просто пройдите мимо. Люди не от нечего делать вопросы на форумах задают как правило

та быть такого не может, что бы от нечего делать. От лени всё
25 фев 19, 12:16    [21818600]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
invm,

там не только роли, там права на выполнение определенных хранимок, все очень сложно... Нужна точная копия прав одного пользователя другому
25 фев 19, 12:16    [21818601]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
invm
Member

Откуда: Москва
Сообщений: 9345
Conejo
там не только роли, там права на выполнение определенных хранимок, все очень сложно...
Конечно сложно.
Ведь права на хранимки абсолютно недопустимо выдавать для ролей...
25 фев 19, 12:30    [21818612]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
запрос, который создает роль с правами по образцу как у конкретного юзера, тоже вполне подойдет
25 фев 19, 12:32    [21818615]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Conejo
запрос, который создает роль с правами по образцу как у конкретного юзера, тоже вполне подойдет

ПОзавите опытного пользователя. Правую кнопочку на логине логине Script .. as -> ...
25 фев 19, 12:43    [21818635]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
TaPaK,
нет, так не прокатывает.
USE [master]
GO

/* For security reasons the login is created disabled and with a random password. */
/****** Object:  Login [SiteUser]    Script Date: 25.02.2019 13:31:44 ******/
CREATE LOGIN [SiteUser] WITH PASSWORD=N'M&#249;&#206;r&H&#220;&#206;&#175;¶U&#255;&#145;<&#186;»\&#240;&#148;?Cl$V&#189;&#213;s§7h&#143;', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO

ALTER LOGIN [SiteUser] DISABLE
GO

Прав-то нет...
25 фев 19, 13:32    [21818695]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36968
Научитесь для начала различать пользователей базы и логины сервера.
25 фев 19, 13:38    [21818700]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
Гавриленко Сергей Алексеевич,

был запрос, раздающий права на все базы данного сервера... Как-то просто в прошлый раз нашла его, сейчас нет нигде...
25 фев 19, 14:08    [21818737]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2394
Conejo
Гавриленко Сергей Алексеевич,

был запрос, раздающий права на все базы данного сервера... Как-то просто в прошлый раз нашла его, сейчас нет нигде...

если вы думает что есть универсальный запрос для любого сервера с любыми базами, то вы ошибаетесь. состав баз, наборы необходимых прав и ролей уникальны.
25 фев 19, 17:34    [21818991]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Сруль.
Member

Откуда:
Сообщений: 121
Скажу так. Эта задача возникает у меня в среднем, раз в день.
Если у вас есть Enterprice 2014 то наступите на базу правым кликом.
Выбирете tasks->Generate Scripts
доберётесь до картинки(прилагается).
Доведите дело до скрипта.
Что касается комманд ролей: Alter Role.
Я их копирую в Notepad и там делаю полную замену(контрл/Н)

ALTER ROLE на sp_addrolemember
add member на запятую
[ на одинарную кавычку
] на одинарную кавычку
Т.к. не на всех серверах осталась комманда ALTER ROLE.

Потом тащу это обратно в Ентерпрайс.
А что же я делал до 14-го?
У меня был восьмой и он скрипт ролей не давал.

Вот процедура-имя корявое, ибо для себя.

create proc dbo.sp_sp_help_user
as
begin
declare @out table    
(
UserName varchar(200) ,
RoleName varchar(200) ,
LoginName varchar(200) ,
DefDBName varchar(200) ,
DefSchemaName varchar(200),
UserID smallint ,
SID smallint 
) 

insert into @out(UserName  ,
RoleName  ,
LoginName  ,
DefDBName  ,
DefSchemaName ,
UserID  ,
SID )
exec sp_helpuser 

select db_name()+char(9)+UserName+char(9)+RoleName 
from @out 
--where RoleName in('db_owner','db_ddladmin') and UserName<>'dbo'
order by UserName
return
end
go
--exec dbo.sp_sp_help_user

Выход копировал в эксель и получал представление кто чем дышит.
Примерно так. Я понимаю, что это типа не совсём то, но чем богаты.
Я на этом ехал не один год.

К сообщению приложен файл. Размер - 86Kb
25 фев 19, 18:33    [21819046]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1364
Conejo,

https://dba.stackexchange.com/questions/64567/how-to-clone-a-user-in-sql-server-2008-r2

там пример скрипта на представление sys.database_permissions. актуальность зависит от вашей версии. можете сами при желании допилить
25 фев 19, 22:37    [21819221]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
felix_ff, спасибо большое, то что нужно!
26 фев 19, 10:43    [21819433]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Conejo
felix_ff, спасибо большое, то что нужно!

запредельная лень

21818593
26 фев 19, 10:45    [21819438]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Conejo
Member

Откуда:
Сообщений: 120
StarikNavy
Conejo
был запрос, раздающий права на все базы данного сервера... Как-то просто в прошлый раз нашла его, сейчас нет нигде...

если вы думает что есть универсальный запрос для любого сервера с любыми базами, то вы ошибаетесь. состав баз, наборы необходимых прав и ролей уникальны.


Вот человек выше показал, что он все-таки есть. По ссылке приведен кусок кода, генерирующий скрипт, раздающий права на любую базу... Пробегаем по всем базам своего сервера - и готово. Именно это и делал наш программист 2 года назад, мне не приснилось))
26 фев 19, 11:26    [21819487]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя с правами заданного  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Все такие умники, прям диву даешься. Не форум, а прям сборище супер занятых гениев. Отдельные ТаПки даже вопрос не смогли прочитать правильно.

Conejo,
Скрипт в аттаче скриптует все права для всех пользователей в базе. При желании можно поставить фильтр для одного пользовталя. Ну и после того как заскриптуете - создайте роль вместо пользователя.


felix_ff
Conejo,
https://dba.stackexchange.com/questions/64567/how-to-clone-a-user-in-sql-server-2008-r2
там пример скрипта на представление sys.database_permissions. актуальность зависит от вашей версии. можете сами при желании допилить
В большинстве случаев подходит, но не совсем универсальный, работает только для баз и объектов (таблицы, вью, процедуры), а есть еще:

3 = Schema
4 = Database Principal
5 = Assembly - Applies to: SQL Server 2008 through SQL Server 2017.
6 = Type
10 = XML Schema Collection -
Applies to: SQL Server 2008 through SQL Server 2017.
15 = Message Type - Applies to: SQL Server 2008 through SQL Server 2017.
16 = Service Contract - Applies to: SQL Server 2008 through SQL Server 2017.
17 = Service - Applies to: SQL Server 2008 through SQL Server 2017.
18 = Remote Service Binding - Applies to: SQL Server 2008 through SQL Server 2017.
19 = Route - Applies to: SQL Server 2008 through SQL Server 2017.
23 =Full-Text Catalog - Applies to: SQL Server 2008 through SQL Server 2017.
24 = Symmetric Key - Applies to: SQL Server 2008 through SQL Server 2017.
25 = Certificate - Applies to: SQL Server 2008 through SQL Server 2017.
26 = Asymmetric Key - Applies to: SQL Server 2008 through SQL Server 2017.


К сообщению приложен файл (Script DB Permissions.sql - 18Kb) cкачать
1 мар 19, 04:23    [21822330]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить