Conectarse al motor de base de datos con sqlcmd

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 usado por la utilidad sqlcmd 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.

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

  • Si el protocolo no se especifica de otra forma, sqlcmd usará 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

Para conectarse utilizando 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
    

Para conectarse 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
    

Para conectarse 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>