使用 sqlcmd 连接到 SQL Server
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
本文介绍如何使用 sqlcmd 实用工具连接到 SQL Server 数据库引擎。
概述
SQL Server 支持客户端使用 TCP/IP 网络协议(默认)和命名管道协议进行通信。 如果客户端正在连接到同一计算机上的数据库引擎实例,则还可使用 Shared Memory 协议。 通常有三种选择协议的方法。 sqlcmd 实用工具使用的协议按下列顺序确定:
sqlcmd 使用为连接字符串中指定的协议,如本文后续部分所述。
如果连接字符串中未指定任何协议,则 sqlcmd 将使用所连接的别名中定义的协议。 若要将 sqlcmd配置为通过创建别名使用特定网络协议,请参阅创建或删除供客户端使用的服务器别名 (SQL Server 配置管理器)。
如果未通过其他方法指定协议,sqlcmd 将使用由 SQL Server 配置管理器中的协议顺序确定的网络协议。
下面的示例显示连接到 1433 端口上默认的 数据库引擎 实例以及假定侦听 1691 端口的 数据库引擎 命名实例的各种方法。 其中一些示例使用环回适配器的 IP 地址 (127.0.0.1)。 请使用您的计算机网络接口卡的 IP 地址进行测试。
通过指定实例名连接到 数据库引擎 :
sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB
通过指定 IP 地址连接到 数据库引擎 :
sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB
通过指定 TCP\IP 端口号连接到 数据库引擎 :
sqlcmd -S ComputerA,1433
sqlcmd -S ComputerA,1691
sqlcmd -S 127.0.0.1,1433
sqlcmd -S 127.0.0.1,1691
使用 TCP/IP 进行连接
使用以下常规语法进行连接:
sqlcmd -S tcp:<computer name>,<port number>
连接到默认实例:
sqlcmd -S tcp:ComputerA,1433 sqlcmd -S tcp:127.0.0.1,1433
连接到命名实例:
sqlcmd -S tcp:ComputerA,1691 sqlcmd -S tcp:127.0.0.1,1691
使用命名管道进行连接
使用以下常规语法之一进行连接:
sqlcmd -S np:\\<computer name>\<pipe name>
连接到默认实例:
sqlcmd -S np:\\ComputerA\pipe\sql\query sqlcmd -S np:\\127.0.0.1\pipe\sql\query
连接到命名实例:
sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query
在服务器上从客户端使用共享内存(本地过程调用)进行连接
使用以下常规语法之一进行连接:
sqlcmd -S lpc:<computer name>
连接到默认实例:
sqlcmd -S lpc:ComputerA
连接到命名实例:
sqlcmd -S lpc:ComputerA\<instancename>