다음을 통해 공유


Synapse SQL에 연결

Azure Synapse Analytics의 Synapse SQL 기능에 연결합니다.

Important

가능한 경우 Microsoft Entra 인증을 사용합니다. 자세한 내용은 Synapse SQL을 통한 인증에 Microsoft Entra 인증 사용을 참조하세요.

서버 이름 찾기

다음 예에서 전용 SQL 풀의 서버 이름은 <server-name>.sql.azuresynapse.net입니다. 다음 예제에서 서버리스 SQL 풀의 서버 이름은 <server-name>-ondemand.sql.azuresynapse.net입니다.

정규화된 서버 이름을 찾으려면:

  1. Azure Portal로 이동합니다.
  2. Synapse 작업 영역을 선택합니다.
  3. 연결하려는 작업 영역을 선택합니다.
  4. 개요로 이동합니다.
  5. 전체 서버 이름을 찾습니다.
    • 전용 SQL 풀의 경우 SQL 엔드포인트를 사용합니다.
    • 서버리스 SQL 풀의 경우 SQL 주문형 엔드포인트를 사용합니다.

지원되는 도구

Azure Data Studio 또는 SSMS(SQL Server Management Studio)를 사용합니다.

서버리스 SQL 풀의 경우:

지원되는 드라이버 및 연결 문자열

Synapse SQL은 ADO.NET, ODBC, PHPJDBC를 지원합니다. 최신 버전 및 설명서를 찾으려면 이전 드라이버 중 하나를 선택합니다. Azure Portal에서 사용 중인 드라이버에 대한 연결 문자열을 자동으로 생성하려면 앞의 예제에서 데이터베이스 연결 문자열 표시를 선택합니다. 또한 각 드라이버에 대한 연결 문자열의 모양에 대한 몇 가지 예는 다음과 같습니다.

참고 항목

사용 불가능한 짧은 시간 동안 연결이 효력을 유지하려면 연결 제한 시간을 300초로 설정하는 것이 좋습니다.

ADO.NET 연결 문자열 예제

이 간단한 예에서는 SQL 인증을 사용하지만 ADO.NET을 사용하는 Microsoft Entra 인증이 더 안전하고 권장됩니다.

Server=tcp:{your_server}.sql.azuresynapse.net,1433;Database={your_database};User ID={your_user_name};Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

ODBC 연결 문자열 예제

이 간단한 예에서는 SQL 인증을 사용하지만 ODBC를 사용하는 Microsoft Entra 인증이 더 안전하고 권장됩니다.

Driver={SQL Server Native Client 11.0};Server=tcp:{your_server}.sql.azuresynapse.net,1433;Database={your_database};Uid={your_user_name};Pwd={your_password_here};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;

PHP 연결 문자열 예제

이 간단한 예에서는 SQL 인증을 사용하지만 PHP를 사용하는 Microsoft Entra 인증이 더 안전하고 권장됩니다.

Server: {your_server}.sql.azuresynapse.net,1433 \r\nSQL Database: {your_database}\r\nUser Name: {your_user_name}\r\n\r\nPHP Data Objects(PDO) Sample Code:\r\n\r\ntry {\r\n   $conn = new PDO ( \"sqlsrv:server = tcp:{your_server}.sql.azuresynapse.net,1433; Database = {your_database}\", \"{your_user_name}\", \"{your_password_here}\");\r\n    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );\r\n}\r\ncatch ( PDOException $e ) {\r\n   print( \"Error connecting to SQL Server.\" );\r\n   die(print_r($e));\r\n}\r\n\rSQL Server Extension Sample Code:\r\n\r\n$connectionInfo = array(\"UID\" => \"{your_user_name}\", \"pwd\" => \"{your_password_here}\", \"Database\" => \"{your_database}\", \"LoginTimeout\" => 30, \"Encrypt\" => 1, \"TrustServerCertificate\" => 0);\r\n$serverName = \"tcp:{your_server}.sql.azuresynapse.net,1433\";\r\n$conn = sqlsrv_connect($serverName, $connectionInfo);

JDBC 연결 문자열 예제

이 간단한 예에서는 SQL 인증을 사용하지만 JDBC를 사용하는 Microsoft Entra 인증이 더 안전하고 권장됩니다.

jdbc:sqlserver://yourserver.sql.azuresynapse.net:1433;database=yourdatabase;user={your_user_name};password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=30;

연결 설정

Synapse SQL은 연결 및 개체 생성 중에 몇 가지 설정을 표준화합니다. 이러한 설정은 재정의되거나 다음을 포함할 수 없습니다.

데이터베이스 설정
ANSI_NULLS ON
QUOTED_IDENTIFIERS ON
DATEFORMAT mdy
DATEFIRST 7

권장 사항

서버리스 SQL 풀 쿼리를 실행하기 위해 권장되는 도구는 Azure Data Studio 및 Azure Synapse Studio입니다.

Visual Studio를 사용하여 연결하고 쿼리하려면 Visual Studio를 사용하여 쿼리를 참조하세요. 인증 옵션에 대한 자세한 내용은 Synapse SQL에 인증을 참조하세요.