次の方法で共有


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 ポータルにアクセスします。
  2. [Synapse ワークスペース] を選択します。
  3. 接続先のワークスペースを選択します。
  4. [概要] に移動します。
  5. サーバーの完全名を見つけます。
    • 専用 SQL プールの場合は、SQL エンドポイントを使用します。
    • サーバーレス SQL プールの場合は、SQL オンデマンド エンドポイントを使用します。

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

Azure Data Studio または SQL Server Management Studio (SSMS) を使用します。

サーバーレス SQL プールの場合:

  • Azure Data Studio は、バージョン 1.18.0 以降で完全にサポートされます。
  • SQL Server Management Studio はバージョン 18.5 以降、部分的にサポートされています。接続してクエリを実行する場合にのみ使用できます。

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

Synapse SQL プールでは、ADO.NETODBCPHP、および JDBC がサポートされています。 最新のバージョンとドキュメントを確認するには、これらドライバーのいずれかを選択してください。 使用しているドライバーの接続文字列を 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

Recommendations

サーバーレス SQL プール クエリを実行するために推奨されるツールは、Azure Data Studio と Azure Synapse Studio です。

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