检查已安装的 sqlcmd 实用工具版本

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric SQL 数据库

sqlcmd 实用工具允许你输入 Transact-SQL 语句、系统过程和脚本文件。

sqlcmd 变体

sqlcmd 有两种变体:

  • sqlcmd(Go):基于 go-mssqldbsqlcmd,有时称作 go-sqlcmd。 此版本是可以独立于 SQL Server 下载的独立工具。 它在 Windows、macOS、Linux 和容器中运行。

  • sqlcmd (ODBC):与平台对齐的基于 ODBC 的 sqlcmd,可用于 SQL Server 或 Microsoft 命令行实用工具,也作为 Linux 上 mssql-tools 包的一部分。 它还在 Windows、macOS、Linux 和容器中运行。

若要确定已安装的变体和版本,请在命令行中运行以下语句:

sqlcmd "-?"
sqlcmd "-?"
sqlcmd -?

sqlcmd (Go)

如果使用新版本的 sqlcmd (Go),输出类似于以下示例:

Version: 1.8.2

可以使用 sqlcmd --version 确定安装了哪个版本。 应至少安装版本 1.0.0。

sqlcmd (ODBC)

如果使用 sqlcmd (ODBC),输出类似于以下示例:

Microsoft (R) SQL Server Command Line Tool
Version 16.0.4025.1 NT
Copyright (C) 2022 Microsoft Corporation. All rights reserved.

计算机上可能安装了多个版本的 sqlcmd (ODBC)。 请确保使用正确的版本。 应至少安装了版本 15.0.4298.1。

Always Encrypted (-g) 和 Microsoft Entra 身份验证 (-G) 至少需要版本 13.1。

注解

如果通过包管理器安装 sqlcmd (Go),会在环境路径中将 sqlcmd (ODBC) 替换为 sqlcmd (Go)。 必须关闭并重新打开任何当前的命令行会话,才能使此更改生效。 sqlcmd (ODBC) 不会被移除,仍可通过指定可执行文件的完整路径来使用。

还可以更新 PATH 变量,以指示哪些变量优先。 若要在 Windows 11 中执行此操作,请打开“系统设置”,然后转到“关于”“高级系统设置”。 打开“系统属性”时,选择“环境变量”按钮。 在下半部分的“系统变量”下,选择“路径”,然后选择“编辑”。 如果 sqlcmd (Go) 保存到 前面列出的 C:\Program Files\sqlcmd(默认位置),则使用 sqlcmd (Go)C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn。 可以颠倒顺序,使 sqlcmd (ODBC) 再次成为默认值。