изменить роль сессии

seq
Дата: 27.01.2009 23:20:00
Помогите, пожалуйста.
пытаюсь написать logon trigger, который определял бы текущую роль сессии. Какой командой можно это сделать?
Например,
CREATE TRIGGER trigger_on_logon
ON ALL SERVER 
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'aaa' AND
    (SELECT COUNT(*) FROM sys.dm_exec_sessions
            WHERE is_user_process = 1 AND
                program_name='applikuha') =1
    -- тут должна быть команда типа "назначить роль db_datareader"
ELSE
   -- тут должна быть команда типа "назначить роль db_owner"
END;
Amorph
Дата: 27.01.2009 23:25:55
в роль входят пользователи (в серверные роли - логины) а не сессии
добавить пользователя в роль можно с помощью хранимой процедуры
sp_addrolemember
seq
Дата: 27.01.2009 23:32:41
А вообще в sql server можно назначить определенные права для сессии?
Amorph
Дата: 27.01.2009 23:38:10
seq,

думаю вам стоит почитать про модель прав в сиквелсервере
а вобще будет лучше если вы сформулируете проблему которую вы пытаетесь таким образом решать, потому что мне кажется что вы не тем путем идете. но это лишь мое ИМХО
seq
Дата: 27.01.2009 23:43:15
Amorph,

скорее всего не тем путем. задача вроде простая :) при логоне с определенных програм пользователь должен иметь права "только для чтения", а в остальных случаях дефолтные права.
Amorph
Дата: 27.01.2009 23:45:53
seq,

почитайте в БОЛ про application roles эт наверное то что вам надо
сам я таким не пользовался поэтому точно не скажу
seq
Дата: 27.01.2009 23:50:16
Amorph,

Я пробовал approles, но почему-то не активизируется в logon trigger. После логона user_name() показывает текущего пользователя, а если в этой же сессии дать команду exec sp_setapprole ... user_name() меняется на название approle.
Amorph
Дата: 28.01.2009 00:04:16
seq,

помоему вы просто не умеете их готовить :)
триггеры вам не нужны для этого
почитайте внимательно

[url=ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/udb9/html/dca18b8a-ca03-4b7f-9a46-8474d5b66f76.htm]ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/udb9/html/dca18b8a-ca03-4b7f-9a46-8474d5b66f76.htm[/url
Amorph
Дата: 28.01.2009 00:05:05
seq
Дата: 28.01.2009 00:23:53
Amorph,

блин, а у меня нет локальной копии.