演習 - Azure SQL Database を検証する

完了

これで、Azure SQL が SQL Server Management Studio (SSMS) にどのように表示されるかを確認したので、Azure Data Studio と呼ばれるオープンソース ツールを調べることができます。 Azure Data Studio では、オンプレミスの SQL Server、Azure SQL、Azure Database for PostgreSQL などの Azure Data Services を操作するために、軽量のエディターや他のツールが提供されています。 慣れ親しむための簡単なツアーを開始してください。

Azure Data Studio で接続する

  1. ローカル デバイスで Azure Data Studio を開きます。 初めて開くときに、接続を確立するように求められます。

    プレビュー機能を有効にするかどうかの確認を求められたら、[はい] を選択します。

    Azure Data Studio の開始ビューのスクリーンショット。

    このウィンドウが表示されない場合、または途中で別の接続を追加したくなった場合、[サーバー] バーの [新しい接続] ボタンを選択します。 次の例では、SQL Server 接続の外観のプレビューも表示されます。 この演習では、SQL Server には接続しません。

    Azure Data Studio で新しい接続を作成する方法のスクリーンショット。

  2. Azure SQL Database の論理サーバーに接続します。 次の値を使用して接続の詳細を完了し、[接続] を選択します。

    パラメーター
    接続の種類 Microsoft SQL Server
    [サーバー] 論理サーバー名を入力します
    認証の種類 SQL ログイン
    ユーザー名 cloudadmin
    パスワード cloudadmin アカウントのパスワードを入力します
    パスワードを記憶する オン
    データベース AdventureWorks
    サーバー グループ <Default> のままにします
    名前 (省略可能) 空白のままにします
  3. [接続] タブの [サーバー] の下に、Azure SQL Database の接続が表示されるようになります 次の図の SQL Server の接続は、比較のためにのみ示されています。

    Azure Data Studio の SQL Server と SQL Database を比較するスクリーンショット。

  4. Azure Data Studio でクエリを実行する方法は SSMS と似ています。 データベース名またはサーバー名を右クリックし、[新しいクエリ] を選択します。

  5. Azure SQL Database の場合、完全なサーバーを取得していないため、データベース コンテキストを変更するための USE [DatabaseName] はサポートされていません。 接続を変更し、クエリを実行するデータベースに明示的に接続するか、ドロップダウンを使用する必要があります。 master の横にあるドオプションを選択して AdventureWorks データベースのコンテキストに変更し、SELECT @@VERSION を実行します。

    Azure Data Studio でのクエリのスクリーンショット。

    この演習で後ほど、結果が SQL Server で取得されるものと異なる理由について説明します。

Azure Data Studio で簡単なファイル アクセスを設定する

接続が済んだので、スクリプトや Jupyter ノートブックに簡単にアクセスする方法が必要です。 Jupyter ノートブックは、実行可能コードとテキストを統合する方法です。 Jupyter ノートブックに慣れていなくても、すぐにわかるようになります。

  1. Azure Data Studio で [ファイル]>[フォルダーを開く] を選択します。

    Azure Data Studio の [フォルダーを開く] のスクリーンショット。

  2. この演習用のリソースの ZIP ファイルを抽出した場所に移動します。 前提条件に従った場合、パスは C:\Users\<machine-username>\mslearn-azure-sql-fundamentals のようになります。 そこに移動したら、[フォルダーの選択] を選択します。 選択が求められた場合、[はい、作成者を信頼します] を選択します。

  3. 次に、左側のタスク バーの [エクスプローラー] アイコンを選択して、モジュール内のファイルを参照します。 このフォルダーには、Azure SQL の基礎に関するラーニング パスに必要なすべてのリソースが含まれているので、ダウンロードしてこの情報を構成する必要があるのは 1 回だけです。

    モジュールとラーニング パスの演習全体を通して、さまざまなポイントで、ファイル名拡張子が .ipynb の "ノートブック" ファイルを開くよう指示されます。 ここからノートブックに直接アクセスできます。 または、[Notebook] アイコンのタブからアクセスすることもできます。

デプロイを検証する

SQL のインスタンスをデプロイした後は、通常、クエリを実行してデプロイを検証します。 Azure SQL では、これらのクエリの一部が SQL Server と異なります。 この手順では、何が SQL Server を変更したか、変更の内容、および新機能について説明します。

この演習を行うには、2 つのオプションがあります。

  • SSMS での T-SQL
  • Azure Data Studio での SQL ノートブック

どちらの演習にも同じコマンドとコンテンツが含まれているため、お好きなオプションを選択できます。

オプション 1: SSMS での T-SQL

このオプションでは、システム関数に対するいくつかの一般的なクエリ、動的管理ビュー (DMV)、および SSMS で展開後に使用できるカタログ ビューを確認します。 SQL Server と動作が同じもの、異なるもの、Azure SQL に新しく追加されたものを確認します。

  1. SSMS で Azure SQL Database 論理サーバーに接続します (まだ接続していない場合)。

  2. AdventureWorks データベースを右クリックし、[新しいクエリ] を選択します。

  3. よく知られているシステム関数 @@VERSION を実行して、デプロイしたバージョンを確認します。

    SELECT @@VERSION
    

    SELECT @@VERSION 関数の結果のスクリーンショット。

    結果は、SQL Server とは少し異なります。 これがバージョンがない Azure SQL であることがわかります。 Azure SQL Database には、SQL Server の最新リリースと一致する最新の変更が含まれています。 ただし、システム関数 @@VERSION を使用することは、SQL Server の "クエリを実行" できることを確認するための一般的な方法です。

  4. 返される数値に基づいて、Azure SQL のデプロイの特定の種類を決定します。

    • 1:Personal または Desktop Engine
    • 2:Standard
    • 3:Enterprise
    • 4:Express
    • 5:SQL Database
    • 6:SQL Data Warehouse
    • 8:SQL Managed Instance

    予想される結果になるかどうかを確認するには、次の T-SQL コマンドを実行します。

    SELECT SERVERPROPERTY('EngineEdition');
    

    Azure SQL デプロイの結果のスクリーンショット。

    結果は 5 になります。SQL Managed Instance や SQL Server Enterprise ではなく Azure SQL Database を展開したので、これは当然の結果です。 Azure 仮想マシンでの SQL Server に対する特別な番号はありません。 この番号は、仮想マシンにインストールしたエディションに対応します。 Personal または Desktop Engine は、SQL Server では使用されなくなった以前のエディションです。

  5. カタログ ビューの sys.databasessys.objects を調べます。 通常は、これらのビューを調べて、システム データベースのインストールと状態、およびデータベース内のシステム オブジェクトを確認します。

    SELECT * FROM sys.databases;
    SELECT * FROM sys.objects;
    

    sys.databases と sys.objects の結果のスクリーンショット。

    最初の結果セットには、システム データベースの msdbtempdbmodel が記載されていません。 master とユーザー データベースのみが一覧表示されます。 Azure SQL 論理サーバー内の master データベースは、SQL Server にインストールされている物理 master データベースと同じではありません。 Azure SQL Managed Instance では、他の SQL Server インスタンスと同じ通常のシステム データベースのセットが表示されます。

    ただし、sys.objects は通常の SQL Server インスタンスに似ています。 その事実は、サンプル AdventureWorksLT データベースのシステム テーブル、内部テーブル、ユーザー オブジェクトに当てはまります。

  6. すべてのスケジューラーがオンラインになっていて、2 仮想コア モデルでデプロイしたことを考慮して、予想される利用可能な CPU が検出されていることを確認します。

    SELECT * FROM sys.dm_os_schedulers where STATUS = 'VISIBLE ONLINE';
    

    sys.dm_os_schedulers の結果のスクリーンショット。

    2 つの VISIBLE ONLINE スケジューラが表示されるのは、SQL データベースが展開されている SQL Server インスタンスで 2 つの仮想コアが使用可能な場合に想定されることです。

  7. SQL Server のデプロイでは、通常、sys.dm_process_memory などの DMV を調べて、CPU、メモリ、worker の制限を確認できます。 ユーザーはデータベースをサポートするホストの詳細を公開したり制御したりしないため、この DMV は Azure SQL Database ではサポートされません。 DMV sys.dm_user_db_resource_governance を使用し、デプロイされている SQL データベースの容量と制限を確認できます。 Azure SQL Managed Instance で sys.dm_instance_resource_governance を使用することもできます。

    次のクエリを実行し、結果を確認します。 結果を、実際の価格レベル、およびデプロイされているレベルについてドキュメントに記載されている制限と比較します。 slo_name は、デプロイ オプション、サービス レベル、ハードウェア、およびコンピューティング量を示すサービス レベル目標 (SLO) です。 さらに、Azure SQL Database では他のリソース制限 (メモリなど) に Windows ジョブ オブジェクトが使用されるため、sys.dm_os_job_object DMV を使用して、デプロイに使用できるリソースを確認することができます。

    SELECT * FROM sys.dm_user_db_resource_governance;
    

    リソース ガバナンスの制限を示す結果のスクリーンショット。

  8. SQL Server のデプロイを確認する一般的な方法は、アクティブな要求の一覧を調べることです。 SQL Server と同様に、sys.dm_exec_requests を使用して、現在実行中の SQL 要求を表示できます。

    SELECT * FROM sys.dm_exec_requests;
    

    dm_exec_requests を示す結果のスクリーンショット。

    Azure SQL Database に sys.dm_exec_requests を使用することは、SQL Server または SQL Managed Instance での使用とは異なります。 この DMV では、バックグラウンド タスク、または master と表示されるデータベース コンテキストを持たないバックグラウンド タスクなど、データベースに関連するアクティブな要求のみが表示されます。 この動作は、Azure SQL Database の展開の性質によるものです。

オプション 2: Azure Data Studio での SQL ノートブック

このオプションでは、ノートブック VerifyDeployment.ipynb を使用します。 GitHub リポジトリの 02-DeployAndConfigure\verifydeployment\VerifyDeployment.ipynb、または前にダウンロードした zip ファイルの下にあります。 Azure Data Studio でそのファイルを参照して演習のこの部分を完了し、ここに戻ります。 同じフォルダーには、Azure SQL Managed Instance および SQL Server 2019 に対する同じクエリの結果が含まれる追加のノートブックもあります。

何らかの理由で演習を完了できない場合は、GitHub の対応するノートブック ファイルで結果を確認できます。