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

QA与Prod环境表行列数不一致,如何用SQL Server查询全表行列数?

SQL Server 查询所有表的行数与列数

以下是SQL Server中查询当前数据库所有用户表的行数和列数的SQL语句,效果和你用Python统计Parquet文件行列数的逻辑一致:

SELECT
    SCHEMA_NAME(t.schema_id) AS schema_name,
    t.name AS table_name,
    SUM(p.rows) AS count_of_rows,
    COUNT(c.column_id) AS count_of_col
FROM 
    sys.tables t
JOIN 
    sys.indexes i ON t.object_id = i.object_id
JOIN 
    sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id
LEFT JOIN 
    sys.columns c ON t.object_id = c.object_id
WHERE 
    i.index_id IN (0, 1) -- 仅统计聚集索引或堆表的总行数
    AND t.type = 'U' -- 只包含用户创建的业务表,排除系统表
GROUP BY 
    SCHEMA_NAME(t.schema_id), t.name
ORDER BY 
    count_of_rows DESC;

语句说明:

  • schema_name:表所属的架构名称(如默认的dbo),不需要可直接删除该列
  • table_name:对应你Python代码里的path,代表统计对象的名称
  • count_of_rows:通过系统分区统计获取行数,比直接执行COUNT(*)效率高,适合大表场景
  • count_of_col:统计对应表的总列数

如果需要导出结果为CSV,在SQL Server Management Studio执行完语句后,右键结果集 → 选择「保存结果为」→ 格式选CSV即可,和你Python代码导出文件的效果一致。

要对比QA与生产环境的差异,只需分别在两个环境的数据库连接中执行该语句,再对比两份结果就能快速定位行列数不一致的表。

内容的提问来源于stack exchange,提问作者Anubhav Swaroop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:15:05