Azure SQL のロゴ

マネージドSQLサーバー Microsoft SQL Server について話す

接続する Azure SQL Excel、Google Sheets、AI、RESTへ

Azure SQL Database または SQL Managed Instance。どちらも同じ SQL Server の方言ですが、ブランド名が異なるため、実際に料金を支払うサービスを選択できます。

一つの接続、あらゆる表面

Azure SQL データの保存先

Query Streams は、Microsoft Excel、Google Sheets、Power BI、MCP 経由の AI アシスタント、および REST エンドポイントから、読み取り専用接続を介して Azure SQL Database と SQL Managed Instance のデータを読み取ります。ネットワーク エージェントは VNet 内の VM 上で実行され、外部にダイヤルアップ接続するため、データベースにはパブリック エンドポイントやファイアウォール エントリは不要です。内部的には通常の T-SQL が使用され、dbo スキーマ、オンプレミスの SQL Server と同じ型処理、SQL 認証、およびセッション プールの残骸のない処理が実現されています。

Azure SQL は、ネットワーク上の Microsoft SQL Server です。 — 標準ドライバーなので、以下のガイドはすべて変更なく適用されます。Azure SQL 固有の部分は接続文字列のみで、以下で説明します。 接続の詳細.

  1. チーム、ベンダー、パートナーの皆様へ
  2. Azure SQL から Excel への変換 Microsoft Excel · Excelアドイン

    Azure SQL のリアルタイム結果をワークシートに直接取り込み、必要に応じて更新できます。対応環境は、デスクトップ版 Excel、Excel Online、Microsoft 365 です。

    Microsoft SQL Server ガイド
  3. Azure SQL から Google スプレッドシートへの変換 Sheetsアドオン

    サイドバーから保存済みのAzure SQLクエリを実行し、結果をシートにドラッグ&ドロップします。共有されている共同作業者は、各自でシートを更新できます。

    Microsoft SQL Server ガイド
  4. NovaにAzure SQLについて聞いてみてください。 Nova AI · テキストからSQLへ

    平易な英語で質問してください。Novaは既にAzure SQLテーブルを認識しており、SQL文を作成して実行し、回答を説明してグラフ化します。クエリを作成する必要も、認証情報を渡す必要もありません。

    Novaの仕組み
  5. Azure SQL からデータ ビューアーへ 結果共有 · チーム、ベンダー、パートナー · 電話、タブレット、デスクトップ

    Azure SQL のリアルタイム結果を、同僚、ベンダー、パートナーなど、誰とでも共有できます。共有されたグリッドはブックマーク可能で、スマートフォン、タブレット、デスクトップなど、どのデバイスで開いても常に最新の状態に戻ります。相手には結果のみが表示され、SQL や認証情報は一切表示されません。

    データビューアの仕組み
  6. アプリとシステム向け
  7. Azure SQL REST API HTTPエンドポイント

    Azure SQLクエリを、認証済みのJSONエンドポイントとして公開します。このエンドポイントは、OpenAPI 3.1仕様に準拠し、Postman、Insomnia、Hoppscotch用の既製コレクションも用意されているため、どのアプリケーションでも呼び出すことができます。データベースポートは開かれません。

    Microsoft SQL Server ガイド
  8. Azure SQL から Power BI へ Power Query M

    生成された Power Query M を Power BI アドバンスト エディターに貼り付けると、レポートは HTTPS 経由で Azure SQL のリアルタイムの結果を読み取ります。ODBC ドライバーもデータベース ポートも必要ありません。

    Power BI の仕組み
  9. Azure SQL から Airtable へ 自動化プラットフォーム

    Azure SQLの行をスケジュールに基づいてAirtableに同期したり、Airtableの自動化スクリプト内で取得したりできます。

    Microsoft SQL Server ガイド
  10. Azure SQL から Baserow へ 自動化プラットフォーム

    Azure SQL から Baserow テーブルへ、REST エンドポイント経由でデータを供給します(セルフホスト環境または Baserow クラウド環境)。

    Microsoft SQL Server ガイド
  11. Azure SQL から SeaTable へ 自動化プラットフォーム

    ファイルをエクスポートしたりデータベースを公開したりすることなく、Azure SQLデータを使用してSeaTableベースを常に最新の状態に保つ。

    Microsoft SQL Server ガイド
  12. Azure SQL から Smartsheet へ 自動化プラットフォーム

    Azure SQLの結果をSmartsheetグリッドにプッシュすることで、計画やレポートが先週のエクスポートデータではなく、ソースシステムから読み込まれるようになります。

    Microsoft SQL Server ガイド
  13. Azure SQL から Anvil へ Anvil Works · アプリプラットフォーム

    Anvil Pythonアプリを、データベース認証情報をアプリに埋め込む代わりに、RESTエンドポイントを介してAzure SQLでバックアップします。

    Microsoft SQL Server ガイド
  14. AIツール向け
  15. Azure SQL MCPサーバー Claude、Cursor、およびMCPクライアント

    AIアシスタントに、正しいSQLを作成するために必要なスキーマを含むAzure SQLへの読み取り専用アクセス権を付与します。チャットに認証情報を含める必要はありません。

    Microsoft SQL Server ガイド
  16. 人々に届けられる
  17. Azure SQL のアラートとレポート Slack · Discord · メール · Webhook

    Azure SQLクエリをスケジュール設定して、結果をSlack、Discord、メール、または署名付きWebhookに送信するか、行数、しきい値、または変化率が設定した値を超えるまでメッセージを保留することができます。

    アラートとレポートの仕組み

仕組み

5つのステップ、受信ファイアウォールの変更は不要

01

VNet内のVMにネットワークエージェントをインストールし、プライベートエンドポイント経由でデータベースにアクセスします。エージェントは外部への接続のみを行うため、受信ルールやパブリックエンドポイントは不要です。

02

Azureポータルからサーバー名(<name>.database.windows.net)を指定してください。ポート番号1433は、変更していない限り省略可能です。

03

読み取りたいデータに対して、SQLログインとSELECT文を使用してください。ここではSQL認証がサポートされています。

04

スキーマを読み込ませましょう。テーブル、列、型、キーはカタログ化されているため、クエリビルダーとNovaは、誰かがT-SQLを記述する前に構造を把握できます。

05

保存すると、Microsoft Excel、Google Sheets、Power BI、MCP、REST のすべてが単一の接続を介してそのデータベースを読み込むか、単一のステートメントで他のソースと結合できます。

機能の詳細解説

Azure SQL が提供するもの

エージェントが接続したときに Azure が認識するもの

Azure SQLは共有サービスであり、誰がアクセスできるかについて一定の制限があるため、どのようなデータが到着するかを正確に指定することが重要です。

  • ログインを試みる前にTCP経由で到達可能性がテストされるため、サーバー名が間違っていたり、パスがブロックされていたりした場合は、ログイン失敗としてAzureに到達するのではなく、ネットワークの問題として処理されます。
  • 接続プーリングは無効になっています。クエリ間でデータベースに対するアイドルセッションは蓄積されません。 これは、サーバーレス層においては、処理が一時停止状態のままになるか、処理が中断されて眠れなくなるかの違いを意味します。
  • Azureファイアウォールによる拒否は、その拒否理由として認識されるため、あなたのアドレスが通知されていないサーバーは、一般的なエラーではなく、ネットワークブロックを報告します。
  • Azure SQLへの接続はすべて暗号化されます。これは、AzureがTLSを必須とし、それ以下のプロトコルを拒否するためです。この保証は、エージェントがAzureに代わって交渉するものではなく、Azure自身が保証するものです。

サーバーレス、そして一時停止後の最初のクエリ

これは、実際に遭遇する前に知っておくべき唯一の難点です。なぜなら、症状は接続不良のように見えますが、実際はそうではないからです。

  • サーバーレスデータベースはアイドル状態になると自動的に一時停止し、それを起動するには接続試行が待機する時間が必要となる。
  • エージェントは接続に30秒、クエリの応答開始に35秒待機します。コールドウェイクの場合は、これを超える可能性があります。
  • 自動再試行機能はないため、長時間の待機後の最初のクエリはタイムアウトし、再度実行する必要がある場合があります。それ以降の処理は正常です。
  • 一時停止されたデータベースは、欠落として報告されるのではなく、一時停止状態として認識されるため、メッセージには実際に何が起こったかが示されます。

SQL Serverですが、Azureに似た2つの注意点があります。

方言、型、スキーマレイアウトは他のSQL Serverと同じであり、それがこのソフトウェアを使用する利点です。ただし、2つの点が異なります。

  • デフォルトのスキーマはdboであり、クロスソース参照にはそのスキーマが含まれます。 — azure_sql.dbo.orders。
  • Windows認証およびMicrosoft Entra認証はサポートされていません。エージェントはSQLログインを提示します。
  • Azure SQL Database には独自のクロスデータベース T-SQL がないため、これらのホストでは同じ接続で 2 番目のデータベースをクエリするオプションは提供されません。これはクロスソース クエリには全く影響しません。 これらは別々の接続を介してクエリ ストリームによって組み立てられるため、Azure SQL データベースを他のデータベースに結合することは正常に機能します。
  • マネージドインスタンスは、ホスト名のサフィックスを共有し、接続方法も同じです。専用のカードはなく、マネージドインスタンス専用の動作もありません。
-- マネージド サービスに対する通常の T-SQL、読み取り専用 SELECT TOP (50) c.Name, COUNT(o.OrderId) AS Orders, SUM(o.Amount) AS Revenue FROM dbo.Customers AS c JOIN dbo.Orders AS o ON o.CustomerId = c.CustomerId WHERE o.PlacedAt >= DATEADD(day, -30, SYSUTCDATETIME()) GROUP BY c.Name ORDER BY Revenue DESC;

すべてのデータベースコネクタで共有されます

すべてのデータベースコネクタに当てはまる

  • 発信専用 エージェントは、クエリ ストリームへの暗号化された接続を 1 つだけ開きます。受信ポートの転送も、VPN も、IP 許可リストも不要で、データベースに関する情報がインターネットに公開されることは一切ありません。
  • 認証情報はそのまま保持されます データベースのユーザー名とパスワードは、エージェントをインストールしたマシン上に存在します。Query Streamsはこれらを受け取ることはなく、単独ではデータベースにアクセスできません。
  • 読み取り専用、強制 一度に1つのステートメントのみ、SELECT文とその関連文のみ。書き込みは、誰かが設定した権限に頼るのではなく、サーバーに送信される前に自分のマシン上で拒否されます。
  • エージェントは好きなだけデプロイできます サイト、リージョン、クラウドごとに1つずつ。ユーザーが確認できるすべてのデータソースは単一のドロップダウンリストに表示されるため、どのエージェントがどのデータをホストしているかを誰も知る必要はありません。

クエリが保存されると、次のようになります。

  • SQLではなく、機能を共有する。 同僚や外部パートナーが、クエリの背後にあるステートメントを見ることなく、クエリを実行してフィルターを変更できてしまう。
  • どちらの方向からでもフィルターをかける それらを@変数として自分で宣言するか、コネクタにWHERE句に既に存在するリテラル値を検出させて、ドロップダウンとして提供させます。
  • どこからでも読める Microsoft Excel、Google Sheets、Power BI、REST API、MCP上のAIアシスタント、クエリビルダー、Novaはすべて、同じ保存済みクエリを読み取ります。
  • 複数同時に実行 — 5つの保存済みクエリを5つのワークシートタブに表示し、結果の規模に関わらず同時にストリーミングします。
  • すでに接続済みの他のものにも接続してください — 別のデータベース、ビジネスAPI、またはファイルフォルダを、1つの読み取り専用ステートメントで取得します。

クロスソースSQL

Azure SQL を他のデータと結合する

1つのステートメントで、Azure SQLと他の接続を同時に処理できます。各ソースは実行可能な部分のみを実行し、結果をストリームで返送します。結合処理は中央で行われるため、ソース同士が直接通信したり、データがコピーされたりすることはありません。

接続数3件・エージェント数3名

Azure SQL マネージドSQLサーバー
PostgreSQL 関係エンジン
ストライプ 支払いと請求

一つの声明

-- コピーなし、マージなし、スケジュールなし
セレクト   c.region、COUNT(*) AS orders、SUM(i.amount_due) AS invoiced
フロム     azure_sql.dbo.orders1    f
ジョイン     pg_crm.一般顧客2 c ON c.id = f.customer_id
ジョイン     請求する.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.領域
ORDER BY 請求書記載のDESC;

接続、スキーマ、テーブルの3つの部分から構成され、接続名はユーザーが自由に設定できます。これは例示用の列であり、テーブルはユーザー自身が設定します。読み取り専用はすべての要素に適用され、SELECT、WITH、EXPLAINのみが使用可能で、1つのクエリで1つのソースが渡せるデータ量には上限があります。 フェデレーションクエリの仕組み

接続の詳細

Azure SQL に必要なもの

ホスト
<server>.database.windows.net — Azure SQL Database と SQL Managed Instance で同じ接尾辞
デフォルトポート
1433、デフォルトの場合は接続文字列から省略されます
ドライバ
Microsoft.Data.SqlClient 6.0.1
認証
SQL認証。Microsoft Entra ID、マネージドID、Windows認証はサポートされていません。
暗号化
AzureはTLSを必須とし、暗号化されていない接続を拒否するため、トラフィックは暗号化されます。エージェントは証明書チェーンを検証しません。
プーリング
意図的にオフにする――クエリの合間にデータベースに対してアイドル状態になるものは何もない
タイムアウト
TCP到達可能性チェックに5秒、接続に30秒、クエリの応答開始に35秒かかります。
サーバーレス
コールドウェイクは接続タイムアウトを超えて継続する可能性があり、自動再試行機能がないため、長時間の待機後の最初のクエリは2回実行する必要がある場合があります。
権限
読みたい内容に対してSELECT文を含むSQLログイン
デフォルトスキーマ
dbo、これはフェデレーション参照が持つものです

ここでのセキュリティ上の利点は、オンプレミスの SQL Server コネクタを Azure に移行した際に得られたメリットと同じです。エージェントは VNet 内に配置され、外部への接続を 1 つだけ開くため、データベースはパブリック ネットワークへのアクセスを無効にし、ファイアウォールには変更される可能性のあるオフィス アドレスを登録せず、常に待機状態になります。何もコピーされず、何もスケジュールされません。クエリは、誰かが要求したときにのみ実行されます。

サーバーレスは、曖昧にされるのではなく、意図的に取り上げられています。自動一時停止はユーザーが意図的に選択するコスト機能であり、その結果として、しばらく停止した後の最初のクエリが、再試行なしで30秒の接続タイムアウトを超える可能性があります。このことを事前に知っていれば、不可解な障害は想定内の障害となります。また、プーリングが無効になっているということは、クエリ ストリームが一時停止中のデータベースをアクティブに保ち、課金対象にしていないことも意味します。

Azure SQL Database は T-SQL で自身のデータベースを結合することはできません。これはこのコネクタの制限ではなく、サービスの制限です。クエリ ストリームのクロス ソース クエリは別々の接続で組み立てられるため、Azure SQL データベースは、PostgreSQL アプリケーション データベース、CSV フォルダー、または課金 API に、読み取り専用のステートメント 1 つで結合されます。これは、SQL Server が dbo を保持しているため、azure_sql.dbo.orders と記述されます。

ベンダー資料: azure.microsoft.com

よくある質問

Azure SQLに関する質問

Azure SQL のデータをクエリ ストリーム経由で読み取れるツールはどれですか?

Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、スケジュールされたアラートやレポートなど、すべてを1つの接続で利用できます。データベースに一度接続すれば、すべてのインターフェースが同じ読み取り専用接続を読み取ることができます。ツールごとの設定やデータの複製は一切不要です。

Azure SQLデータベースへのファイアウォールポートを開放する必要がありますか?

いいえ。Query Streams Network Agentはネットワーク内で動作し、暗号化された単一の送信接続を開きます。受信トラフィックを監視するものはなく、VPNも不要で、データベースは既存のファイアウォールルールを維持します。

クエリ ストリームは Azure SQL のデータを変更できますか?

いいえ。エージェントは実行時に読み取り専用を強制します。つまり、一度に1つのステートメント(SELECT文など)のみを実行します。認証情報はエージェント上に保持され、クエリ ストリームに送信されることはありません。

Query StreamsがAzure SQLに接続するために必要なものは何ですか?

到達可能なホスト、ロール、およびそのパスワード - エージェントがドライバーを運ぶため、データベースには何もインストールされません。ホスト: <server>.database.windows.net - Azure SQL Database と SQL Managed Instance で同じサフィックスです。デフォルトポート: 1433。デフォルトの場合は接続文字列から省略されます。ドライバー: Microsoft.Data.SqlClient 6.0.1。認証: SQL 認証。Microsoft Entra ID、マネージド ID、および Windows 認証はサポートされていません。

Azure SQL を同じクエリ内で別のデータベースに結合することはできますか?

はい、それはフェデレーションクエリです。1つのステートメントで、接続.スキーマ.テーブルとして記述されたAzure SQLと他の接続を同時に参照できます。各ソースは実行可能な部分のみを実行し、結果をストリームで返します。結合は中央で行われるため、ソース同士が接続することはなく、何もコピーまたはスケジュールされません。読み取り専用はすべての部分(SELECT、WITH、EXPLAINのみ)に適用され、1つのクエリで1つのソースが渡せるデータ量には上限があります。フェデレーションクエリはプラン機能です。フェデレーションクエリのページには、現在のソースとサイズの制限が表示されます。

Azure SQLへの接続は、Microsoft SQL Serverへの接続と異なりますか?

接続文字列のみが必要です。Azure SQL は Microsoft SQL Server のワイヤプロトコルを使用するため、フィルタ、スケジュール設定、共有、Excel および Google Sheets アドオン、MCP サーバーはすべて同じように動作します。Azure SQL カードには、プロバイダが想定するホスト、ポート、SSL 設定があらかじめ入力されています。

Azure SQL から Excel への変換ガイドはありますか?

はい、これはMicrosoft SQL Serverのガイドであり、記載されているとおりAzure SQLにも適用できます。Azure SQLはMicrosoft SQL Serverのワイヤプロトコルを使用するため、Azure SQLからExcel、Azure SQLからGoogle Sheets、その他のすべての宛先への接続手順は同じです。Azure SQL固有の部分は接続文字列のみですが、Azure SQLカードが自動的に入力してくれます。

Azure SQL は作業が行われる場所に配置する

エージェントをインストールし、データベースを指定して、保存先を選択してください。

読み取り専用 発信専用 認証情報はエージェントに保持されます