————————————(个人随笔,记录使用,仅供参考)
一、Sqlserver SSMS创建一个只读的用户
1、用拥有管理权限的用户连接数据库(sa)
2、选择“安全性”=》“登录名”=》“新建登录名”(连接里的安全性)
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422053-49836794.png)
3、设置“常规”选项内容
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422050-2025290926.png)
4、设置“服务器角色”内容
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172421821-1823886502.png)
5、设置“用户映射”内容
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422047-1657206633.png)
6、设置“安全对象”内容
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172421975-341579782.png)
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172421905-847523775.png)
7、确认
二、给用户添加“创建视图的权限”
8、在可操作的数据库里编辑用户的属性(可操作的数据库:上面的“用户映射”授权的数据库)
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422054-290964069.png)
9、修改“安全对象”内容
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422037-1784819797.png)
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422058-2083976673.png)
![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422046-288236345.png)
补充1:(创建保存视图时)指定的架构名称“dbo”不存在,或者您没有使用该名称的权限
操作步骤(简略):在对应的数据库中=》“用户”=》属性=》安全对象=》搜索=》第二项=》数据库=》里面找到更改任意架构![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422203-123489269.png)
补充2:删除在数据库里用户时,报异常:无法删除用户,存在架构约束
原因:因为此用户是存在的架构拥有者,所以要去架构处把架构的拥有者改掉。![0](/i/l/?n=23&i=blog/2074129/202301/2074129-20230105172422216-1994130851.png)