SQL Server 2000 пользователи и роли
- From
- Nikolay Panfilov (2:5022/35.171)
- To
- Nikolay Panfilov
- Date
- 2005-11-12T11:07:10Z
- Area
- SU.DBMS.SQL
Гой-еси, дражайший All.
NP>> Подскажите, пожалуйста, как в MS SQL 2000 программно определить роль,
NP>> к
NP>> которой относится SYSTEM_USER, а так же проверить правильность пароля
NP>> (без
NP>> создания соединения с этим паролем, ибо долго и не рационально имхо)
NP> А также как программно создать пользователя и отнести его к определенной
NP> роли, и если можно, программно запустить бэкап. Можно урлы.
Задачу решил вот так:
CREATE PROCEDURE GetUserRoleName
AS
DECLARE @GID int
SELECT @GID = GID FROM SYSUSERS WHERE ([name] = system_user)
SELECT [name] AS RoleName FROM SYSUSERS WHERE (UID = @GID)
GO
Но решение мне лично не очень нравится %-(. Интересует каким образом хранимые процедуры (тот же USER_ID) вызываются через SELECT.
Данное решение не нравится в первую голову отсутствием изящного и необходимостью знать имя поля, в котором возвращается результат. Или его как-то можно узнать, не просматривая код процедуры?
Не прощаюсь, Nikolay.
--- ---
* Origin: Грустна улыбка мудрого шута (2:5022/35.171)
SEEN-BY: 46/50 50/12 140/1 450/1024 5000/5000 5009/14 5010/53 5011/13 5012/46
SEEN-BY: 5015/10 28 5019/31 5020/496 545 715 1822 1873 2044 4441 12000 5021/29
SEEN-BY: 5022/2 5 18 27 35 43 47 59 77 115 5025/3 5026/10 5027/16 5030/115
SEEN-BY: 5035/38 5036/34 5043/0 5047/43 5052/4 5053/16 5054/1 8 9 28 35 37 45
SEEN-BY: 5054/63 67 5059/9 5069/7 5077/70 5080/68 1003 5085/13 5095/20 6000/12
SEEN-BY: 6000/254 6056/1
PATH: 5022/35 5 5020/715 545 5054/1 37