Azure SQL Database と Azure SQL Managed Instance の接続とクエリに関する記事

適用対象:Azure SQL DatabaseAzure SQL Managed Instance

この記事では、Azure SQL DatabaseおよびAzure SQL Managed Instanceへの接続やクエリの例へのリンクを紹介しています。 トランスポート層セキュリティ(TLS)の推奨事項については、 データベース接続に関するTLSの考慮事項を参照してください。

接続とクエリの簡単な概要については、「Azure SQL データベース Essentials シリーズ」のこちらのビデオをご覧ください:

 

クイックスタート

クイック スタート 説明
SQL Server Management Studio (SSMS) このクイック スタートでは、SSMS を使用してデータベースに接続し、Transact-SQL ステートメントを使用してデータベース内のデータに対してクエリ、挿入、更新、削除を実行する方法について説明します。
Azure Portal このクイックスタートでは、クエリ エディターを使用してデータベース (Azure SQL Database のみ) に接続し、Transact-SQL ステートメントを使用してデータベース内のデータに対してクエリ、挿入、更新、削除を実行する方法について説明します。
Visual Studio Code このクイック スタートでは、Visual Studio Code を使ってデータベースに接続し、Transact-SQL ステートメントを使ってデータベース内のデータに対してクエリ、挿入、更新、削除を実行する方法について説明します。
Visual Studio での .NET このクイックスタートでは、.NETとC#をVisual Studioと組み合わせてデータベースに接続し、Transact-SQL 文でデータをクエリする方法を実演します。
.NET このクイックスタートでは、Windows、Linux、macOSで.NETを使ってデータベースに接続し、Transact-SQL 文でデータを照会する方法を実演します。
Go このクイック スタートでは、Go を使用してデータベースに接続する方法を紹介します。 Transact-SQL ステートメントを使用してデータを照会および変更する方法についても説明します。
Java このクイック スタートでは、Java を使ってデータベースに接続した後、Transact-SQL ステートメントを使ってデータに対してクエリを実行する方法について説明します。
Node.js このクイック スタートでは、Node.js を使ってプログラムを作成してデータベースに接続し、Transact-SQL ステートメントを使ってデータに対してクエリを実行する方法について説明します。
PHP このクイック スタートでは、PHP を使ってプログラムを作成してデータベースに接続し、Transact-SQL ステートメントを使ってデータに対してクエリを実行する方法について説明します。
Python このクイック スタートでは、Python を使ってデータベースに接続し、Transact-SQL ステートメントを使ってデータに対してクエリを実行する方法について説明します。
Ruby このクイック スタートでは、Ruby を使ってプログラムを作成してデータベースに接続し、Transact-SQL ステートメントを使ってデータに対してクエリを実行する方法について説明します。

サーバーの接続情報を取得する

Azure SQL Database のデータベースに接続するために必要な接続情報を取得します。 後の手順で、完全修飾サーバー名またはホスト名、データベース名、およびログイン情報が必要になります。

  1. Azure portal にサインインします。

  2. [SQL Database] または [SQL Managed Instance] ページに移動します。

  3. [概要] ページで、Azure SQL Database のデータベースの場合は [サーバー名] の横の完全修飾サーバー名を確認し、Azure SQL マネージド インスタンスまたは Azure VM 上の SQL Server の場合は [ホスト] の横の完全修飾サーバー名 (または IP アドレス) を確認します。 サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。

注

Azure VM 上の SQL Server の接続情報については、SQL Server インスタンスへの接続に関するページをご覧ください。

ADO.NET の接続情報を取得する (省略可能 - SQL Database のみ)

  1. Azure Portal のデータベースウィンドウに移動し、[設定]の[接続文字列]を選択します。

  2. 完全な ADO.NET 接続文字列を確認します。

    ADO.NET 接続文字列を示すスクリーンショット。

  3. 使用する場合は、ADO.NET の接続文字列をコピーします。

データベース接続に関する TLS の考慮事項

トランスポート層セキュリティ (TLS) は、Azure SQL Database または Azure SQL Managed Instance 内のデータベースへの接続のために Microsoft で提供またはサポートされているすべてのドライバーで使用されています。 特別な構成は必要ありません。 SQL Server インスタンス、Azure Synapse Analytics 内の SQL プール、Azure SQL Database 内のデータベース、または Azure SQL Managed Instance のインスタンスへのすべての接続に対して、アプリケーションで次の接続パラメーターまたは同等の接続パラメーターを設定することをお勧めします。

  • Encrypt = On
  • TrustServerCertificate = Off
  • 必要に応じて、クライアントが別のアドレスを使用して接続し、TDS ドライバーがこのオプションをサポートしている場合に HostNameInCertificate = full-hostname-of-service します。

一部のシステムでは、これらの構成キーワードとは異なりますが同等のキーワードが使われています。 これらの構成を指定すると、サーバーから受信した TLS 証明書の ID をクライアント ドライバーが確認することが保証されます。

また、Payment Card Industry - データ セキュリティ基準 (PCI-DSS) に準拠する必要がある場合は、クライアントにおいて TLS 1.1 および 1.0 を無効にすることをお勧めします。

Microsoft 以外のドライバーは、既定では TLS を使用しない場合があります。 これは Azure SQL Database または Azure SQL Managed Instance に接続するときに問題になる可能性があります。 埋め込みドライバーを使用するアプリケーションでは、これらの接続設定を制御できない場合があります。 このようなドライバーおよびアプリケーションについては、機密データを操作するシステムで使う前に、そのセキュリティを調べることをお勧めします。

ドライバーとフレームワーク

MicrosoftのSQLドライバーとフレームワークの記事を使って、ドライバーやプロバイダー、該当する場合はフレームワークやデータアクセスライブラリを選んでください。 Azure SQL DatabaseやAzure SQL Managed Instanceに接続するアプリケーションを構築するには、この記事の言語Quickstartをご利用ください。