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

適用対象:Azure SQL データベースAzure SQL Managed Instance

次のドキュメントには、Azure SQL Database と Azure SQL Managed Instance に接続してクエリを実行する方法を示す Azure の例へのリンクが含まれています。 トランスポート層セキュリティのいくつかの関連する推奨事項については、「データベース接続に関する TLS の考慮事項」を参照してください。

クイックスタート

クイック スタート 説明
SQL Server Management Studio このクイック スタートでは、SSMS を使用してデータベースに接続し、Transact-SQL ステートメントを使用してデータベース内のデータに対してクエリ、挿入、更新、削除を実行する方法について説明します。
Azure Data Studio このクイックスタートでは、Azure Data Studio を使用してデータベースに接続した後、Transact-SQL (T-SQL) ステートメントを使用して、Azure Data Studio チュートリアルで使用される TutorialDB を作成する方法を示します。
Azure Portal このクイックスタートでは、クエリ エディターを使用してデータベース (Azure SQL Database のみ) に接続し、Transact-SQL ステートメントを使用してデータベース内のデータに対してクエリ、挿入、更新、削除を実行する方法について説明します。
Visual Studio Code このクイック スタートでは、Visual Studio Code を使ってデータベースに接続し、Transact-SQL ステートメントを使ってデータベース内のデータに対してクエリ、挿入、更新、削除を実行する方法について説明します。
Visual Studio での .NET このクイックスタートでは、Visual Studio で .NET Framework を使って C# プログラムを作成してデータベースに接続し、Transact-SQL ステートメントを使用してデータに対してクエリを実行する方法について説明します。
.NET core このクイック スタートでは、Windows/Linux/macOS で .NET Core を使って C# プログラムを作成してデータベースに接続し、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 アドレス) を確認します。 サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。

Note

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

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

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

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

    Screenshot showing the ADO.NET connection string.

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

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

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

  • Encrypt = On
  • TrustServerCertificate = Off

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

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

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

ライブラリ

さまざまなライブラリとフレームワークを使用して、Azure SQL Database または Azure SQL Managed Instance に接続できます。 Linux または Windows 上の SQL Server、または Linux 上の SQL Server コンテナーを使用してアプリを構築します。

次の表は、クライアント アプリケーションがさまざまな言語から SQL Server への接続に使用できる接続ライブラリやドライバーを示しています。クライアント アプリケーションはオンプレミスおよびクラウドで実行される SQL Server と共にこれらを使用できます。 Linux、Windows、またはコンテナーでそれらを使って、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics に接続できます。

言語 プラットフォーム その他のリソース ダウンロード はじめに
C# Windows、Linux、macOS Microsoft ADO.NET for SQL Server ダウンロード
C++ Windows、Linux、macOS Microsoft ODBC Driver for SQL Server ダウンロード
Go Windows、Linux、macOS Microsoft SQL Server 用 Go ドライバー インストール 開始するには
Java Windows、Linux、macOS SQL Server 用 Microsoft JDBC ドライバー ダウンロード
Node.js Windows、Linux、macOS SQL Server 用 Node.js ドライバー インストール
PHP Windows、Linux、macOS SQL Server 用 PHP SQL ドライバー ダウンロード
Python Windows、Linux、macOS Python SQL ドライバー インストール オプション:
* pymssql
* pyodbc
Ruby Windows、Linux、macOS SQL Server 用 Ruby ドライバー インストール

データ アクセス フレームワーク

次の表に、クライアント アプリケーションが SQL Server、Azure SQL Database、Azure SQL Managed Instance、または Azure Synapse Analytics で使用できるオブジェクト リレーショナル マッピング (ORM) フレームワークと Web フレームワークの例を示します。 フレームワークは、Linux、Windows、またはコンテナーで使用できます。

言語 プラットフォーム ORM
C# Windows、Linux、macOS Entity Framework
Entity Framework Core
Go Windows、Linux、macOS GORM
Java Windows、Linux、macOS Hibernate ORM
Node.js Windows、Linux、macOS Sequelize ORM
PHP Windows、Linux、macOS Laravel (Eloquent)
Doctrine
Python Windows、Linux、macOS Django
Ruby Windows、Linux、macOS Ruby on Rails

次のステップ