次の方法で共有


Synapse SQL に接続する

Azure Synapse Analytics の Synapse SQL 機能に接続します。

重要

可能な場合は Microsoft Entra 認証を使用します。 詳細については、「Microsoft Entra 認証を使用して Synapse SQL での認証を行う」を参照してください。

サーバー名を検索する

次の例の専用 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 オンデマンド エンドポイントを使用します。

サポートされているツール

Visual Studio Code には、SQL Server Management Studio (SSMS) または MSSQL 拡張機能を使用します。

サーバーレス SQL プールの場合、次のツールが部分的にサポートされます (接続とクエリのみ)。

サポートされるドライバーと接続文字列

Synapse SQL プールでは、ADO.NETODBCPHP、および JDBC がサポートされています。 最新のバージョンとドキュメントを確認するには、これらドライバーのいずれかを選択してください。 使用しているドライバーの接続文字列を Azure portal から自動的に生成するには、上の例にある [データベース接続文字列の表示] を選択します。 以下に、各ドライバーの接続文字列の例を示します。

Note

断続的に切断された場合でも接続を保持できるように、接続のタイムアウトを 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 Synapse Studio です。

Visual Studio を使用して接続とクエリを行うには、 Visual Studio を使用したクエリに関するページをご覧ください。 認証オプションの詳細については、Synapse SQL に対する認証に関するページを参照してください。