Читати англійською Редагувати

Поділитися через


Connect to SQL Server with sqlcmd

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL database in Microsoft Fabric

This article describes how to connect to the SQL Server database engine by using the sqlcmd utility.

Overview

SQL Server supports client communication with the TCP/IP network protocol (the default), and the named pipes protocol. The shared memory protocol is also available if the client is connecting to an instance of the Database Engine on the same computer. There are three common methods of selecting the protocol. The protocol used by the sqlcmd utility is determined in the following order:

  • sqlcmd uses the protocol specified as part of the connection string, as described later in this article.

  • If no protocol is specified as part the connection string, sqlcmd uses the protocol defined as part of the alias that's connected. To configure sqlcmd to use a specific network protocol by creating an alias, see Create or delete a server alias for use by a client.

  • If the protocol isn't specified in some other way, sqlcmd uses the network protocol determined by the protocol order in SQL Server Configuration Manager.

The following examples show various ways of connecting to the default instance of Database Engine on port 1433, and named instances of Database Engine presumed to be listening on port 1691. Some of these examples use the IP address of the loopback adapter (127.0.0.1). Test using the IP address of your computer network interface card.

Connect to the Database Engine by specifying the instance name:

Console
sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB

Connect to the Database Engine by specifying the IP address:

Console
sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB

Connect to the Database Engine by specifying the TCP\IP port number:

Console
sqlcmd -S ComputerA,1433
sqlcmd -S ComputerA,1691
sqlcmd -S 127.0.0.1,1433
sqlcmd -S 127.0.0.1,1691

Connect using TCP/IP

  • Connect using the following general syntax:

    Console
    sqlcmd -S tcp:<computer name>,<port number>
    
  • Connect to the default instance:

    Console
    sqlcmd -S tcp:ComputerA,1433
    sqlcmd -S tcp:127.0.0.1,1433
    
  • Connect to a named instance:

    Console
    sqlcmd -S tcp:ComputerA,1691
    sqlcmd -S tcp:127.0.0.1,1691
    

Connect using named pipes

  • Connect using one of the following general syntaxes:

    Console
    sqlcmd -S np:\\<computer name>\<pipe name>
    
  • Connect to the default instance:

    Console
    sqlcmd -S np:\\ComputerA\pipe\sql\query
    sqlcmd -S np:\\127.0.0.1\pipe\sql\query
    
  • Connect to a named instance:

    Console
    sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query
    sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query
    

Connect using shared memory (a local procedure call) from a client on the server

  • Connect using one of the following general syntaxes:

    Console
    sqlcmd -S lpc:<computer name>
    
  • Connect to the default instance:

    Console
    sqlcmd -S lpc:ComputerA
    
  • Connect to a named instance:

    Console
    sqlcmd -S lpc:ComputerA\<instancename>