NOBTAの気ままにITブログ

Azure全般 / SQL Serverに関する情報を発信していきます。

【DP-300を公開情報のみで合格を目指している人は必読!】DP-300 (Administering Relational Databases on Microsoft Azure) 合格に向けた勉強方法


スポンサーリンク

DP-300 (Administering Relational Databases on Microsoft Azure) に合格すると「Microsoft Certified: Azure Database Administrator Associate」の認定を受けることができます。

今回も可能な限りコストを掛けず、DP-300合格に向けた勉強方法について紹介したいと思います。

 

 

DP-300合格に向けた勉強方法について

1) DP-300 の試験範囲の確認

DP-300の公式試験サイトの「評価されるスキル」-「試験スキルのアウトラインをダウンロード」を選択し、試験範囲の詳細が記載された内容(英語)を確認します。

 

 

f:id:nobtak:20200726104528p:plain

 

f:id:nobtak:20200726104412p:plain

 

説明が英語で記載されているので、頑張って日本語訳にしてみます。

※ 本日本語訳は、2021年5月時点のものであるため、最新の情報については、「試験スキルのアウトラインをダウンロード」を参照ください。

 

■ データ プラットフォーム リソースを計画して実装します(15-20%)

手動によりリソースを展開する。

  • 選択したプラットフォームにデータベース製品を展開する。
  • カスタマイズされた展開テンプレートを構成する。
  • ハイブリッドとIaaSへパッチとアップデートを適用する。

特定の要件に基づいて、適切なデータベース製品を推奨する。

  • 展開の要件を評価する。
  • 利用可能なデータベース製品の機能上の利点/影響を評価する。
  • 利用可能なデータベース製品のスケーラビリティを評価する。
  • 利用可能なデータベース製品の 高可用性/災害復旧 を評価する。
  • 利用可能なデータベース製品のセキュリティ面を評価する。

スケールとパフォーマンスのためのリソースを構成する。

  • Azure SQLデータベース/エラスティックプールのためのスケールとパフォーマンスを構成する。
  • Azure SQLマネージドインスタンスのためのスケールとパフォーマンスを構成する。
  • Azure 仮想マシン上の SQL Server のためのスケールとパフォーマンスを構成する。
  • リソース要件を計算する。
  • データベースのシャーディングのような、データベースのパーティション分割手法を評価する。

Azure移行への戦略を評価する。

  • 移行の要件を評価する。
  • オフラインまたはオンラインによるマイグレーション戦略を評価する。
  • アップグレードの要件を評価する。
  • オフラインまたはオンラインによるアップグレード戦略を評価する。

Azure移行へのマイグレーションもしくはアップグレード戦略を実装する。

  • オンラインマイグレーション戦略を実装する。
  • オフラインマイグレーション戦略を実装する。
  • オンラインアップグレード戦略を実装する。
  • オフラインアップグレード戦略を実装する。

 

■ 安全な環境を実装します(15-20%)

プラットフォームとデータベースツールを使用してデータベース認証を構成する。

  • Azure AD認証を構成する。
  • Azure AD IDからユーザーを作成する。
  • セキュリティプリンシパルを構成する。

プラットフォームとデータベースツールを使用してデータベース認可を構成する。

  • グラフィカルツールを使用してデータベースとオブジェクトレベルの権限を構成する。
  • すべてのセキュリティ保護可能な対象に最小特権のプリンシパルを適用する。

保存データのセキュリティを実装する。

  • 透過的データ暗号化(TDE)を実装する。
  • オブジェクトレベルの暗号化を実装する。
  • ダイナミックデータマスキングを実装する。
  • Azure VMにAzure Key Vaultとディスク暗号化を実装する。

転送中のデータのセキュリティを実装する。

  • SQL DBおよびデータベースレベルのファイアウォールルールを構成する。
  • Always Encrypted を実装する。
  • Azure Data Gatewayを構成する。

機密データのコンプライアンス管理を実装する。

  • データ分類戦略を適用する。
  • サーバーとデータベースの監査を構成する。
  • データ変更の追跡を実装する。
  • 脆弱性評価を実行する。

  

■ 運用リソースを監視して最適化します(15-20%)

アクティビティとパフォーマンスを監視する。

  • 運用パフォーマンスのベースラインを準備する。
  • パフォーマンスメトリックのソースを決定する。
  • パフォーマンスメトリックを解釈する。
  • Azure SQL Database Intelligent Performanceを使用してデータベースのパフォーマンスを評価する。
  • インフラストラクチャ、サーバー、サービス、およびデータベースレベルのアクティビティとパフォーマンスを構成、監視する。

パフォーマンス関連のメンテナンスタスクを実装する。

  • インデックスメンテナンスタスクを実装する。
  • 統計情報のメンテナンスタスクを実装する。
  • データベースの自動チューニングを構成する。
  • データベースのメンテナンスタスクを自動化する。

 ・Azure SQL エージェントジョブ、Azure Automation、SQL Server エージェントジョブ

  • ストレージ容量を管理する。

パフォーマンス関連の問題を特定する。

  • パフォーマンスデータを収集するようにクエリストアを構成する。
  • ブロッキングを引き起こすセッションを特定する。
  • データベースとログの増加/断片化を評価する。
  • パフォーマンス関連のデータベース構成パラメーターを評価する。

 ・AutoClose、AutoShrink、AutoGrowth など

最適なパフォーマンスのためのリソースを構成する。

  • ストレージおよびインフラストラクチャリソースを構成する。

 ・IOPS、スループット、および遅延を最適化する。

 ・tempdbのパフォーマンスを最適化する。

 ・パフォーマンスのためにデータファイルとログファイルを最適化する。

  • パフォーマンスのためにサーバーとサービスアカウントの設定を構成する。
  • パフォーマンスのためにリソースガバナーを構成する。

最適なパフォーマンスを得るためにユーザーデータベースを構成する。

  • データベース スコープ構成を実装する。
  • スケーリングのためのコンピューティングリソースを構成する。
  • インテリジェントクエリ処理(IQP)を構成する。

 

■ クエリのパフォーマンスを最適化します(5-10%) 

クエリプランをレビューする。 

  • 適切なタイプの実行計画を決定する。

 ・ライブクエリ統計、実際の実行計画、推定実行計画、プラン表示 

  • 実行計画の中で問題となる部分を特定する。
  • クエリストアからクエリプランを抽出する。

パフォーマンスの改善を評価する。

  • クエリ パフォーマンス情報を収集するための適切な動的管理ビュー(DMV)を決定する。
  • 動的管理ビューを使用してパフォーマンス問題を特定する。
  • クエリのインデックス変更を特定して実装する。
  • リソースの使用状況に基づいてクエリ構成の変更を推奨する。
  • クエリのパフォーマンスに関するヒントの使用を評価する。

データベース テーブルとインデックスの設計をレビューする。

  • データの重複によるデータ品質の問題の特定する。
  • データベースの通常の形式を特定する。
  • インデックスデザインのパフォーマンスを評価する。
  • 列に定義されたデータ型を検証する。
  • ファイルグループを含むテーブルとインデックスのストレージを推奨する。
  • テーブルのパーティション分割戦略を評価する。
  • テーブルとインデックスの圧縮の使用を評価する。

 

■ タスクの自動化を実行します(10-15%) 

スケジュールされたタスクを作成する。 

  • 定期的なメンテナンスジョブのスケジュールを管理する。
  • マルチサーバー自動化を構成する。
  • タスクの成功/失敗/非完了の通知を構成する。

アラートと通知の戦略を評価して実装する。 

  • メトリックに基づいてイベント通知を作成する。
  • Azureリソースのイベント通知を作成する。
  • サーバー構成の変更に関するアラートを作成する。
  • イベント通知に応答するタスクを作成する。

Azureでのタスクを管理し自動化する。  

  • リソースの自動展開方法を実行する。
  • バックアップを自動化する。
  • パフォーマンスのチューニングとパッチの適用を自動化する。
  • 自動評価モードを使用してポリシーを実装する。

 

■ 高可用性とディザスターリカバリー (HADR) 環境を計画して実装します(15-20%)  

データプラットフォームソリューションのHADR戦略を推奨する。  

  • RPO / RTO要件に基づくHADR戦略を推奨する。
  • ハイブリッド展開のHADRを評価する。
  • Azure固有のHADRソリューションを評価する。
  • HADRソリューションのリソースを特定する。

プラットフォーム、OS、およびデータベースツールを使用してHADR戦略をテストする。  

  • フェイルオーバーを使用してHAをテストする。
  • フェールオーバーまたは復元を使用してDRをテストする。

データベースツールを使用してデータベースをバックアップおよび復元する。  

  • オプションを使用してデータベースのバックアップを実行する。
  • オプションを使用してデータベースの復元を実行する。
  • データベースを特定の時点に復元します。
  • 長期的なバックアップ保持を構成する。

プラットフォームおよびデータベースツールを使用してDRを構成する。  

  • レプリケーションを構成する。
  • データベースオファリング用にAzure Site Recoveryを構成する。

プラットフォーム、OS、およびデータベースツールを使用してHAを構成する。  

  • 可用性グループを作成する。
  • データベースを可用性グループに統合する。
  • Windows Serverフェールオーバークラスターのクォーラムオプションを構成する。
  • 可用性グループリスナーを構成する。

 

■ T-SQL 使用による管理を実行します(10-15%) 

System Health を調査する。  

  • DMVを使用してデータベースの状態を評価する。
  • DMVを使用してサーバーの状態を評価する。
  • DBCCを使用してデータベースの整合性チェックを実行する。

T-SQLを使用してデータベース構成を監視する。  

  • 適切なデータベースの自動拡張構成を評価する。
  • データベースの空き容量を報告する。
  • データベース構成オプションをレビューする。

T-SQLを使用してデータベースをバックアップおよび復元する。  

  • AlwaysOn可用性グループ用のデータベースを準備する。
  • トランザクションログのバックアップを実行する。
  • ユーザーデータベースの復元を実行する。
  • オプションを使用してデータベースのバックアップを実行する。

T-SQLを使用して認証を管理する。  

  • 証明書を管理する。
  • セキュリティプリンシパルを管理する。

T-SQLを使用して承認を管理する。  

  • ユーザーがデータベースオブジェクトにアクセスするためのアクセス許可を構成する。
  • カスタムの役割を使用して権限を構成する。

 

2) Microsoft Learn で DP-300 の試験範囲の機能について勉強

試験範囲のすべてを網羅はできませんが、目を通したほうが良いと思われる Microsoft Learn のモジュールをまとめてみます。

 

Microsoft Learn を使用した勉強方法については、以下の URL を参照。

www.nobtak.com

 

アプリケーション データを格納する Azure SQL データベースをプロビジョニングする

Azure SQL データベースをバックアップして復元する

Azure SQL Database のセキュリティ保護

SQL Server クエリ調整アシスタントを使用する

Azure SQL データベースをバックアップして復元する

SQL エラスティック プールを利用した複数の Azure SQL データベースのスケーリング

Migrate SQL workloads to Azure virtual machines

Migrate SQL Workloads to Azure Managed Instances

Migrate SQL Workloads to Azure SQL Databases

Migrate on-premises PostgreSQL databases to Azure Database for PostgreSQL

 

3) 公開されている情報を確認

目を通したほうが良いと思われる Microsoft が公式に公開している情報をまとめてみます。 

 

 ■ データ プラットフォーム リソースを計画して実装します(15-20%)

IaaS Agent 拡張機能を使用して管理タスクを自動化する - SQL Server on Azure VM

SQL Server VM の自動修正 (Resource Manager) - SQL Server on Azure VM

テンプレートをデプロイする - Azure portal - Azure Resource Manager

Azure portal でテンプレートをエクスポートする - Azure Resource Manager

Azure Database Migration Service のドキュメント

 チュートリアル:SQL Server オンラインを SQL 単一データベースに移行する - Azure Database Migration Service

チュートリアル:SQL Server を SQL Managed Instance にオンラインで移行する - Azure Database Migration Service

Data Migration Assistant の概要 (SQL Server) - SQL Server

データ圧縮 - SQL Server

エラスティック プールを使用して複数のデータベースを管理する - Azure SQL Database

エラスティック プールを管理する - Azure SQL Database

Backup, Restore, and Move the SSIS Catalog - SQL Server 2014 Integration Services

サーバーレス コンピューティング レベル - Azure SQL Database

 

■ 安全な環境を実装します(15-20%)

Azure Active Directory 認証を構成する - Azure SQL Database & SQL Managed Instance & Azure Synapse Analytics

Advanced Data Security - Azure SQL Database

Sensitivity Labels (Azure SQL Database)

Azure portal での Azure Storage アカウントの監視方法

Azure Private Link - Azure SQL Database and Azure Synapse Analytics

データベース レベルのロール - SQL Server

動的データ マスク - Azure SQL Database

動的なデータ マスキング - SQL Server

Always Encrypted - SQL Server

Always Encrypted による暗号 - SQL Server

SQL Server Management Studio で Always Encrypted を使用した列のクエリを実行する - SQL Server

 

■ 運用リソースを監視して最適化します(15-20%) / クエリのパフォーマンスを最適化します(5-10%) 

Azure SQL Database と Azure SQL Managed Instance の監視とチューニングのドキュメント - Azure SQL Database

監視とパフォーマンスのチューニング - Azure SQL Database

DMV を使用してパフォーマンスを監視する - Azure SQL Database & SQL Managed Instance

アラートと通知を設定する (Azure portal) - Azure SQL Database

Azure SQL Database および Azure Synapse Analytics の Azure SQL 監査 - Azure SQL Database

Azure Monitor で動的なしきい値を使用したアラートを作成する - Azure Monitor

Intelligent Insights を使用したパフォーマンスに関する問題のトラブルシューティング - Azure SQL Database

動的管理ビュー (Transact-sql) - SQL Server

Azure における SQL Server のパフォーマンスに関するガイドライン - SQL Server on Azure VM

Azure Premium Storage: Windows VM におけるパフォーマンスのための設計 - Azure Windows Virtual Machines

クエリのストアを使用した、パフォーマンスの監視 - SQL Server

クエリ ストアを使用する際のベスト プラクティス - SQL Server

クエリ ストアでデータを収集する方法 - SQL Server

クエリ ストアの使用シナリオ - SQL Server

クエリ ストア - Azure Database for MySQL

クエリ ストア - Azure Database for PostgreSQL - Single Server

tempdb データベース - SQL Server

dm_exec_requests (Transact-sql) - SQL Server

dm_tran_locks (Transact-sql) - SQL Server

[ライブ クエリ統計] - SQL Server

ALTER DATABASE SCOPED CONFIGURATION - SQL Server (Transact-SQL)

自動チューニングの概要 - Azure SQL Database

自動チューニングの有効化 - Azure SQL Database

SQL Server でのスナップショット分離 - SQL Server

optimize for ad hoc workloads サーバー構成オプション - SQL Server

 

■ タスクの自動化を実行します(10-15%) / T-SQL 使用による管理を実行します(10-15%) 

DBCC SHRINKDATABASE (Transact-SQL) - SQL Server 

resource_stats (Azure SQL Database) - SQL Server

データベース メールの構成 - SQL Server

データベース メールを使用するように SQL Server エージェント メールを構成する - SQL Server

Azure SQL Database 用の組み込みポリシー定義 - Azure SQL Database

Azure セキュリティ ベースライン - Azure SQL Database

CREATE USER (Transact-SQL) - SQL Server

GRANT (データベースの権限の許可) (Transact-SQL) - SQL Server

DBCC CHECKDB (Transact-SQL) - SQL Server

 

■ 高可用性とディザスターリカバリー (HADR) 環境を計画して実装します(15-20%)  

バックアップをセカンダリ可用性グループ レプリカにオフロードする - SQL Server Always On

SQL Server と Azure SQL Managed Instance での T-SQL の相違点 - Azure SQL Managed Instance

自動の geo 冗長バックアップ - Azure SQL Database & Azure SQL Managed Instance

Always On 可用性グループとは - SQL Server Always On

可用性グループの作成と構成 (コンテンツ インデックス) - SQL Server Always On

Transact-SQL を使用した可用性グループの作成 (T-SQL) - SQL Server Always On

フェールオーバークラスターのクラウド監視をデプロイする

高可用性 - Azure SQL Database and SQL Managed Instance

Azure Standard Load Balancer と可用性ゾーン - Azure Load Balancer

自動の geo 冗長バックアップ - Azure SQL Database & Azure SQL Managed Instance

バックアップからデータベースを復元する - Azure SQL Database & SQL Managed Instance

アクティブな地理的レプリケーション - Azure SQL Database

復元と復旧の概要 (SQL Server) - SQL Server

SQL Server データベースのバックアップと復元 - SQL Server

 

4) 実機を使用した検証

Azure SQL Database、Azure SQL Database Managed Instance などの Azure サービスを使用するためには利用料金が必要となります。Azure 無料アカウントを作成して実際に色々と動作検証をすることも可能ですが、自分のマシンに SQL Server (オンプレミス版) をインストールすることで、動作検証を無償で実施することが可能です。

 

A) SQL Server 2019 Developer Edition を自身のマシンにインストール

SQL Server 2019 Developer Edition は非運用環境にインストールすることが可能な無料エディションであり、SQL Server 2019 Enterprise Edition と同じ機能(全機能を使用することが可能) を使用することが可能です。

 

 

B) SQL Server Management Studio (SSMS) を自身のマシンにインストール

SQL Server Management Studio (SSMS) は、SQL Server、Azure SQL Database、Azure SQL Managed Instance などを管理するための総合管理ツールです。

元々は有償版のSQL Serverに付属していたツールですが、現在は無償版として公開されており、自由にダウンロードして使用することができます。

クエリの実行(ライブ統計情報の表示、実行プランの表示)、データベース構成情報の変更、バックアップ、リストア、AlwaysOn 可用性グループの構成したりと、様々なことを実現可能な優れたツールであるため、SQL Server の動作検証を実施する場合、インストールするとよいでしょう。

 

 

[まとめ]

今回、DP-300 の勉強方法について紹介しましたが、同様の方法でほかの資格についても勉強が可能になるかと思います。

早めに資格を取得することで、人との差別化にもなると思いますので、今回紹介しました勉強方法を試していただけると嬉しいです。

 

※ Azure 上位資格を合格するためには、Azure リソースを実際にデプロイし、色々と動作を確認することが必要になるかと思いますが、Azure 無料アカウントを作成することで、Microsoft Learn で使用可能となるサンドボックス以外にも、自由に Azure をデプロイできる環境が手に入ります。