Conexión a SQL Server mediante sqlcmd

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

En este artículo se describe cómo conectarse al motor de base de datos de SQL Server mediante la utilidad sqlcmd.

Información general

SQL Server permite las comunicaciones de clientes con el protocolo de red TCP/IP (valor predeterminado) y el protocolo de canalizaciones con nombre. El protocolo de memoria compartida también está disponible si el cliente se está conectando a una instancia del Motor de base de datos en el mismo equipo. Hay varios métodos habituales para seleccionar el protocolo. El protocolo que la utilidad sqlcmd utiliza se determina en el siguiente orden:

  • sqlcmd usa el protocolo especificado como parte de la cadena de conexión, como se describe a continuación en este artículo.

  • Si no se especifica ningún protocolo como parte de la cadena de conexión, sqlcmd usa el protocolo definido como parte del alias que está conectado. Para configurar sqlcmd para usar un protocolo de red específico al crear un alias, consulte Crear o eliminar un alias de servidor para que lo use un cliente (Administrador de configuración de SQL Server).

  • Si el protocolo no se especifica de otra forma, sqlcmd usa el protocolo de red determinado por el orden de protocolos en el Administrador de configuración de SQL Server.

En los siguientes ejemplos se muestran diversas formas de conectarse a la instancia predeterminada de Motor de base de datos en el puerto 1433, mientras que se supone que las instancias con nombre de Motor de base de datos están escuchando en el puerto 1691. En algunos de estos ejemplos se utiliza la dirección IP del adaptador de bucle invertido (127.0.0.1). Pruebe el uso de la dirección IP de la tarjeta de interfaz de red del equipo.

Conéctese al Motor de base de datos especificando el nombre de la instancia:

sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB

Conéctese a Motor de base de datos especificando la dirección IP:

sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB

Conéctese a Motor de base de datos especificando el número de puerto TCP\IP:

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

Conexión mediante tcp/ip

  • Conéctese mediante la siguiente sintaxis:

    sqlcmd -S tcp:<computer name>,<port number>
    
  • Conéctese a la instancia predeterminada:

    sqlcmd -S tcp:ComputerA,1433
    sqlcmd -S tcp:127.0.0.1,1433
    
  • Conéctese a una instancia con nombre:

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

Conexión mediante canalizaciones con nombre

  • Conéctese utilizando una de las sintaxis generales siguientes:

    sqlcmd -S np:\\<computer name>\<pipe name>
    
  • Conéctese a la instancia predeterminada:

    sqlcmd -S np:\\ComputerA\pipe\sql\query
    sqlcmd -S np:\\127.0.0.1\pipe\sql\query
    
  • Conéctese a una instancia con nombre:

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

Conexión mediante la memoria compartida (una llamada a un procedimiento local) desde un cliente en el servidor

  • Conéctese utilizando una de las sintaxis generales siguientes:

    sqlcmd -S lpc:<computer name>
    
  • Conéctese a la instancia predeterminada:

    sqlcmd -S lpc:ComputerA
    
  • Conéctese a una instancia con nombre:

    sqlcmd -S lpc:ComputerA\<instancename>