--创建测试数据库Create database Test;USE masterGO--通过sp_addlogin创建登录名--TestUser:用户登陆账号--Test123456:用户登陆密码execute sp_addlogin ‘TestUser‘,‘Test123456‘--在数据库Test里创建数据库TestUser账号--每一个TestUser为登陆名--第二个TestUser为数据库账号execute sp_grantdbaccess ‘TestUser‘,‘TestUser‘--将TestUser账号添加到数据库角色为数据库所有者execute sp_addrolemember ‘db_owner‘,‘TestUser‘
在SSMS中使用“TestUser”账号登录后就可能看到所有的数据库 但如果访问的数据库不是Test则为提示没有权限
USE masterGO--将所有数据库的查看权限给Public角色,每个登录用户只能查看指定的数据库--此语句会导致服务器上所有的用户在没有设置数据库权限的情况下不会显示任何数据库,有可能会影响正常使用DENY VIEW any DATABASE TO PUBliC;--将数据库Test的所有权给TestUser用户--TestUser用户可以查看并访问Test数据库ALTER AUTHORIZATION ON DATABASE::Test TO TestUser
“DENY VIEW any DATABASE TO PUBliC;”后如果没有进行权限设置默认的登录用户是不能查看任何数据库的 “ALTER AUTHORIZATION ON DATABASE::Test TO TestUser”后TestUser就可以只能查看并访问Test数据库了 参考: 使SQL用户只能看到自己拥有权限的库 MSDN VIEW ANY DATABASE 权限 MSDN ALTER AUTHORIZATION (Transact-SQL) MSDN sp_addlogin (Transact-SQL) 总结
以上是内存溢出为你收集整理的(4.25)Sqlserver中 登录用户只能看到自己拥有权限的库全部内容,希望文章能够帮你解决(4.25)Sqlserver中 登录用户只能看到自己拥有权限的库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)