Q1.VM1 と VM2 という名前の Azure 仮想マシン上で、2 つの SQL Server インスタンスを実行しています。
両方のインスタンスは Microsoft SQL Server 2019 CU8 を実行しています。
VM1 と VM2 にフェールオーバー クラスター インスタンスを展開する必要があります。
ソリューションでは、分散ネットワーク名とロード バランサーの両方を不要にする必要があります。
何を実行するべきですか。
A. VM1 と VM2 を 1 つの近接配置グループに展開する
B. VM1 と VM2 を 1 つのサブネットに接続する
C. VM1 と VM2 を 1 つの仮想ネットワーク内の異なるサブネットに接続する
D. VM1 と VM2 を同じ Azure リージョン内の異なる近接配置グループに展開する
回答
- C. VM1 と VM2 を 1 つの仮想ネットワーク内の異なるサブネットに接続する
-
Azure VM 上の SQL Server で FCI を構成する場合、単一サブネットでは接続先を維持するために DNN または Azure Load Balancer が追加で必要です。
一方、同一仮想ネットワーク内の複数サブネットにノードを配置すると、FCI への接続はオンプレミスに近い形で構成でき、これらの追加コンポーネントを不要にできます。
したがって、異なるサブネットへの接続を選ぶ C が正解です。
近接配置グループは待機時間最適化には有効ですが、この要件の解決策ではありません。
仮想マシンをFCI用に準備する – SQL Server on Azure VMs
Q2.DB1 という名前のオンプレミスの Microsoft SQL Server 2016 データベースにデータを格納する App1 というオンプレミス アプリケーションがあります。
App1 の追加インスタンスを Azure リージョンごとに展開し、リージョン分離を実現する計画です。
各リージョンには App1 と DB1 の個別インスタンスが存在し、DB1 の各インスタンスは Azure SQL Data Sync を使用して同期されます。
管理作業を最小限に抑える必要があります。
どのデータベース サービスを推奨すべきですか。
A. Azure SQL マネージド インスタンス
B. Azure SQL データベースの単一データベース
C. Azure Database for PostgreSQL
D. Azure 仮想マシン上の SQL Server
回答
- B. Azure SQL データベースの単一データベース
-
本シナリオでは Azure SQL Data Sync を利用して複数リージョン間でデータ同期を行う必要があります。
この機能は Azure SQL Database(単一データベース) でサポートされており、PaaS サービスのためパッチ適用やバックアップなどの運用管理が自動化され、管理負荷を最小化できます。
一方、マネージド インスタンスは Data Sync 非対応であり、仮想マシン上の SQL Server は IaaS のため運用負荷が増大します。
したがって、管理作業削減と Data Sync 対応の両立を満たす B が正解です。
SQL Data Sync を使用して複数のデータベース間でデータを同期する
Q3.複数のデータベースをホストするオンプレミスの Microsoft SQL Server インスタンス (SQL1) があります。
Azure サブスクリプションには Azure SQL Managed Instance (SQLMI1) が含まれています。
Azure Data Studio を使用して、SQL1 のデータベースを SQLMI1 にオフライン移行する必要があります。
SQL1 には何をインストールする必要がありますか。
A. SQL Server データ ツール (SSDT)
B. データ移行アシスタント (DMA)
C. Azure Migrate アプライアンス
D. セルフホスト型統合ランタイム
回答
- D. セルフホスト型統合ランタイム
-
Azure Data Studio を使用したオフライン移行では、Azure Database Migration Service と連携し、オンプレミス環境との通信に セルフホスト型統合ランタイム が必要になります。
これはオンプレミスと Azure 間のデータ移動を安全に中継するコンポーネントです。
Azure SQL Managed Instance への移行では、特にネットワーク分離環境からの接続確立に重要です。
一方、DMA は評価やスキーマ変換用途であり、実際の移行処理の実行には使用されません。
したがって、移行パイプラインの実行に必須である D が正解です。
移行の概要: SQL Server から Azure SQL Managed Instance
Q4.db1 の CPU 使用率が平均より高い場合に、admin@contoso.com に電子メール アラートを生成する必要があります。
どのように構成するべきですか。
A. CPU 使用率の静的しきい値アラートを作成する
B. CPU 使用率の動的しきい値アラートを作成し、アクショングループでメール通知を設定する
C. Azure Advisor を使用して通知を構成する
D. Azure Monitor ログ アラートを使用し、手動でしきい値を設定する
回答
- B. CPU 使用率の動的しきい値アラートを作成し、アクショングループでメール通知を設定する
-
本要件は「平均より高い場合」に通知するため、固定値ではなく過去データと比較する必要があります。
このため 動的しきい値アラート を使用します。
動的しきい値は履歴データに基づいてベースラインを自動算出し、異常な増加を検知できます。
また通知には アクショングループのメール設定 を使用し、admin@contoso.com へ送信します。
静的しきい値では平均比較ができず、Advisor はリアルタイム監視用途ではありません。
したがって Azure Monitor メトリックと動的しきい値の組み合わせ が最適です。
動的しきい値を使用したアラート
Q5.Azure SQL データベースを含む Azure サブスクリプションがあります。
データベースには tablet というテーブルが含まれています。
分析クエリの実行時間を短縮する必要があります。
どの構成を有効にする必要がありますか。
A. BATCH_MODE_MEMORY_GRANT_FEEDBACK
B. BATCH_MODE_ADAPTIVE_JOINS
C. ROW_MODE_MEMORY_GRANT_FEEDBACK
D. BATCH_MODE_ON_ROWSTORE
回答
- D. BATCH_MODE_ON_ROWSTORE
-
分析クエリの高速化が目的で、対象は通常の行ストア テーブルです。
この場合に有効なのは BATCH_MODE_ON_ROWSTORE です。
これは列ストア インデックスがなくてもバッチ モード実行を利用でき、集計やスキャンを含む分析系クエリの CPU 効率を高めます。
分析ワークロードの応答時間短縮に直結するため最適です。
メモリ許可フィードバックや適応結合は特定の実行計画改善には有効ですが、要件の中心である 分析クエリ全体の高速化 を最も直接的に満たすのは D です。
インテリジェント クエリ処理の詳細 – SQL Server
Q6.あなたの会社は Azure Stream Analytics を使用してデバイスを監視しています。
監視対象デバイス数を 2 倍に増やす計画があります。
追加の負荷に対応できる十分な処理リソースがあることを確認するため、Stream Analytics ジョブを監視する必要があります。
どのメトリックを監視するべきですか。
A. 入力逆シリアル化エラー
B. 遅延入力イベント
C. 初期入力イベント
D. 透かしの遅延
回答
- D. 透かしの遅延
-
Stream Analytics の処理能力を評価するには、イベント処理の遅延状況を把握することが重要です。
透かしの遅延は、処理ノードの現在時刻と処理済みイベントの進行状況との差を示し、負荷増加時のボトルネックを直接的に把握できます。
この値が増加する場合、処理リソース不足やスループット不足を示唆します。
入力エラーや初期イベント数は性能指標ではなく、遅延入力イベントも限定的です。
したがって、スケーラビリティ評価に最も適した指標である透かしの遅延を監視するのが正解です。
Azure Stream Analytics の時間処理の概念
Q7.Azure SQL データベースを含む Azure サブスクリプションがあります。
データベースがクエリにタイムリーに応答できません。
問題が resource_semaphore の待機に関連しているかどうかを特定する必要があります。
Transact-SQL クエリをどのように完成させるべきですか。
回答するには、回答領域で適切なオプションを選択してください。
各正解には 1 点が与えられます。

回答
- (下記画像参照)
-

resource_semaphore は、クエリが実行に必要なメモリ許可を待機している状況を示す待機です。
この確認には wait_type を集計対象として選び、待機の種類別に合計待機時間を確認する必要があります。
また、現在実行中セッションの待機情報を取得するには sys.dm_exec_requests を使用します。
これを sys.dm_exec_sessions と結合し、ユーザー プロセスだけを対象に集計すれば、resource_semaphore 待機の有無 を判定できます。
DMV を使用してパフォーマンスを監視する – Azure SQL Database & SQL database in Microsoft Fabric | Microsoft Learn
Q8.Azure Databricks で構造化ストリーミング ソリューションを構築することを計画しています。
このソリューションは 5 分間隔で新しいイベントをカウントし、その間隔中に到着したイベントのみを報告します。
出力は Delta Lake テーブルに送信されます。
どの出力モードを使用する必要がありますか。
A. 完了
B. 追加
C. 更新
回答
- A. 完了
-
本シナリオでは、5 分ごとのウィンドウ集計結果を毎回完全な形で出力する必要があります。
この場合は Complete モード を使用します。
Complete モードは各トリガーごとに結果テーブル全体を再出力するため、ウィンドウ集計結果を常に完全な状態で保持できます。
Append モードは確定した新規行のみ、Update モードは変更行のみを出力するため要件に適合しません。
したがって 集計結果を毎回全体更新する処理 に適した Complete 出力モード が正解です。
構造化ストリーミングの出力モードを選択する
Q9.Db1 という名前のデータベースを含む Azure 仮想マシン上に SQL Server があります。
Db1 の自動チューニングを有効にする必要があります。
どのように文を完成させればよいですか。
回答するには、回答エリアで適切な回答を選択してください。

回答
- (下記画像参照)
-

自動チューニングを有効化するには、まずデータベース全体で AUTOMATIC_TUNING=AUTO を設定し、Azure 推奨の自動最適化動作を有効にします。
さらに個別機能として FORCE_LAST_GOOD_PLAN を ON にすることで、パフォーマンスが低下した場合に以前の良好な実行プランへ自動的に戻すことができます。
この2段階の設定により クエリ パフォーマンスの自動最適化 が実現されます。
Azure portal で自動チューニングを使用してクエリを監視し、ワークロードのパフォーマンスを向上させる
Q10.Azure SQL データベースがあります。
遅延されたクエリ実行が RESOURCE_SEMAPHORE 待機に関連付けられているかどうかを識別する必要があります。
Transact-SQL ステートメントをどのように完成する必要がありますか。
回答するには、回答領域で適切なオプションを選択してください。

回答
- (下記画像参照)
-

RESOURCE_SEMAPHORE 待機を特定するには、待機の種類を確認する必要があるため wait_type を選択します。
これにより、どの待機イベントが発生しているかを分類できます。
また、現在実行中のクエリの待機情報を取得するには sys.dm_exec_requests を使用します。
この DMV はリアルタイムの実行状態と待機情報を提供します。
したがって 待機タイプと実行中要求の組み合わせ により、RESOURCE_SEMAPHORE による遅延かどうかを判断できます。
動的管理ビューを使用してパフォーマンスを監視する

