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>