SQL Server 2005 的Guest用户


---------------------------------------
-- SQL Server 2005 Guest 用户
---------------------------------------

在SQL Server 2005 中的每个数据库安全性的
用户下面均有一个 guest 用户,默认该用户只在
master 和 tempdb 数据库下是开启的,其他数据
库均为禁用的。该用户在SQL Server 2005中是不
允许删除的。

一个登录者若在该数据库中没有对应的用户,则
启用guest则可以进行对该数据库的访问,否则访
问被拒,开启和禁用Guest用户只能用语句来实现,
SSMS暂没发现怎么实现。

启用Guest:
GRANT Connect TO Guest;

禁用Guest
REVOKE Connect FROM Guest;

例:
--在SQL Server 2005中新增一个登录名 Mary
SELECT SUSER_SNAME(),USER_NAME();--SYSTEM9\Administrator   dbo

--CREATE LOGIN [Mary] WITH PASSWORD=N'Û!¿2ÕoT22y_þ§criÊêmW£Í/ÏÍ@q', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[简体中文], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
CREATE LOGIN [Mary] WITH PASSWORD=N'P@ssw0rd',DEFAULT_DATABASE=[master]

--模拟Mary登录
EXECUTE AS Login='Mary'
SELECT SUSER_SNAME(),USER_NAME(); --Mary    guest]

--模拟登录Adventureworks数据库,Adventureworks的guest未开启
USE ADventureworks
GO

--消息 916,级别 14,状态 1,第 1 行
--服务器主体 "Mary" 无法在当前安全上下文下访问数据库 "AdventureWorks"。


--退出Mary模拟,开启Guest用户
REVERT;
SELECT SUSER_SNAME(),USER_NAME();--SYSTEM9\Administrator   dbo

--转向 Adventureworks 开启Guest
USE Adventureworks
GO

GRANT CONNECT TO Guest; --开启Guest

--在模拟Mary
EXECUTE AS LOGIN='Mary'
USE Adventureworks

GO
SELECT SUSER_SNAME(),USER_NAME();--Mary   guest

--退出模拟,禁用Guest
REVERT
REVOKE CONNECT FROM Guest;

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15042150/viewspace-616671/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15042150/viewspace-616671/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值