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>