Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как добавить пользователя в БД SQL Server средствами SQL?
|
|||
|---|---|---|---|
|
#18+
Добавить нужно логин, и пользователя для этого логина в необходимую БД с необходимой ролью... Можно ли при этом пользоваться транзакциями? Подскажите!... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2002, 12:31 |
|
||
|
Как добавить пользователя в БД SQL Server средствами SQL?
|
|||
|---|---|---|---|
|
#18+
Попробуйте Этот скрипт. Запускать под sa -- Создание пользователя БД set nocount on declare @namenlang sysname, @namDB sysname, @cdb int, @i int, @aliaslang sysname, @namUS sysname, @crEX varchar(500) select @namUS='XXXX', -- имя пользователя -------- ТРЕБУЕМЫЙ ВАМ @namenlang=NULL, -- имя языка @aliaslang='Russian', -- псевдоним языка @namDB='MyDB' -- имя БД declare @ListDB table (NumDB int identity, NamDB sysname) use master insert into @ListDB select name from sysdatabases where name not in ('master','tempdb','msdb') and name != @namDB select @cdb=count(*) from @ListDB if db_id(@namDB) is not NULL begin if exists(select * from master.dbo.syslogins where loginname = @namUS) begin if user_id(@namUS) is not NULL exec sp_dropuser @namUS use msdb if user_id(@namUS) is not NULL exec sp_dropuser @namUS use tempdb if user_id(@namUS) is not NULL exec sp_dropuser @namUS select @i=@cdb while @i > 0 begin select @crEX='use '+NamDB+char(10)+ 'if user_id('''+@namUS+''') is not NULL '+ 'exec sp_dropuser '''+@namUS+'''' from @ListDB where NumDB = @i exec (@crEX) select @i=@i-1 end select @crEX='use '+@namDB+char(10)+ 'if exists(select ''*'' from sysusers'+char(10)+ 'where name=''dbo'' and sid != (select sid'+char(10)+ 'from master.dbo.syslogins'+char(10)+ 'where loginname = ''sa''))'+char(10)+ ' exec sp_changedbowner ''sa'''+char(10)+ ' if user_id('''+@namUS+''') is not NULL'+ ' exec sp_dropuser '''+@namUS+''''+char(10) exec (@crEX) use master exec sp_droplogin @loginame = @namUS end use master if exists (select * from master.dbo.syslanguages where alias = @aliaslang) begin select @namenlang=name from master.dbo.syslanguages where alias = @aliaslang end -- Учетная запись пользователя для входа в SQL Server exec sp_addlogin @loginame = @namUS, @defdb = @namDB, @deflanguage = @namenlang exec sp_addsrvrolemember @namUS,'dbcreator' exec sp_addsrvrolemember @namUS,'bulkadmin' -- Подключение пользователя к базам данных exec sp_adduser @namUS,@namUS,'public' use msdb exec sp_adduser @namUS,@namUS,'db_owner' use tempdb exec sp_adduser @namUS,@namUS,'public' use master -- Установка владельца БД select @crEX='use '+@namDB+char(10)+ ' exec sp_changedbowner '''+ @namUS+''''+char(10) exec (@crEX) select @crEX='grant execute on xp_cmdshell to '+@namUS+ ' grant execute on xp_readerrorlog to '+@namUS exec(@crEX) if DataBaseProperty(@namDB,'IsDboOnly') = 0 exec sp_dboption @namDB,'dbo use only','TRUE' end go ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2002, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32023765&tid=1823787]: |
0ms |
get settings: |
13ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 287ms |
| total: | 445ms |

| 0 / 0 |
