|
|
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Все! Для поля указал значение по умолчанию user_name() Для некоторых пользователей она возвращает dbo С помошью какой функции можно получить истинного пользователя. Спасибо Всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2002, 10:25:44 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
А dbo - это ложный пользователь??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2002, 10:35:32 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
master.sysprocesses.nt_username ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2002, 10:38:16 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
USER_NAME - Returns a user database username SUSER_SNAME - Returns the login identification name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2002, 10:41:11 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
select system_user Вернет имя пользователя по windows autentification. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2002, 10:51:24 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
>>А dbo - это ложный пользователь??? Не всегда он истинный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2002, 11:08:56 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
Спасибо Glory и Всем остальным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2002, 16:05:57 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
А я вот ничего не понял. Объясните кто-нибудь. Делаю так: Код: plaintext 1. 2. 3. 4. 5. Т.е создали логин vasya. Создали в текущей базе пользователя 'vasya_pupkin', который связан с логином vasya. Также для кучи дали ему права sysadmin. Теперь заходим на сервер под логином vasya и активизируем БД в которой он является пользователем 'vasya_pupkin'. ВНИМАНИЕ ВОПРОС: КАК ВЫВЕСТИ ИМЯ ПОЛЬЗОВАТЕЛЯ? Эти команды: Код: plaintext 1. выдают DBO. Эти команды: Код: plaintext 1. выдают vasya. А мне надо, чтобы выдалось ПРАВИЛЬНОЕ имя пользователя, т.е. vasya_pupkin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 12:00:22 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
Run exec sp_who (system prozedur) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 16:05:46 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
select loginname from master..syslogins where sid = suser_sid() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 16:48:29 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
Нормальный пользователь это, по твоему имя пользователя в твоей БД Ну тогда select name from <you_db>.dbo.sysusers where sid = SUSER_SID() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 17:37:03 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
2 (schatz) >>Run exec sp_who (system prozedur) SP_WHO выведет список активных процессов. Имя пользователя из этого списка узнать нельзя. 2 (Glory) >>select loginname from master..syslogins where sid = suser_sid() Этот запрос поможет мне узнать логин, под которым я вошел на сервер (т.е. в моем случае это мне выдаст 'vasya'). А мне нужно получить имя пользователя в текущей БД (т.е. 'vasya_pupkin') 2 () >>select name from <you_db>.dbo.sysusers where sid = SUSER_SID() Этот запрос не возвращает ни одной строки.. К тому же вообще в таблице sysusers вообще не хранится "настоящее" имя пользователя (т.е. 'vasya_pupkin'). Там есть только dbo. И это все из-за того, что я включил этот логин в серверную роль sysadmin. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 09:57:00 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
Логину, входящему в серверную роль sysadmin вовсе не обязательно быть отмапленным в базе в какого-либо пользователя. Если он все-таки отмаплен в пользователя то запрос select name from <you_db>.dbo.sysusers where sid = SUSER_SID() вернет его имя пользователя в базе, Если не отмаплен, то можно получить только его логин select loginname from master..syslogins where sid = suser_sid() ЗЫ SP_WHO выведет список активных процессов. Имя пользователя из этого списка узнать нельзя. Из SP_WHO нельзя а из системных таблиц, на основе которых работает SP_WHO - можно. Если опять логин отмаплен в пользователя базы select a.loginame, b.name from master.dbo.sysprocesses a inner join sysusers b on b.sid = a.sid where a.sid = suser_sid() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 10:22:53 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
Glory, в том то и дело, что в моем примере пользователь отмаплен (я для него делал sp_grantdbaccess), но этот запрос: select name from <you_db>.dbo.sysusers where sid = SUSER_SID() ничего не возвращает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 11:06:00 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
2mishgan2000 А у меня возвращает. Запросы select USER_NAME() select name from sysusers where sid = SUSER_SID() взвращают dbo и отмапленного пользователя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 14:18:15 |
|
||
|
Как найти истинного пользователья
|
|||
|---|---|---|---|
|
#18+
У меня работает так как я рассказал. Microsoft SQL Server 2000 - 8.00.679 (Intel X86) Aug 26 2002 15:09:48 Copyright (c) 1988-2000 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 3) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2002, 19:56:45 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3383&tid=1819051]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 340ms |

| 0 / 0 |
