首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何强制sysadmin将数据存储在dbo以外的架构中?

如何强制sysadmin将数据存储在dbo以外的架构中?
EN

Database Administration用户
提问于 2019-12-17 12:45:32
回答 1查看 664关注 0票数 2

我正在使用GUI工具在我的Server 2016数据库中上传数据。用于上述任务的用户已被授予sysadmin权限,我创建了一个专门的架构来存储上面的数据。此架构属于上述用户,默认为上述用户。问题是,当我上传数据时,它存储在dbo模式中而不是专用模式中,并且我无法从这个用户撤销sysadmin priv。

请让我知道如何上传数据到这个专用的模式,而不撤销sysadmin?

谢谢

EN

回答 1

Database Administration用户

发布于 2019-12-17 15:17:03

sysadmin固定服务器角色的成员使用非dbo模式的唯一方法是使用模式名称显式限定其对象名称:

代码语言:javascript
运行
复制
CREATE TABLE MySchema.TableName (...

而不是:

代码语言:javascript
运行
复制
CREATE TABLE TableName (...

这是无可奈何的。改变用户的文档(在“备注”部分)甚至有一个注释:

如果用户是sysadmin固定服务器角色的成员,则忽略DEFAULT_SCHEMA的值。sysadmin固定服务器角色的所有成员都具有默认的dbo架构。

这很可能是因为作为sysadmin固定服务器角色的成员的登录(实例级别)成为所有数据库中的dbo用户(数据库级别)。要验证这一点,请以任何非sa登录(即sysadmin )的身份登录,并执行以下操作:

代码语言:javascript
运行
复制
SELECT SYSTEM_USER AS [Login], CURRENT_USER AS [User];
票数 8
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/255792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档