use master create login test002 with password='123' go use bktest go create user test002 from login test002用以上方法测试时,发现可以创建test002 , 但是用test002登录后,却发现两个问题: 1.那个bktest数据库可以打开,但是看不到其中的用户建立的表. 2.那个安全性登录名,那里仍然可以看到sa,也可以更改密码,这个绝对不能让test002用户看到安全性登录那里的用户名啊!所以,以上方法存在问题!
use master create login test002 with password='123' go use bktest go create user test002 from login test002 那为什么看不到其中的表呢? 还要加什么语句?
CREATE LOGIN 用户名 WITH PASSWORD=“密码”
GO
USE TA
GO
CREATE USER 用户名 FROM LOGIN 用户名LZ参考下,互相学习。
EXEC sp_addrole 'r_test'--授予 r_test 对 jobs 表的所有权限
GRANT ALL ON jobs TO r_test
--授予角色 r_test 对 titles 表的 SELECT 权限
GRANT SELECT ON titles TO r_test--添加登录 l_test,设置密码为pwd,默认数据库为pubs
EXEC sp_addlogin 'l_test','pwd','pubs'--为登录 l_test 在数据库 pubs 中添加安全账户 u_test
EXEC sp_grantdbaccess 'l_test','u_test'--添加 u_test 为角色 r_test 的成员
EXEC sp_addrolemember 'r_test','u_test'--拒绝安全账户 u_test 对 titles 表的 SELECT 权限
DENY SELECT ON titles TO u_test/*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles的select权限,所以l_test无titles表的select权限--*/--从数据库 pubs 中删除安全账户
EXEC sp_revokedbaccess 'u_test'--删除登录 l_test
EXEC sp_droplogin 'l_test'--删除角色 r_test
EXEC sp_droprole 'r_test'
但是,却发现,它居然可以在安全性登录名那里,可以看到sa, 还可以更改sa的密码, 怎么不可以让它看到sa呢? 求解,谢谢
create login test002 with password='123'
go
use bktest
go
create user test002 from login test002用以上方法测试时,发现可以创建test002 , 但是用test002登录后,却发现两个问题:
1.那个bktest数据库可以打开,但是看不到其中的用户建立的表.
2.那个安全性登录名,那里仍然可以看到sa,也可以更改密码,这个绝对不能让test002用户看到安全性登录那里的用户名啊!所以,以上方法存在问题!
create login test002 with password='123'
go
use bktest
go
create user test002 from login test002 那为什么看不到其中的表呢? 还要加什么语句?