首页 > 解决方案 > 为什么我的用户权限 SQL 代码会导致创建用户架构?

问题描述

在下面的主数据库示例中,我正在向经过 Windows 身份验证的用户授予权限(以前只存在默认的“公共”服务器角色,没有添加用户映射或安全对象),但它也在创建用户模式:

--Database Context
USE [master]

--Role Memberships
EXEC sp_addrolemember @rolename=[db_datareader],@membername=[Username]
EXEC sp_addrolemember @rolename=[db_datawriter],@membername=[Username]

--Database Level Permissions
GRANT CONNECT TO [Username]

--Set default schema
ALTER USER [Username] WITH default_schema = dbo

虽然权限设置正确,但我不清楚它为什么还要创建用户模式。我在网上查过,我看不到任何可以解释的东西。

这是 sp_addrolemember 的结果,由于数据库中不存在用户吗?

标签: sqlsql-serversql-server-2016

解决方案


推荐阅读