💻

SQL Server をこれから勉強する人向けの Microsoft Learn コレクション 解説

2020/12/02に公開

この記事について

この記事は、Azure SQL & Synapse Analytics Advent Calendar 2020 3 日目の記事です。

この記事では、Microsoft 社が無料で提供している、オンライン学習サイトの Microsoft Learn のコンテンツより、SQL Server をこれから勉強し始める/勉強し直す 人向けにオススメなコンテンツについて紹介しています。
Microsoft Learn は、Microsoft Azure をはじめ、Microsoft 365 や Power Platform など、Microsoft 社が提供するさまざまなサービスや技術について、その使い方やナレッジなどを学ぶことができるサイトです。コンテンツには、ハンズオンコンテンツも用意されており、実際に手を動かしながら学習を進めることもできるようになっています。

特に、Microsoft Azure 関連のコンテンツでは、Microsoft Azure のハンズオンコンテンツを含め、ほとんどのコンテンツが完全無料で利用できるものとなっています。

今回は、Microsoft Learn の全コンテンツの中から、SQL Server をこれから勉強する人向けにおすすめのコンテンツを、解説を交えて紹介していきます。

コンテンツ一覧

この記事で紹介するコンテンツについては、以下の Microsoft Learn コレクションにまとめてあります。
一覧で確認したい方は、併せてご確認ください。

コンテンツ解説

初学者向け

Deploy SQL Server in a virtual machine (英語)

Microsoft Azure の IaaS である、Azure Virtual Machines 環境上に SQL Server をインストールする方法について解説しています。
オンプレミス環境に SQL Server をインストールする方法とほぼ同じ内容で学習を進められますので、一番最初はこれをみるといいと思います。

Deploy Azure SQL Database (英語)

こちらは、Microsoft Azure 上で提供されている、SQL Server の PaaS に該当する、Azure SQL Databaseの作成について解説しています。
オンプレミスや IaaS で利用する SQL Server との違いや、利用するメリット、PaaS 専用のオプションや制約などについて学習することができます。

Configure database authentication and authorization (英語)

SQL Server や SQL Database の環境を構築したのは良いですが、実際にデータベースとして利用するにあたって避けて通れないモノが ID認証です。
こちらのコンテンツでは、SQL Server や Azure SQL Database に対して、同じ Microsoft 社が提供している認証基盤/サービスである Active Directory (AD) あるいは Azure Active Directory (AAD) を接続して、より安全に SQL Server や Azure SQL Database を利用する方法について学ぶことができます。

SQL Server on Linux の概要

SQL Server 2017 から、新しく SQL Server on Linux が登場しました。
これまでの「SQL Server は Windows でしか動かないもの」という概念を払拭し、Red Hat Enterprise Linux (RHEL)/CentOS や Ubuntu といった Linux 環境上にも SQL Server をインストールして利用することができるようになっています。
現在では、Docker コンテナーや Kubernetes クラスター上でも SQL Server は利用できるようになっていますが、それらすべてを可能とさせた SQL Server on Linux というものについて学ぶことができるコンテンツです。

Linux コンテナー上で SQL Server 2019 を実行する

SQL Server on Linux、つまり Linux 環境上で動くということは、Docker コンテナー上でも動かすことができるということです。
このコンテンツでは、Docker コンテナー上で、SQL Server on Linux を動かすための方法について解説しています。
なお、Docker Compose についての説明もあります。docker-compose.yaml ファイルについては、以下の GitHub リポジトリでも公開しています。

中級者向け

Protect data in-transit and at rest (英語)

SQL Server や Azure SQL Database には、秘匿化されるべきデータが保管されます。ただし、データを安全に管理するには、データの暗号化ファイアウォールなど、さまざまな施策が必要になります。
このコンテンツでは、データの暗号化やマスキング、Azure KeyVault の利用や Azure SQL Database で利用できるファイアウォールについて学ぶことができます。

Implement compliance controls for sensitive data (英語)

データベースのコンプライアンス的な内容について学ぶことができるコンテンツです。
データベースの中に保存されているデータの種類は様々であり、機密性の高いデータや秘匿化が必須のデータなども含まれます。
このコンテンツでは、SQL Server 2019 以降で追加された sys.sensitivevity_classifcations カタログビューや Azure SQL Database で提供されている Advanced Threat Protection (ATP) 機能など、SQL Server / Azure SQL Database 内に格納されているデータにコンプライアンス制御を設定する方法について学習できます。

Configure SQL Server resources for optimal performance (英語)

「データベースのパフォーマンスを向上させる方法=クエリのチューニング」という思想になりがちですが、データベースのパフォーマンスを向上させる方法は、クエリのチューニングだけではありません。
適切なコンピューティング、ストレージ構成、ユースケースに合致したデータベース構成を選択することでも、データベースのパフォーマンスを向上させることができます。
このコンテンツでは、Azure SQL Database において、各ワークロードやユースケースに合致する、最適なコンピューティングリソースやストレージ構成を選択する方法について学習できます。

Describe performance monitoring (英語)

このコンテンツでは、SQL Server または Azure SQL Database のパフォーマンスを監視および測定するための Azure のツールオンプレミスのツールを比較しながら学習することができます。
SQL Server を実際に運用していくにあたって、パフォーマンス監視という課題は避けては通れない問題です。
データベースから得られるメトリック情報や統計情報などをもとに、潜在的なパフォーマンスの課題を発見し、改善に向けた重要な指標を決定するための方法について、学ぶコンテンツになっています。

Explore causes of performance issues (英語)

データベースのパフォーマンス改善の施策としてクエリチューニングを行うにも、まずは、問題のあるクエリを特定する 必要があります。
SQL Server 2016 以降、および Azure SQL Database では、問題のあるクエリを追跡する際は クエリストアを使用します。
このコンテンツでは、SQL Server のクエリストアについて学習することができます。

Describe SQL Server query plans (英語)

クエリストアを利用する以外にも、SQL Server では動的管理オブジェクトというものでクエリのパフォーマンス情報を抽出することができます。
このコンテンツでは、動的管理オブジェクトについて学習し、インデックスの変更や新規作成が必要かどうかを判断する方法について学ぶことができます。

SQL Server のパフォーマンスを維持するためには、インデックス統計情報メンテナンスは欠かせません。
このコンテンツでは、Azure SQL Database で提供されている自動チューニング機能について学習します。

Discussion