如何在SSMS 18.7(SQL Server 2016)中查看数据表创建用户?
在SSMS 18.7(SQL Server 2016)中查看数据表创建用户的方法
方法一:批量查询所有表的创建者(适合大量数据表)
直接执行以下SQL语句,一次性获取数据库中所有数据表的创建用户信息:
SELECT t.name AS 表名, dp.name AS 创建用户 FROM sys.tables t INNER JOIN sys.database_principals dp ON t.principal_id = dp.principal_id ORDER BY t.name;
该查询通过关联系统视图sys.tables(存储表元数据)和sys.database_principals(存储数据库用户/角色信息),匹配表的创建主体ID来获取对应的用户账户名。
方法二:单表查看(图形界面操作)
如果只需查看单个表的创建者:
- 打开SSMS,展开目标数据库,找到「表」节点并展开
- 右键目标数据表,选择「属性」
- 在弹出的属性窗口中,切换到「常规」标签页,查看「创建者」字段即可
注意事项
- 若表是通过角色(如db_owner)或默认用户(如dbo)创建的,查询结果会显示对应的角色/默认用户,而非实际执行创建操作的登录账户。若需追踪到具体登录用户,需查看SQL Server日志或依赖已开启的审计功能(需提前配置)。
- 执行查询前需确保当前账户拥有
VIEW DEFINITION权限,否则无法访问系统视图数据。
内容的提问来源于stack exchange,提问作者PeterXO
相关产品推荐
相关产品推荐

