Connessione al Motore di database tramite sqlcmd

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. Per stabilire quale protocollo viene utilizzato dall'utilità sqlcmd è possibile verificare quanto segue:

  • sqlcmd utilizza il protocollo specificato nella stringa di connessione, come è illustrato di seguito.

  • Se nella stringa di connessione non viene specificato alcun protocollo, sqlcmd utilizzerà il protocollo definito nell'alias con il quale viene stabilita la connessione. Per configurare sqlcmd per l'utilizzo di un protocollo di rete specifico tramite la creazione di un alias, vedere Creazione o eliminazione di un alias server per l'utilizzo da parte di un client (Gestione configurazione SQL Server).

  • Se il protocollo non viene specificato in un altro modo, sqlcmd utilizzerà 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 di Motore di database sulla porta 1433 e a istanze denominate di 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

Per 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
    

Per connettersi utilizzando il protocollo 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
    

Per connettersi utilizzando il protocollo Shared Memory (chiamata a una 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>