Compartir a través de


Conexión a SQL Server mediante sqlcmd

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Analítica (PDW)Base de datos SQL en Microsoft Fabric

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

Overview

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 mediante la creación de un alias, consulte Creación o eliminación de un alias de servidor para su uso por parte de un cliente.

  • 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>