SQLServer创建用户限定特定视图或表

--1、创建登录名
CREATE LOGIN test_user
WITH PASSWORD = 'TEST1234!@#$';

--2、创建数据库用户并关联登录名
CREATE USER test_user FOR LOGIN test_user;

--3、设置视图View1、View2、View3权限。也可以通过界面右键视图-属性。
grant select on [dbo].[View1] to test_user
grant select on [dbo].[View2] to test_user
grant select on [dbo].[View3] to test_user

--4、将视图中涉及表的权限赋给用户
grant select on [dbo].[table1] to test_user
grant select on [dbo].[table2] to test_user


--【辅助命令】
--1、如果不想让用户看到其它数据库,可以取消public角色的"查看任意数据库"权限。但要通过下面任一命令赋权限给test_user ,但用户会有owner权限
EXEC dbo.sp_changedbowner N'test_user ';
ALTER AUTHORIZATION ON DATABASE::DB001 TO test_user ;

--2、新建用户时,提示数据库结构已存在,更改用户数据库关系
EXEC sp_change_users_login 'update_one','test_user ','test_user '


--3、如果报“推荐的新数据库所有者已经是此数据库的用户或在此数据库中已有一个别名”错误,则把数据库中的test_user 用户删除即可

--4、删除用户时检查是否登录,用kill pid清除
SELECT session_id
FROM sys.dm_exec_sessions
WHERE login_name = 'test_user '

posted @   无敌师爷IT技术Blog  阅读(384)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2019-02-20 Rabbit MQ 学习笔记(3)角色列表
2019-02-20 Rabbit MQ 学习笔记(2)安装Rabbit MQ
点击右上角即可分享
微信分享提示