You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置SQL Server特定Schema下用户创建表的专属所有权

特定Schema下建表仅创建者可访问的配置方案

要实现「特定Schema中用户创建的表仅本人拥有所有权、其他获得该Schema访问权限的用户无任何表操作权限」的需求,通过修改Schema的默认权限规则即可实现,以下是具体操作(以PostgreSQL为例,其他关系型数据库逻辑类似,可对应调整语法):

  • 前置要求:仅给需要在Schema1中建表的用户开放该Schema的USAGE权限,这是用户可以进入Schema创建对象的基础,授权命令如下:
    GRANT USAGE ON SCHEMA Schema1 TO <授权用户/用户组>;
    
  • 第一步:清理Schema1下所有已存在表的公开权限,避免历史权限遗留影响效果:
    REVOKE ALL ON ALL TABLES IN SCHEMA Schema1 FROM PUBLIC;
    
  • 第二步:修改Schema1的默认权限规则,所有用户在该Schema下新建表时,默认不向公共用户组PUBLIC授予任何权限,仅创建者本人保留全部操作权限:
    ALTER DEFAULT PRIVILEGES IN SCHEMA Schema1 REVOKE ALL ON TABLES FROM PUBLIC;
    

配置完成后效果完全符合需求:

  • User1在Schema1中创建的表默认仅对User1开放SELECT、CREATE、UPDATE、DELETE、ALTER等全量权限
  • 其他拥有Schema1访问权限的用户,无法对User1创建的表执行任何操作,包括读取
  • 规则对所有在Schema1中建表的用户生效,任意用户创建的表都仅本人可访问

内容的提问来源于stack exchange,提问作者Venk AV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:45:02