Sql server 2005 SQL 2005如何设置HasdAccess

Sql server 2005 SQL 2005如何设置HasdAccess,sql-server-2005,Sql Server 2005,在MS-SQL 2005中,当我执行 从sys.sysusers中选择* 在master数据库中,来宾用户拥有dbaccess=1 如何设置hasdaccess=0?我想这并不像以下那样简单: update sys.sysusers set hasdbaccess = 0 where user = 'guest' 还是类似的?不,生活从来没有那么容易:-) 您通常会使用deny或revoke删除此类权限,但请注意,来宾不被视为普通用户。出于某种原因,GUEST不受master或

在MS-SQL 2005中,当我执行

从sys.sysusers中选择*

master数据库中,来宾用户拥有dbaccess=1


如何设置hasdaccess=0?

我想这并不像以下那样简单:

update sys.sysusers
    set hasdbaccess = 0
    where user = 'guest'
还是类似的?不,生活从来没有那么容易:-)

您通常会使用
deny
revoke
删除此类权限,但请注意,来宾不被视为普通用户。出于某种原因,
GUEST
不受master或tempdb数据库上的
REVOKE CONNECT
的约束

请看这一点事实陈述,但没有太多关于原因的解释

在进一步的调查中,一些人似乎建议在主数据库中需要它,因为用户(登录)信息存储在主数据库中。因此,在登录期间,每个人都使用来宾帐户访问该数据库,因为他们的“真实”帐户和权限尚不清楚

因为guest帐户用于所有没有经过验证的凭据的用户(在登录成功之前,每个人都是这样),所以我觉得这很有意义

REVOKE CONNECT TO [username] 
将等于该查询