次の方法で共有


アプリケーション開発の概要 - Azure SQL データベース および Azure SQL Managed Instance

適用対象:Azure SQL DatabaseAzure SQL マネージド インスタンスFabric の SQL データベース

この記事では、Azure 内のデータベースに接続するコードを記述するときの基本的な考慮事項について説明します。 この記事は、Azure SQL Database と Azure SQL Managed Instance に当てはまります。

言語とプラットフォーム

さまざまなプログラミング言語とプラットフォームを使用して、Azure SQL Database に対する接続とクエリを実行することができます。 データベースに接続するために使用できるサンプル アプリケーションを見つけることができます。

cheetahsql-cliVS Code などのオープンソース ツールを使用できます。 さらに、Azure SQL Database は、Visual StudioSQL Server Management Studio などの Microsoft ツールと連携しています。 また、Azure portal、PowerShell、REST API を使用して、生産性を向上させることもできます。

認証

Azure SQL Database へのアクセスは、ログインとファイアウォールで保護されます。 Azure SQL Database と SQL Managed Instance では、SQL 認証と Microsoft Entra ID (旧称 Azure Active Directory) を使用した認証 両方のユーザーとログインをサポートしています。 Microsoft Entra ログインは、SQL Managed Instance で一般提供されており、Azure SQL Database 用パブリック プレビュー段階にあります。

データベース アクセスとログインの管理について詳しくは、こちらをご覧ください。

クライアント接続

クライアント接続ロジックの中で、タイムアウトが 30 秒になるように既定値をオーバーライドします。 既定では 15 秒ですが、インターネットに依存する接続の場合、それでは短すぎます。

接続プールを使用している場合は、プログラムでアクティブに使用されておらず、再利用の準備をしていない場合は、接続を閉じてください。

実行時間の長いトランザクションは避けてください。インフラストラクチャまたは接続のエラーにより、トランザクションがロールバックされる可能性があるためです。 可能であれば、トランザクションを複数のより小さなトランザクションに分割し、バッチ処理を使用してパフォーマンスを向上させます

次の言語を使用して、アプリケーションを Azure SQL リソースに接続できます。

Azure SQL リソースに対する Microsoft Entra 認証を構成できます。 詳しくは、次の記事をご覧ください。

回復性

Azure SQL Database はクラウド サービスであり、基になるインフラストラクチャで、またはクラウド エンティティ間の通信で発生する一時エラーが想定される場合があります。 Azure SQL Database は推移的なインフラストラクチャの障害に対する回復性がありますが、ネットワーク インフラストラクチャの障害が接続に一時的に影響する可能性があります。 SQL Database への接続中に一時エラーが発生した場合は、コードで呼び出しを再試行する必要があります。

再試行ロジックは、複数のクライアントが同時に再試行するサービスに負荷をかけないように、バックオフ ロジックを使用して、遅延後に常に再試行することをお勧めします。 再試行ロジックは、SQL Database クライアント プログラムのエラー メッセージによって異なります。

遅延後の再試行ロジックの詳細については、次を参照してください。

Azure SQL Database の計画メンテナンス イベントに備える方法の詳細については、「Azure SQL Database での Azure メンテナンス イベントの計画」を参照してください。

ネットワークに関する考慮事項

  • クライアント プログラムをホストするコンピューターのファイアウォールで、ポート 1433 での発信 TCP が許可されていることを確認します。 詳細情報: Azure SQL Database の IP ファイアウォール規則
  • クライアントが Azure 仮想マシン (VM) で実行されているときに、クライアント プログラムが SQL Database に接続する場合、VM で特定のポートの範囲を開く必要があります。 詳細情報: ADO.NET 4.5 の 1433 を超えるポート
  • Azure SQL Database へのクライアント接続はプロキシを使用せずに、データベースに直接やり取りする場合があります。 1433 以外のポートが重要になります。 詳細については、ADO.NET 4.5 の 1433 を超える接続アーキテクチャとポートについて説明します。
  • SQL Managed Instance のインスタンスに対するネットワーク構成については、SQL Managed Instance のネットワーク構成に関する記事を参照してください。

SQL DatabaseSQL Managed Instance の機能すべてを確認します。

作業を開始するには、Azure SQL Database および Azure SQL Managed Instance のガイドを参照してください。