SQL 2005 как установить hasdbaccess - PullRequest
0 голосов
/ 13 февраля 2009

В MS-SQL 2005, когда я исполняю

select * from sys.sysusers

в основная база данных, гость пользователь hasdbaccess = 1.

как установить hasdbaccess = 0?

Ответы [ 2 ]

0 голосов
/ 27 августа 2014
REVOKE CONNECT TO [username] 

будет равен этому запросу

0 голосов
/ 13 февраля 2009

Полагаю, это не так просто, как:

update sys.sysusers
    set hasdbaccess = 0
    where user = 'guest'

или что-то подобное? Нет, жизнь никогда не бывает такой легкой: -)

Обычно вы используете deny или revoke для удаления таких разрешений, но помните, что гость не считается обычным пользователем. По какой-то причине GUEST не подлежит REVOKE CONNECT в базах данных master или tempdb.

См. здесь для того небольшого изложения факта, но не так много объяснений, почему.

При дальнейшем исследовании некоторые люди полагают, что это требуется в главной БД, потому что именно там хранится информация о пользователе (логине). Таким образом, во время входа в систему каждый обращается к этой БД с учетной записью гостя, поскольку их «реальная» учетная запись и права доступа еще не известны.

Поскольку гостевая учетная запись используется для всех пользователей без подтвержденных учетных данных (и это все, вплоть до момента, когда их вход в систему будет успешным), это имеет смысл для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...