演習 - 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 で接続する
ローカル デバイスで Azure Data Studio を開きます。 初めて開くときに、接続を確立するように求められます。
プレビュー機能を有効にするかどうかの確認を求められたら、[はい] を選択します。
このウィンドウが表示されない場合、または途中で別の接続を追加したくなった場合、[サーバー] バーの [新しい接続] ボタンを選択します。 次の例では、SQL Server 接続の外観のプレビューも表示されます。 この演習では、SQL Server には接続しません。
Azure SQL Database の論理サーバーに接続します。 次の値を使用して接続の詳細を完了し、[接続] を選択します。
パラメーター 値 接続の種類 Microsoft SQL Server [サーバー] 論理サーバー名を入力します 認証の種類 SQL ログイン ユーザー名 cloudadmin パスワード cloudadmin アカウントのパスワードを入力します パスワードを記憶する オン データベース AdventureWorks サーバー グループ <Default>
のままにします名前 (省略可能) 空白のままにします [接続] タブの [サーバー] の下に、Azure SQL Database の接続が表示されるようになります 次の図の SQL Server の接続は、比較のためにのみ示されています。
Azure Data Studio でクエリを実行する方法は SSMS と似ています。 データベース名またはサーバー名を右クリックし、[新しいクエリ] を選択します。
Azure SQL Database の場合、完全なサーバーを取得していないため、データベース コンテキストを変更するための USE [DatabaseName] はサポートされていません。 接続を変更し、クエリを実行するデータベースに明示的に接続するか、ドロップダウンを使用する必要があります。
master
の横にあるドオプションを選択してAdventureWorks
データベースのコンテキストに変更し、SELECT @@VERSION
を実行します。この演習で後ほど、結果が SQL Server で取得されるものと異なる理由について説明します。
Azure Data Studio で簡単なファイル アクセスを設定する
接続が済んだので、スクリプトや Jupyter ノートブックに簡単にアクセスする方法が必要です。 Jupyter ノートブックは、実行可能コードとテキストを統合する方法です。 Jupyter ノートブックに慣れていなくても、すぐにわかるようになります。
Azure Data Studio で [ファイル]>[フォルダーを開く] を選択します。
この演習用のリソースの ZIP ファイルを抽出した場所に移動します。 前提条件に従った場合、パスは C:\Users\<machine-username>\mslearn-azure-sql-fundamentals のようになります。 そこに移動したら、[フォルダーの選択] を選択します。 選択が求められた場合、[はい、作成者を信頼します] を選択します。
次に、左側のタスク バーの [エクスプローラー] アイコンを選択して、モジュール内のファイルを参照します。 このフォルダーには、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 に新しく追加されたものを確認します。
SSMS で Azure SQL Database 論理サーバーに接続します (まだ接続していない場合)。
AdventureWorks
データベースを右クリックし、[新しいクエリ] を選択します。よく知られているシステム関数
@@VERSION
を実行して、デプロイしたバージョンを確認します。SELECT @@VERSION
結果は、SQL Server とは少し異なります。 これがバージョンがない Azure SQL であることがわかります。 Azure SQL Database には、SQL Server の最新リリースと一致する最新の変更が含まれています。 ただし、システム関数
@@VERSION
を使用することは、SQL Server の "クエリを実行" できることを確認するための一般的な方法です。返される数値に基づいて、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');
結果は 5 になります。SQL Managed Instance や SQL Server Enterprise ではなく Azure SQL Database を展開したので、これは当然の結果です。 Azure 仮想マシンでの SQL Server に対する特別な番号はありません。 この番号は、仮想マシンにインストールしたエディションに対応します。 Personal または Desktop Engine は、SQL Server では使用されなくなった以前のエディションです。
カタログ ビューの
sys.databases
とsys.objects
を調べます。 通常は、これらのビューを調べて、システム データベースのインストールと状態、およびデータベース内のシステム オブジェクトを確認します。SELECT * FROM sys.databases; SELECT * FROM sys.objects;
最初の結果セットには、システム データベースの
msdb
、tempdb
、model
が記載されていません。master
とユーザー データベースのみが一覧表示されます。 Azure SQL 論理サーバー内のmaster
データベースは、SQL Server にインストールされている物理master
データベースと同じではありません。 Azure SQL Managed Instance では、他の SQL Server インスタンスと同じ通常のシステム データベースのセットが表示されます。ただし、
sys.objects
は通常の SQL Server インスタンスに似ています。 その事実は、サンプルAdventureWorksLT
データベースのシステム テーブル、内部テーブル、ユーザー オブジェクトに当てはまります。すべてのスケジューラーがオンラインになっていて、2 仮想コア モデルでデプロイしたことを考慮して、予想される利用可能な CPU が検出されていることを確認します。
SELECT * FROM sys.dm_os_schedulers where STATUS = 'VISIBLE ONLINE';
2 つの
VISIBLE ONLINE
スケジューラが表示されるのは、SQL データベースが展開されている SQL Server インスタンスで 2 つの仮想コアが使用可能な場合に想定されることです。SQL Server のデプロイでは、通常、
sys.dm_process_memory
などの DMV を調べて、CPU、メモリ、worker の制限を確認できます。 ユーザーはデータベースをサポートするホストの詳細を公開したり制御したりしないため、この DMV は Azure SQL Database ではサポートされません。 DMVsys.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;
SQL Server のデプロイを確認する一般的な方法は、アクティブな要求の一覧を調べることです。 SQL Server と同様に、
sys.dm_exec_requests
を使用して、現在実行中の SQL 要求を表示できます。SELECT * FROM sys.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 の対応するノートブック ファイルで結果を確認できます。