应安装 microsoft 官方的“sql server (mssql)”扩展(id:microsoft.mssql),仅支持 sql server;需启用 tcp/ip 协议、配置端口(默认1433)、选择正确认证模式,并手动设置文件语言模式为 sql 才能执行查询。

VSCode 本身不支持任何数据库连接,SQL Server 插件只是其中一种选择,且只支持 SQL Server —— 别指望它连 MySQL 或 PostgreSQL。 安装后仍需手动填对实例名、身份验证方式、端口等参数,错一个就报 Failed to connect 或 Login failed for user。
装哪个插件:认准 Microsoft 官方的 mssql
不是“SQL Server”“SQL Tools”“SQL Server Client”这类模糊名字,必须是扩展 ID 为 microsoft.mssql、作者为 Microsoft 的那个。其他同名插件要么功能残缺,要么已停止维护。安装后无需额外驱动,但必须确保本地或远程 SQL Server 实例已启用 TCP/IP 协议,且 SQL Server Browser 服务在运行(尤其使用命名实例时)。Windows 身份验证和 SQL 账户密码两种方式都支持,但后者需显式勾选“Use SQL Server Authentication”——界面里默认是 Windows 验证,容易漏选。
连接失败最常卡在这几个地方
常见错误包括:Cannot connect to server(端口不通)、Login failed for user(密码错/账户被禁用)、Named Pipes Provider, error: 40(TCP/IP 未启用)。检查点如下:
- SQL Server 配置管理器中,“SQL Server Network Configuration → Protocols for [实例名]”里 TCP/IP 必须是“Enabled”
- 右键 TCP/IP → 属性 → IP 地址页 → 拉到底部,
IPAll下的TCP Port填了没?默认是 1433;如果留空,得填TCP Dynamic Ports并确认客户端连的是动态端口 - 防火墙是否放行了对应端口(尤其是远程连接)
- SQL Server 账户是否已启用“SQL Server 和 Windows 身份验证模式”(SSMS 里右键服务器 → 属性 → 安全性)
执行查询前必须设对语言模式和快捷键
新建文件默认是 Plain Text,右下角状态栏显示 Plain Text 就说明语法高亮和执行按钮都没生效。点击它,选 SQL(不是 T-SQL,那是旧版别名),否则 Ctrl+Shift+E 或右键“Execute Query”会灰掉。执行快捷键是 Ctrl+Shift+E(Windows/Linux)或 Cmd+Shift+E(macOS),不是 Ctrl+Enter —— 后者是 SQLTools 的绑定,混用会误以为插件坏了。结果以表格形式输出在下方面板,但不支持 EXPLAIN 或执行计划可视化,只能看纯文本输出。
connections.json 不起作用?因为 mssql 插件根本不读它
SQLTools 依赖 ~/.sqltools/connections.json,而 mssql 插件完全走另一套:所有连接信息存在 VSCode 的 workspace 或用户设置里,通过命令面板(Ctrl+Shift+P)运行 MS SQL: Connect 交互式录入,或手动编辑 settings.json 中的 mssql.connections 数组。明文存密码确实不安全,但它不支持环境变量或 Azure Key Vault 集成,生产环境建议只连本地开发实例,或改用 sqlcmd + 终端执行。
真正麻烦的不是装插件,而是 SQL Server 自身的协议配置和认证链路——VSCode 只是最后一环,前面任一环节断了,它连报错都报不全。











