Udostępnij za pośrednictwem


Nawiązywanie połączenia z programem SQL Server za pomocą narzędzia sqlcmd

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL database w Microsoft Fabric

W tym artykule opisano sposób nawiązania połączenia z silnikiem bazy danych programu SQL Server przy użyciu narzędzia sqlcmd.

Przegląd

Program SQL Server obsługuje komunikację klienta z protokołem sieciowym TCP/IP (ustawieniem domyślnym) i protokołem nazwanych potoków. Protokół pamięci udostępnionej jest dostępny także wtedy, gdy klient łączy się z wystąpieniem silnika bazy danych na tym samym komputerze. Istnieją trzy typowe metody wybierania protokołu. Protokół używany przez narzędzie sqlcmd jest określany w następującej kolejności:

  • sqlcmd używa protokołu określonego jako część parametrów połączenia, zgodnie z opisem w dalszej części tego artykułu.

  • Jeśli w ramach parametrów połączenia nie określono żadnego protokołu, sqlcmd używa protokołu zdefiniowanego jako część połączonego aliasu. Aby skonfigurować sqlcmd do używania określonego protokołu sieciowego przez utworzenie aliasu, zobacz Tworzenie lub usuwanie aliasu serwera do użycia przez klienta.

  • Jeśli protokół nie jest określony w inny sposób, sqlcmd używa protokołu sieciowego określonego przez kolejność protokołu w programie SQL Server Configuration Manager.

W poniższych przykładach pokazano różne sposoby łączenia się z domyślną instancją silnika bazy danych na porcie 1433 oraz nazwanymi instancjami silnika bazy danych przypuszczalnie nasłuchujących na porcie 1691. Niektóre z tych przykładów używają adresu IP adaptera pętli zwrotnej (127.0.0.1). Przetestuj przy użyciu adresu IP karty sieciowej komputera.

Połącz się z silnikiem bazy danych, określając nazwę wystąpienia:

sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB

Połącz się z silnikiem bazy danych, określając adres IP.

sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB

Połącz się z silnikiem baz danych, określając numer portu TCP\IP:

sqlcmd -S ComputerA,1433
sqlcmd -S ComputerA,1691
sqlcmd -S 127.0.0.1,1433
sqlcmd -S 127.0.0.1,1691

Nawiązywanie połączenia przy użyciu protokołu TCP/IP

  • Połącz się przy użyciu następującej składni ogólnej:

    sqlcmd -S tcp:<computer name>,<port number>
    
  • Połącz się z wystąpieniem domyślnym:

    sqlcmd -S tcp:ComputerA,1433
    sqlcmd -S tcp:127.0.0.1,1433
    
  • Aby połączyć się z instancją o nazwie:

    sqlcmd -S tcp:ComputerA,1691
    sqlcmd -S tcp:127.0.0.1,1691
    

Połącz przy użyciu nazwanych potoków

  • Połącz się przy użyciu jednej z następujących składni ogólnych:

    sqlcmd -S np:\\<computer name>\<pipe name>
    
  • Połącz się z wystąpieniem domyślnym:

    sqlcmd -S np:\\ComputerA\pipe\sql\query
    sqlcmd -S np:\\127.0.0.1\pipe\sql\query
    
  • Połącz się z nazwanym wystąpieniem:

    sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query
    sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query
    

Nawiązywanie połączenia przy użyciu pamięci udostępnionej (lokalne wywołanie procedury) z klienta na serwerze

  • Połącz się przy użyciu jednej z następujących składni ogólnych:

    sqlcmd -S lpc:<computer name>
    
  • Połącz się z wystąpieniem domyślnym:

    sqlcmd -S lpc:ComputerA
    
  • Połącz się z nazwanym wystąpieniem:

    sqlcmd -S lpc:ComputerA\<instancename>