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

Откуда:
Сообщений: 230
Уважаемые спецы есть такой скрипт, ХП, программка чтобы все перечисленное выдавало в скрипт?
26 мар 08, 16:17    [5462811]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
есть smo - оно делает возможным любые эротические фантазии
26 мар 08, 16:23    [5462854]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
Miles
Member

Откуда:
Сообщений: 230
iSestrin
есть smo - оно делает возможным любые эротические фантазии


У меня есть программа от Knyazev Alexey, она создает скрипт структуры базы данных, но вышеописанное вроде не делает. Если это не она, то где взять тогда SMO?

Спасибо.
26 мар 08, 16:29    [5462896]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
Glory
Member

Откуда:
Сообщений: 104760
SQL Server Management Objects (SMO) is installed automatically with the Client Tools option in the Microsoft SQL Server 2005 installation program. The SMO files can be specifically added or removed from the installation by choosing the SDK branch of the Client Components option on the Feature Selection screen during setup.

The SMO assemblies are installed in the C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies directory by default though .
26 мар 08, 16:35    [5462954]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
MCDBA
Member

Откуда: Космополит
Сообщений: 349
SMO
26 мар 08, 16:36    [5462964]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
Miles
Member

Откуда:
Сообщений: 230
MCDBA
SMO


Окей.

А так чтобы создать скрипт Ролей, Пользователей и к ним сразу в скрипте Разрешения,Запрещения (gran revoke deny)?????

а то все что удалось получить для роли это-

CREATE ROLE [Managers] AUTHORIZATION [dbo]
26 мар 08, 18:08    [5463725]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
Miles
Member

Откуда:
Сообщений: 230
Miles
MCDBA
SMO


Окей.

А так чтобы создать скрипт Ролей, Пользователей и к ним сразу в скрипте Разрешения,Запрещения (gran revoke deny)?????

а то все что удалось получить для роли это-

CREATE ROLE [Managers] AUTHORIZATION [dbo]


Ну неужто никто не знает? Может тогда подскажите в каких таблицах/вьюхах это лежит все централизованно?
27 мар 08, 11:32    [5466287]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Miles

Ну неужто никто не знает? Может тогда подскажите в каких таблицах/вьюхах это лежит все централизованно?

- А вы хоть что нибудь прочитали про SMO, прежде чем задать такой вопрос ?
- В таблицах/представлениях схемы sys.
27 мар 08, 11:37    [5466336]     Ответить | Цитировать Сообщить модератору
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
_SiMBA_
Member

Откуда: Almaty
Сообщений: 157
выкладывал
тут
https://www.sql.ru/forum/actualthread.aspx?tid=430083
и тут
https://www.sql.ru/forum/actualthread.aspx?tid=285608

только он тестировался на 2000
на 2005 не юзал

использует как DMO так и запросы, ввиду того что 2000 DMO не может скриптовать некторые вещи
27 мар 08, 11:47    [5466429]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Роли, Пользователи, Разрешения в скрипт?  [new]
sunflicker
Member

Откуда:
Сообщений: 6
Простенькая процедурка выемки разрешений для определенной роли.

CREATE PROCEDURE _svc_script_role_permissions
	@rolename nvarchar(100)
AS
BEGIN
	SET NOCOUNT ON;
declare @v1 varchar(100)
declare @v2 varchar(100)
declare @v3 varchar(100)
declare @v4 varchar(100)
declare @v5 varchar(100)
declare @v6 varchar(100)
	DECLARE PermCur CURSOR 
     STATIC READ_ONLY 
     FOR
		select 
		sys.database_permissions.STATE_DESC, sys.database_permissions.permission_name ,sys.objects.name AS OBJnAME,sys.database_principals.Name AS ROLENAME ,sys.objects.type_desc
		from sys.database_permissions
		inner join sys.objects on sys.database_permissions.major_id=sys.objects.object_id
		inner join sys.database_principals on sys.database_permissions.grantee_principal_id=sys.database_principals.principal_id
		where sys.database_principals.Name=@rolename
OPEN PermCur
print 'CREATE ROLE ' + @rolename + ' AUTHORIZATION [dbo]'
FETCH NEXT FROM PermCur 
INTO @v1,@v2,@v3,@v4,@v5
WHILE @@FETCH_STATUS = 0
BEGIN
	print @v1 + ' ' + @v2 + ' ON [dbo].[' + @v3 + '] TO [' + @v4 + ']' 
	FETCH NEXT FROM PermCur 
    INTO  @v1,@v2,@v3,@v4,@v5
END 
CLOSE PermCur
DEALLOCATE PermCur
END
GO
17 окт 09, 14:52    [7800290]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить