SSMS 查询窗口使用要点
SSMS 查询窗口实操要点:GO 批次分隔、解析与执行的差别、结果网格 200 行默认限制、结果导出方法,以及跑长脚本时的常见坑。
结论先行
查询窗口是 SSMS(SSMS 管理工具条目)里最常用的入口:连上实例后写 T-SQL、按批次执行。三个必知要点:GO 是客户端批次分隔符、不是 T-SQL 的一部分;结果网格默认最多显示 200 行;「解析」只查语法不真正执行,与「执行」的区别很大。
GO 是批次分隔,不是 T-SQL
- 查询窗口把脚本按
GO切成若干批次,逐批发给引擎;引擎本身不认识GO。 - 因此存储过程、函数体内写
GO会报错(提示不支持该命令)。
CREATE PROCEDURE dbo.Demo AS
BEGIN
SELECT 1;
END
GO
EXEC dbo.Demo;
解析、执行与智能提示
| 操作 | 效果 |
|---|---|
| 解析 | 只做语法检查,不连库不执行 |
| 执行 | 对当前数据库真正运行,返回结果 |
| 智能提示 | 按当前数据库上下文补全表名列名;灰色常表示上下文未应用 |
在查询窗口顶部选中的「当前数据库」决定脚本作用对象;跨库操作记得先
USE [库名];。
200 行结果上限怎么调
- 结果网格默认抓取上限 200 行,看到「结果已截断」提示就是触顶了。
- 调法:菜单栏 查询 → 查询选项 → 结果到网格 → 最大行数,可改大或设 0(不限)。
- 大批数据别「全量看」:用
WHERE收窄,或直接把结果导出成文件(右键结果 → 保存结果,支持 CSV/Excel)。
常见误操作
- 忘切数据库上下文:连上后默认库是登录的默认库,不
USE就报「表不存在」。 - 误以为整段自动回滚:前面批次已执行成功,后面批次语法失败不会自动撤销;关键操作用显式
BEGIN TRAN / ROLLBACK。 - 长脚本不分批:一批中任一错误整批不生效,用
GO分段定位问题更快。
搭配 SQL Server 2025 Developer 或 SQL Server 2022 Developer 等引擎,查询窗口语法基本一致;个别新对象对旧引擎(如 SQL Server 2019 Developer)不兼容时,以实际报错为准。