日期:2014-05-17  浏览次数:20503 次

SQL SERVER 2005数据库有多个库,建立新用户只能访问一个库里的某个表
SQL SERVER 2005数据库有多个库,建立新用户只能访问一个库里的某个表,我用语句实现

--添加用户
exec sp_addlogin '用户名','密码','数据库名'

--添加到数据库
exec sp_grantdbaccess '用户名'

--分配整表权限
GRANT SELECT , INSERT , UPDATE , DELETE ON 表名 TO [用户名]

但是用新增的登录后,这个服务器上其他数据库也能看到,并且
可以到以下表
pbcatcol
pbcatedt
pbcatfmt
pbcattbl
pbcatvld
请教 如何将除赋权限外的数据库不显示出来

------解决方案--------------------
你创建账号的时候指定一个默认数据库,并且把服务器权限设为public,这样就不能访问其他库,记住,SQLServer不能是登陆者“看不到”数据库,只能访问不了而已。然后再在数据库级别的权限中设定只对制定表的权限即可。这部分完全可以使用SQLServer Management studio实现,你要脚本的话也可以使用SSMS先做出来,然后点击上方的【脚本】来生成