跳到主要内容
常见问题 SSMS查询结果结果集

SSMS 查询结果不完整或只显示一部分

SSMS 里结果「只有 200 行」「被截断」的常见原因:结果集行数限制、单元格截断显示、查询本身被改写,逐项区分方法。

发布于 2026/11/11 所属频道 SQL Server

简短答案

SSMS 结果「不全」通常是三件事之一:结果网格默认只回传前 200 行(或你设过 500 上限)、长文本单元格默认截断显示、或查询被 TOP/分页改写过。先看是哪一种。

排查步骤

  1. 看「结果消息」里的行数提示:若写着「返回了前 N 行」,是结果集行数上限在起作用。
    • 改法:工具 → 选项 → 查询结果 → 结果集 → SQL Server → 网格结果,调大「将字符数据截断为」与「将二进制数据截断为」,或「在结果中显示的总行数」上限。
  2. 长文本列只显示前段:同属网格截断选项,调大字符截断长度,或把列值导到文本看完整内容。
  3. 确认 SQL 本身:SELECT TOP、OFFSET/FETCH、WHERE 条件把结果截了——这是查询逻辑,不是 SSMS 问题。
  4. 导出完整结果:结果网格右键 → 结果另存为(CSV/TXT),存盘前 SSMS 会把被截断的行按上限导出,导出前先把上限调足。
  5. 大批量结果别硬塞网格:改用 BULK INSERT 反向思路(导出用 bcp/导出向导)或在引擎侧落临时表,各版本导出能力以 SQL Server 2022 Developer 条目页核对。

现象对照表

现象 指向
固定停在 200 行 网格行数默认上限
长列只显示开头 字符/二进制截断
行数明显偏少 查询被改写(TOP/条件)

操作小结

  1. 先看结果消息的行数提示,分清是截断还是查询本身。
  2. 上限调足再导出,别导出截断版。
  3. 超大结果走导出向导或落临时表,别堆网格。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配