优先选mssql插件连sql server,因其自带t-sql语言服务器、执行计划可视化等功能;需同时连多种数据库则必须用sqltools配合对应驱动。

能运行 SQL 脚本,但必须装对插件、配对驱动、设对语言模式——缺一不可,否则 Ctrl+Enter 只是敲了个寂寞。
装哪个插件:SQLTools 还是 mssql?
取决于你连什么数据库:
- 只连
SQL Server,且用 Windows 身份验证或固定实例名:装mssql(扩展 IDmicrosoft.mssql)最稳,自带连接向导和执行计划可视化 - 要同时连
MySQL、PostgreSQL、SQLite中的多个,或需要多环境切换:必须装SQLTools(作者mtxr),再单独装对应驱动,比如SQLTools MySQL/MariaDB Driver - 别装名字含
Syntax、Highlight、Formatter的插件——它们不提供执行能力,右下角点成SQL也没用
连接失败常见报错和硬性检查点
报 Failed to connect 或 Login failed for user 不是密码错了那么简单:
-
SQL Server用户:确认 SQL Server 配置管理器里TCP/IP已启用,IPAll → TCP Port明确填了1433(不是留空),防火墙放行该端口 -
MySQL用户:如果用 Docker/WSL2/M1,host别填localhost——WSL2 填/etc/resolv.conf里的nameserverIP,M1 Rosetta 下改用127.0.0.1 - 密码含
@、/等字符:必须 URL 编码,比如my@pwd→my%40pwd - 所有插件都要求显式填
database字段:留空会报No database selected或Table 'xxx' doesn't exist,不是连接失败,是根本没选库
执行前必须手动设语言模式
新建 .sql 文件默认是 Plain Text,语法高亮、补全、执行按钮全失效:
- 点击 VSCode 右下角状态栏显示的
Plain Text,从弹出菜单选SQL(不是T-SQL,那是旧别名) -
mssql插件默认不启动智能提示,需在设置里开"mssql.enableIntelliSense": true -
SQLTools的补全依赖已配置连接——哪怕只连一个本地SQLite文件,否则SELECT * FROM后不会列表名 - 快捷键别混:
Ctrl+Shift+E是mssql的执行键,Ctrl+Enter是SQLTools的默认键(可在设置里改),按错就毫无反应
结果输出和容易被忽略的边界
执行后结果以表格形式出现在面板,但几个关键限制常被跳过:
-
mssql支持查看图形化执行计划,SQLTools只输出文本格式的EXPLAIN结果,没法点开节点分析 - 多语句用分号隔开,但
SQLTools默认只执行光标所在“语句块”(上一个分号到下一个分号之间),不是全文 -
SQLite插件(如alexcvzz版)只识别当前工作区目录下的.db或.sqlite文件,双击打开单个文件无效 - Python 脚本改了 SQLite 数据,VSCode 插件不会自动刷新——得手动右键表名 → “Refresh Table”











