Connettersi a SQL Server con sqlcmd
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
Questo articolo descrive come connettersi al motore di database di SQL Server usando l'utilità sqlcmd.
Panoramica
SQL Server supporta le comunicazioni client con il protocollo di rete TCP/IP (predefinito) e il protocollo Named Pipes. Se il client si connette a un'istanza del motore di database nello stesso computer, è inoltre disponibile il protocollo Shared Memory. La selezione del protocollo può essere in genere eseguita in tre modi. Il protocollo usato dall'utilità sqlcmd viene determinato nel seguente ordine:
sqlcmd usa il protocollo specificato nella stringa di connessione come illustrato di seguito in questo articolo.
Se nella stringa di connessione non viene specificato alcun protocollo, sqlcmd usa il protocollo definito nell'alias con il quale viene stabilita la connessione. Per configurare sqlcmd per l'uso di un protocollo di rete specifico creando un alias, vedere Creare o eliminare un alias server per l'uso da parte di un client (Gestione configurazione SQL Server).
Se il protocollo non viene specificato in un altro modo, sqlcmd usa il protocollo di rete determinato dall'ordine dei protocolli in Gestione configurazione SQL Server.
Negli esempi seguenti vengono illustrate diverse modalità di connessione all'istanza predefinita del motore di database sulla porta 1433 e a istanze denominate del motore di database in attesa sulla porta 1691. In alcuni degli esempi viene utilizzato l'indirizzo IP dell'adattatore loopback (127.0.0.1). Eseguire una prova utilizzando l'indirizzo IP della scheda di interfaccia di rete del computer in uso.
Connettersi al motore di database specificando il nome dell'istanza:
sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB
Connettersi al motore di database specificando l'indirizzo IP:
sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB
Connettersi al motore di database specificando il numero della porta TCP\IP:
sqlcmd -S ComputerA,1433
sqlcmd -S ComputerA,1691
sqlcmd -S 127.0.0.1,1433
sqlcmd -S 127.0.0.1,1691
Connettersi utilizzando il protocollo TCP/IP
Connettersi utilizzando la sintassi generale seguente:
sqlcmd -S tcp:<computer name>,<port number>
Connettersi all'istanza predefinita:
sqlcmd -S tcp:ComputerA,1433 sqlcmd -S tcp:127.0.0.1,1433
Connettersi a un'istanza denominata:
sqlcmd -S tcp:ComputerA,1691 sqlcmd -S tcp:127.0.0.1,1691
Connettersi utilizzando named pipes
Stabilire la connessione utilizzando la sintassi generale seguente:
sqlcmd -S np:\\<computer name>\<pipe name>
Connettersi all'istanza predefinita:
sqlcmd -S np:\\ComputerA\pipe\sql\query sqlcmd -S np:\\127.0.0.1\pipe\sql\query
Connettersi a un'istanza denominata:
sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query
Connettersi utilizzando la memoria condivisa (chiamata di procedura locale) da un client nel server
Stabilire la connessione utilizzando la sintassi generale seguente:
sqlcmd -S lpc:<computer name>
Connettersi all'istanza predefinita:
sqlcmd -S lpc:ComputerA
Connettersi a un'istanza denominata:
sqlcmd -S lpc:ComputerA\<instancename>