第1回 問題集(全般)
全120問 / すべての問題の解答・解説を無料で閲覧できます
DP-300 問題集 おすすめの使い方
目次
AzureでSQLワークロードを展開する際、OSレベルの管理を自分で行いたくないが、SQL ServerインスタンスレベルのHA機能(リンクサーバー、SQL Agentジョブなど)を完全に利用したい場合、最も適したデプロイオプションはどれですか。
解答・解説を見る
正解: B. B. Azure SQL Managed Instance
正解の根拠・詳細解説
Azure SQL Managed Instanceは、PaaSのメリット(自動パッチ適用・バックアップなど)を享受しつつ、インスタンススコープの機能(リンクサーバー、SQL Agent、Service Broker等)をほぼそのまま利用できるため、オンプレミスのSQL Serverに近い互換性が求められる場合に最適です。
オンプレミスのSQL Serverで使用しているカスタムCLRアセンブリやファイルシステムへの直接アクセスが必要なアプリケーションをAzureに移行する場合、最も適したサービスはどれですか。
解答・解説を見る
正解: C. C. SQL Server on Azure Virtual Machines
正解の根拠・詳細解説
OSレベルへのフルアクセスが必要な場合(独自のCLR、ファイルシステム操作、特定のOS設定が必要な場合)は、IaaSであるSQL Server on Azure Virtual Machinesが適しています。完全な管理者権限を持つため、互換性の制約が最も少ない選択肢です。
Azure SQL Databaseの購入モデルのうち、「vCoreベースモデル」の特徴として正しいものはどれですか。
解答・解説を見る
正解: B. B. コンピューティングとストレージのリソースを個別に選択でき、オンプレミスのライセンスをAzureに持ち込むAzureハイブリッド特典が利用できる
正解の根拠・詳細解説
vCoreベースモデルでは、仮想コア数・メモリ・ストレージを個別に選択でき、さらにAzureハイブリッド特典(Azure Hybrid Benefit)を利用して既存のSQL Serverライセンスを持ち込むことでコストを削減できます。DTUモデルはこれらを一括りの単位で提供する旧来の購入モデルです。
大量の小~中規模データベースがあり、それぞれの使用率に変動があるため、全体としてリソースを共有してコストを最適化したい場合に適したAzure SQL Databaseのデプロイ形態はどれですか。
解答・解説を見る
正解: B. B. エラスティックプール
正解の根拠・詳細解説
エラスティックプールは、複数のデータベース間でリソース(vCoreまたはDTU)プールを共有する仕組みです。個々のデータベースの使用率の変動が異なるタイミングで発生する場合、プール全体で必要なリソース量を抑えながら全データベースに対応できます。
Azure SQL Databaseのサービスティアのうち、ストレージとコンピューティングを独立してスケールでき、最大100TBまでのストレージと高速バックアップ・復元(数分単位)をサポートするのはどれですか。
解答・解説を見る
正解: C. C. Hyperscale
正解の根拠・詳細解説
Hyperscaleサービスティアは、ストレージレイヤーを分離したアーキテクチャを採用しており、最大100TBまでのデータベースに対応し、ほぼ瞬時のバックアップとサイズに依存しない高速な復元を実現します。読み取りスケールアウト用のレプリカも複数構成できます。
開発・テスト用のデータベースで、利用が断続的(不定期)であり、アイドル時には自動的にコンピューティングを一時停止してコストを削減したい場合に最適なコンピューティングティアはどれですか。
解答・解説を見る
正解: B. B. サーバーレスコンピューティング(Serverless)
正解の根拠・詳細解説
サーバーレスコンピューティングティアは、CPU使用率に基づいて自動的にスケールし、一定時間アイドル状態が続くとコンピューティングを自動的に一時停止(pause)し、ストレージ料金のみが課金される仕組みです。利用が不定期なワークロードに適しています。
オンプレミスのSQL Serverデータベースを最小限のダウンタイムでAzure SQL Managed Instanceに移行したい場合、Microsoftが提供する推奨ツールはどれですか。
解答・解説を見る
正解: B. B. Azure Database Migration Service(DMS)
正解の根拠・詳細解説
Azure Database Migration Service(DMS)は、オンプレミスのSQL ServerからAzure SQL Managed InstanceやAzure SQL Databaseへの移行をサポートし、オンライン移行モードを使用することで継続的なデータ同期によりダウンタイムを最小化できます。
データベースのスキーマとデータをポータブルな形式でエクスポートし、別のAzure SQL Databaseにインポートしたい場合に使用するファイル形式はどれですか。
解答・解説を見る
正解: A. A. BACPAC
正解の根拠・詳細解説
BACPACは、データベースのスキーマとデータの両方を含むエクスポート形式で、Azure SQL DatabaseやSQL Server間でのデータベースの移行・コピーに使用されます。スキーマのみが必要な場合はDACPAC形式が使われます。
複数のリージョンに分散したAzure SQL Databaseと、オンプレミスのSQL Serverデータベースの間で、双方向にデータを同期し続ける必要がある場合に使用するサービスはどれですか。
解答・解説を見る
正解: A. A. Azure SQL Data Sync
正解の根拠・詳細解説
Azure SQL Data Syncは、Azure SQL Databaseとオンプレミスまたは他のAzure SQL Database間で、双方向または一方向のデータ同期を構成できるサービスです。複数地点でのデータ一貫性が必要なシナリオに適しています。
Azure SQL Managed Instanceで、オンプレミスのSQL Serverと同様にトランザクションログを定期的にバックアップし、セカンダリサーバーに復元することで遅延を持ったレプリカを維持する技術はどれですか。
解答・解説を見る
正解: A. A. ログ配布(Log Shipping)
正解の根拠・詳細解説
ログ配布(Log Shipping)は、プライマリデータベースのトランザクションログバックアップを定期的にセカンダリインスタンスへコピー・復元することで、ディザスタリカバリ用のレプリカを維持する伝統的な仕組みで、Managed Instanceでもサポートされています。
Azure SQL Database Hyperscaleにおいて、読み取り専用ワークロードをプライマリから分離して処理させたい場合に利用する機能はどれですか。
解答・解説を見る
正解: A. A. 読み取りスケールアウト(Read Scale-Out)
正解の根拠・詳細解説
読み取りスケールアウトを有効にすると、最大4つの読み取り専用レプリカに対して接続文字列で「ApplicationIntent=ReadOnly」を指定することで読み取りクエリをルーティングできます。これによりプライマリの負荷を軽減できます。
エッジデバイスやIoTシナリオで、クラウドに接続せずにローカルでSQLエンジンの一部機能を利用したい場合に適したサービスはどれですか。
解答・解説を見る
正解: A. A. Azure SQL Edge
正解の根拠・詳細解説
Azure SQL Edgeは、IoTやエッジコンピューティング向けに最適化された、軽量なSQL Server互換のエンジンです。コンテナとしてデプロイされ、オフライン環境でもデータ処理やストリーミングデータの分析が可能です。
既存のオンプレミスSQL ServerライセンスをAzure SQL Managed Instanceに持ち込み、ライセンスコストを削減できる特典の名称はどれですか。
解答・解説を見る
正解: A. A. Azure Hybrid Benefit
正解の根拠・詳細解説
Azure Hybrid Benefitを利用すると、Software Assurance付きの既存のSQL Serverライセンスを、Azure SQL Managed InstanceやSQL Server on Azure VM、Azure SQL Databaseのコンピューティングコストの削減に適用できます。
Azure SQL Databaseのサービスティアを変更(例: General Purpose から Business Critical へ)する操作の特徴として正しいものはどれですか。
解答・解説を見る
正解: B. B. バックグラウンドでデータがコピーされ、切り替え時に短時間のフェールオーバーが発生する程度で完了する
正解の根拠・詳細解説
サービスティアやコンピューティングサイズの変更は、Azureがバックグラウンドで新しいリソースにデータをコピーし、準備が完了した時点で短時間のフェールオーバー(通常数秒〜分程度)によって切り替えられます。元のティアへの再変更も可能です。
Azure SQL Database内のデータベースを、構成や権限を含めて別のサーバーに高速にコピーしたい場合に利用できる機能はどれですか。
解答・解説を見る
正解: A. A. データベースのコピー(Database Copy)
正解の根拠・詳細解説
Azure Portal、T-SQL(CREATE DATABASE … AS COPY OF)、PowerShell、Azure CLIなどから「データベースのコピー」操作を実行することで、トランザクション一貫性のあるコピーを別サーバーや別データベースとして作成できます。
Azure SQL Managed Instanceで複数のインスタンスを同一のサブネット内にデプロイし、リソースを共有してコストを最適化するための仕組みはどれですか。
解答・解説を見る
正解: A. A. インスタンスプール(Instance Pool)
正解の根拠・詳細解説
インスタンスプールを使用すると、複数の小規模なManaged Instanceを同じ仮想クラスター内にデプロイし、未使用のリソースを共有することで、特に小規模インスタンスを多数運用する場合のコストを最適化できます。
Azure SQL Databaseの照合順序(Collation)を、データベース作成後に変更する場合の正しい説明はどれですか。
解答・解説を見る
正解: B. B. データベース全体の照合順序は作成後に変更できないため、再作成や列単位の変更が必要になる
正解の根拠・詳細解説
Azure SQL Databaseでは、データベースレベルの既定の照合順序は作成時に指定し、作成後にデータベース全体の照合順序を変更することは基本的にできません。変更が必要な場合は、データベースを再作成するか、列単位でCOLLATE句を使って変更します。
Azure SQL Databaseの「自動チューニング」機能が自動的に実行できる対応として正しいものはどれですか。
解答・解説を見る
正解: B. B. インデックスの自動作成・自動削除、および最終プランの強制(Force Last Good Plan)を行う
正解の根拠・詳細解説
Azure SQL Databaseの自動チューニング機能は、ワークロードを分析して有用なインデックスを自動的に作成し、使用されていないインデックスを削除し、クエリのパフォーマンスが劇化した場合に以前の正常な実行プランを強制適用(Force Last Good Plan)することができます。
オンプレミスのSQL Serverデータベースを、ダウンタイムをほぼゼロにしてAzure SQL Managed Instanceに移行する際に推奨される移行モードはどれですか。
解答・解説を見る
正解: B. B. オンライン移行モード
正解の根拠・詳細解説
Azure Database Migration Serviceの「オンライン移行」モードでは、初期データ同期後も継続的に変更データを同期し続け、最終的な切り替え時のダウンタイムを数分程度に抑えることができます。ビジネスクリティカルなワークロードに推奨されます。
SQL Server on Azure VMにおいて、自動バックアップや自動パッチ適用などの管理タスクを部分的に自動化するために利用できる機能はどれですか。
解答・解説を見る
正解: A. A. SQL Server IaaS Agent拡張機能(SQL IaaS Extension)
正解の根拠・詳細解説
SQL Server IaaS Agent拡張機能をVMにインストールすると、Azure Portalから自動パッチ適用、自動バックアップ、Azure Key Vault統合などのPaaS的な管理機能を有効化できます。
Azure SQL Database のBasic、Standard、Premiumという階層(DTUベースモデル)のうち、最も高いI/Oスループットとレプリカベースの高可用性を提供する階層はどれですか。
解答・解説を見る
正解: C. C. Premium
正解の根拠・詳細解説
DTUベースモデルのPremium階層は、ローカルSSDストレージを使用し、最も高いI/Oスループットと低レイテンシを提供します。内部的にはvCoreモデルのBusiness Criticalティアに相当し、複数のレプリカによる高可用性を実現します。
新規にAzureへSQLワークロードを展開する際、まず「PaaS(Azure SQL Database / Managed Instance)」と「IaaS(SQL Server on Azure VM)」のどちらを選ぶべきかを判断する観点として、最も適切なものはどれですか。
解答・解説を見る
正解: B. B. OSやインスタンスレベルの完全な制御が必要か、それとも運用管理の負荷軽減を優先するかで判断する
正解の根拠・詳細解説
デプロイオプションの選択では、OSへのアクセス・カスタムドライバのインストール・特定のインスタンス機能の必要性など「制御の必要性」と、パッチ適用やバックアップなどの「運用負荷をどこまでAzureに委ねたいか」のトレードオフを評価することが重要です。
Azure SQL Databaseで、ストレージとコンピューティングのスケーリングを個別に行えない購入モデルはどれですか。
解答・解説を見る
正解: B. B. DTUベースモデル
正解の根拠・詳細解説
DTUベースモデルは、コンピューティング・メモリ・I/Oをまとめた「DTU(Database Transaction Unit)」という単一の指標でリソースを表現するため、コンピューティングとストレージを個別にスケーリングすることはできません。
データベースのリソース消費量(CPU、メモリ、I/O、ストレージ)に基づいて将来必要なサービスティアやコンピューティングサイズを見積もる際、Microsoftが提供する移行前アセスメントツールはどれですか。
解答・解説を見る
正解: A. A. Azure Migrate: Database Assessment(Data Migration Assistant含む)
正解の根拠・詳細解説
Azure Migrateのデータベースアセスメント、およびその基盤となるData Migration Assistantは、移行前に既存のSQL Serverインスタンスを解析し、移行先で問題となる互換性の課題(廃止された構文や未対応の機能)を洗い出すとともに、収集したパフォーマンスデータに基づいて適切な移行先を推奨します。CPU使用率、メモリ、ディスクのIOPSやスループットといった実測値を一定期間収集し、それを満たすAzure SQL Databaseのサービスティアとコンピューティングサイズ、あるいはSQL Managed Instanceの構成を、概算コストとあわせて提示するため、勘に頼らないサイジングが可能になります。Azure Monitorのワークブックは、すでにAzure上にあるリソースのメトリックを可視化する仕組みであり、オンプレミス環境からの移行前評価には使えません。Azure Advisorは稼働中のAzureリソースに対する改善推奨、Cost Managementはすでに発生した費用の分析が目的で、いずれも移行前アセスメントのツールではありません。
Azure SQL Databaseで、アプリケーションごとに異なるAzure ADグループに権限を付与し、パスワード管理をAzure ADに一元化したい場合、認証方式として推奨されるのはどれですか。
解答・解説を見る
正解: B. B. Azure AD認証
正解の根拠・詳細解説
Azure AD認証を使用すると、Azure ADのユーザーやグループに対してデータベースアクセス権を付与でき、パスワードの個別管理が不要になり、多要素認証(MFA)やConditional Accessなどの統合管理機能も活用できます。
Azure SQL Databaseの「サーバーレベルファイアウォール規則」の説明として正しいものはどれですか。
解答・解説を見る
正解: B. B. 論理サーバー全体に適用され、すべてのデータベースへの接続元IPアドレスを制御する
正解の根拠・詳細解説
サーバーレベルファイアウォール規則は、論理サーバー全体に対して適用され、許可するクライアントIPアドレス範囲を指定します。これに加えてデータベースレベルのファイアウォール規則を個別のデータベースに設定することも可能です。
オンプレミスネットワークからAzure SQL Managed Instanceへ、インターネットを経由せずプライベートIPアドレスで接続したい場合に構成すべき機能はどれですか。
解答・解説を見る
正解: B. B. プライベートエンドポイント(VNet統合)
正解の根拠・詳細解説
Azure SQL Managed Instanceは仮想ネットワーク(VNet)内にデプロイされるため、ExpressRouteやVPN Gatewayを介したプライベート接続が可能です。Azure SQL Databaseの場合はプライベートエンドポイントを追加構成することでVNet内からのプライベート接続が実現します。
データベース内に保存されているデータファイル・ログファイル・バックアップを、ディスクレベルで暗号化し、不正なストレージへのアクセスからデータを保護する機能はどれですか。
解答・解説を見る
正解: B. B. 透過的データ暗号化(TDE: Transparent Data Encryption)
正解の根拠・詳細解説
透過的データ暗号化(TDE)は、データベースのデータファイル・ログファイル・バックアップをリアルタイムで暗号化・復号化し、アプリケーションのコード変更を必要とせずに「保存データ(at rest)」を保護します。Azure SQL Databaseでは既定で有効です。
クレジットカード番号などの機密データを、データベースエンジン自体(DBA含む)からも復号できない状態で保存し、アプリケーション側でのみ復号できるようにする機能はどれですか。
解答・解説を見る
正解: C. C. Always Encrypted
正解の根拠・詳細解説
Always Encryptedは、クライアントドライバ側で暗号化・復号化を行い、暗号化キーをデータベースエンジンから分離して管理します。これにより、DBAやクラウド管理者を含め、データベースエンジンにアクセスできる人物でも平文データを参照できなくなります。
本番データベースのコピーを開発者向けに提供する際、メールアドレスや電話番号などの列を、権限のないユーザーには「\*\*\*-\*\*\*-1234」のような形式で表示させたい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. 動的データマスキング(Dynamic Data Masking)
正解の根拠・詳細解説
動的データマスキングは、クエリ結果セット内の指定した列のデータをリアルタイムでマスキングし、権限を持たないユーザーには元のデータを隠して表示します。データベース自体に保存されているデータは変更されません。
マルチテナントアプリケーションで、同一テーブル内のデータのうち、ログインユーザーに紐づく行だけを参照させたい場合に利用する機能はどれですか。
解答・解説を見る
正解: A. A. 行レベルセキュリティ(Row-Level Security)
正解の根拠・詳細解説
行レベルセキュリティ(RLS)は、セキュリティポリシーとフィルター述語(述語関数)を使用して、クエリ実行時に自動的にWHERE条件が適用されるようにし、ユーザーごとにアクセスできる行を制限する機能です。
Azure SQL Databaseで、誰がいつどのテーブルに対してSELECT/INSERT/UPDATE/DELETEを実行したかのログを記録し、Log AnalyticsやストレージアカウントへエクスポートできるAzureの機能はどれですか。
解答・解説を見る
正解: A. A. Azure SQL Auditing(監査機能)
正解の根拠・詳細解説
Azure SQL Auditingは、データベースイベント(DML、DDL、ログイン操作など)を追跡してログに記録し、Azure Storage、Log Analytics、Event Hubsへの送信を構成できます。コンプライアンス要件やセキュリティ監査に利用されます。
データベースに対するSQLインジェクション攻撃の試みや異常なアクセスパターンを検知し、リアルタイムでアラートを発行する機能はどれですか。
解答・解説を見る
正解: A. A. Microsoft Defender for SQL(脆弱性評価・高度な脅威の検出)
正解の根拠・詳細解説
Microsoft Defender for SQLは、SQLインジェクションの疑い、異常なデータベースアクセスパターン、ブルートフォース攻撃などを検出し、アラートを発行します。また脆弱性評価機能により、構成上のセキュリティリスクをスキャンして改善提案を提示します。
Azure SQL Databaseに保存されている暗号化キー(透過的データ暗号化のキーなど)を、自社で管理する鍵管理サービスに保管し、独自のキーローテーションポリシーを適用したい場合に統合するAzureサービスはどれですか。
解答・解説を見る
正解: A. A. Azure Key Vault
正解の根拠・詳細解説
Azure Key Vaultと統合することで、TDEの暗号化キーやAlways Encryptedの列マスターキーを顧客管理キー(Customer-Managed Key, BYOK)として管理し、独自のローテーションポリシーやアクセス制御を適用できます。
Azure SQL DatabaseからAzure Blob Storage上のファイルにアクセスする際、接続文字列にシークレットを直書きせず、リソースに割り当てられたID情報を使って認証したい場合に利用する仕組みはどれですか。
解答・解説を見る
正解: A. A. マネージドID(Managed Identity)
正解の根拠・詳細解説
マネージドIDを使用すると、Azureリソース(Azure SQLなど)にAzure AD上のID(サービスプリンシパル)が自動的に割り当てられ、シークレットやパスワードを管理せずに他のAzureリソース(Storageなど)へのアクセス権をRBACで付与できます。
Azure SQL Databaseに含まれる個人情報(メールアドレス、氏名、クレジットカード番号など)を自動的に検出し、機密度ラベルを付与する機能はどれですか。
解答・解説を見る
正解: A. A. データの検出と分類(Data Discovery & Classification)
正解の根拠・詳細解説
データの検出と分類機能は、データベース内のスキーマをスキャンして、機密性が高いと思われる列を自動検出し、機密度ラベル(例: 機密、極秘)と情報の種類(例: 名前、クレジットカード番号)を提案・適用できます。
Azure SQL Managed Instanceは仮想ネットワーク内にデプロイされますが、サブネット内の通信を制御し、特定のポートのみ許可するために使用するAzureリソースはどれですか。
解答・解説を見る
正解: A. A. ネットワークセキュリティグループ(NSG)
正解の根拠・詳細解説
ネットワークセキュリティグループ(NSG)は、サブネットまたはネットワークインターフェースに適用され、インバウンド・アウトバウンドのトラフィックをポート・プロトコル・IPアドレスベースで制御します。Managed Instance用サブネットには特定のNSG規則が必要です。
セキュリティ要件として、Azure SQL Databaseへのアクセスをインターネット経由で一切許可せず、VNet内のリソースからのみアクセス可能にしたい場合に行うべき設定はどれですか。
解答・解説を見る
正解: B. B. パブリックネットワークアクセスを「無効」にし、プライベートエンドポイントを構成する
正解の根拠・詳細解説
パブリックネットワークアクセスを無効に設定し、プライベートエンドポイントを構成することで、VNet内のプライベートIPアドレス経由のみでデータベースに到達できるようになり、インターネット経由のアクセスを完全に遮断できます。
クライアントとAzure SQL Database間の通信経路上でのデータ盗聴を防ぐために、Azure SQL Databaseが既定で要求している設定はどれですか。
解答・解説を見る
正解: B. B. TLS(Transport Layer Security)による暗号化通信の強制
正解の根拠・詳細解説
Azure SQL Databaseは既定で接続にTLS暗号化を要求し、暗号化されていない接続は拒否されます。クライアント側でも「Encrypt=True」などの接続文字列設定が推奨されます。
Azure SQL ServerにAzure AD管理者を設定すると可能になることとして正しいものはどれですか。
解答・解説を見る
正解: B. B. Azure ADのユーザー・グループ・サービスプリンシパルを使用してSQL Serverに対する管理操作(ユーザー作成など)が可能になる
正解の根拠・詳細解説
Azure AD管理者を設定すると、そのAzure ADプリンシパル(ユーザーやグループ)がサーバーに対するsysadmin相当の権限を持ち、Azure ADベースの他のユーザー・グループをデータベースユーザーとして作成・管理できるようになります(SQL認証を併用することも可能)。
コンテインドデータベース(Contained Database)でユーザーを作成する利点として正しいものはどれですか。
解答・解説を見る
正解: A. A. サーバーレベルのログインを作成せずに、データベース単位で認証情報を管理できるため、ポータビリティが向上する
正解の根拠・詳細解説
コンテインドデータベースユーザーは、サーバーレベルのログインに依存せず、データベース内でユーザー名とパスワード(またはAzure AD ID)の情報を保持します。これによりデータベースを別のサーバーに移動した際の認証設定の移行が容易になります。
サーバーレベルロール「sysadmin」に相当する操作(サーバー全体の構成変更など)をAzure SQL Databaseで行いたい場合の正しい理解はどれですか。
解答・解説を見る
正解: A. A. Azure SQL Databaseには論理サーバー全体に対するsysadmin相当のロールに近い管理者権限(serveradmin相当の操作はAzure Portal/CLIから)が用意されているが、OSレベルの権限はユーザーに付与されない
正解の根拠・詳細解説
Azure SQL DatabaseはPaaSであるため、OSやインスタンスレベルのsysadmin権限はユーザーに開放されません。サーバー管理操作(Azure ADの管理者割当、ファイアウォール設定など)はAzure Portal、CLI、PowerShellなどから、サブスクリプションのRBAC権限に基づいて行います。
Azure SQL Databaseで、ユーザーに対してデータベース内の特定のテーブルへのSELECT権限のみを付与し、他のテーブルへのアクセスを禁止するための適切な方法はどれですか。
解答・解説を見る
正解: A. A. GRANT SELECT ON 特定テーブル TO ユーザー のように、必要なオブジェクトに対してのみ権限を付与する
正解の根拠・詳細解説
最小特権の原則に基づき、ユーザーやロールに対して必要なオブジェクト・操作にのみGRANT文で権限を付与します。データベースロールを作成してユーザーをロールに割り当てる方法も推奨されます。
Azure SQL Databaseの脆弱性評価(Vulnerability Assessment)が報告する内容として適切なものはどれですか。
解答・解説を見る
正解: A. A. 過剰な権限が付与されたアカウント、未適用のセキュリティ構成、機密データの暗号化状況などのセキュリティリスク項目とその修復手順
正解の根拠・詳細解説
脆弱性評価は、データベースの構成をベストプラクティスと比較してスキャンし、過剰な権限、ファイアウォールの構成ミス、暗号化の不足、機密データの未分類などのリスクを検出し、改善のための具体的な手順を提示します。
Azure SQL Managed Instanceで、特定の管理者だけが一時的にパブリックエンドポイント経由でアクセスできるようにし、通常時はアクセスを遮断しておきたい場合に有効な考え方はどれですか。
解答・解説を見る
正解: A. A. パブリックエンドポイントを常時有効にし、ファイアウォール規則やNSG規則で許可するIPアドレス・時間帯を必要時のみ動的に追加・削除する運用(JITアクセスの概念)を行う
正解の根拠・詳細解説
Just-In-Time(JIT)アクセスの考え方では、必要なときだけ一時的にアクセスを許可するルールを追加し、作業完了後に削除することで、攻撃対象領域(アタックサーフェス)を最小化します。Azure SQL Managed Instanceのパブリックエンドポイントも同様の運用が推奨されます。
複数のアプリケーションサービスプリンシパルに対し、Azure SQL Databaseへの最小権限でのアクセスを、Azure ADグループ経由で一括管理したい場合の適切なアプローチはどれですか。
解答・解説を見る
正解: B. B. Azure ADグループを作成し、サービスプリンシパルをメンバーに追加して、そのグループに対してデータベース権限をまとめて付与する
正解の根拠・詳細解説
Azure ADグループ単位でデータベースユーザーを作成し権限を付与することで、グループメンバーシップの追加・削除だけでアクセス権限を一元管理でき、個別アカウントのパスワード管理も不要になります。
Azure SQL Databaseのパスワードポリシー(複雑性要件やロックアウト)に関する説明として正しいものはどれですか。
解答・解説を見る
正解: A. A. SQL Server認証のログインに対しては、SQL ServerのCHECK\_POLICYに準じた強力なパスワード要件が適用される
正解の根拠・詳細解説
Azure SQL DatabaseのSQL認証ログインには、SQL Serverと同様の強力なパスワードポリシー(複雑性要件など)が適用されます。可能であればAzure AD認証を併用し、MFAなどの追加のセキュリティ機能を活用することが推奨されます。
Always Encryptedを使用する場合、暗号化された列に対してアプリケーションが範囲検索(例: BETWEEN)を実行できるかどうかは、どの設定に依存しますか。
解答・解説を見る
正解: A. A. 暗号化の種類(Deterministic暗号化かRandomized暗号化か)
正解の根拠・詳細解説
Always Encryptedはクライアント側のドライバーで暗号化と復号を行い、データベースエンジンが平文を扱わないため、サーバー側で実行できる演算が暗号化の種類によって制限されます。決定論的暗号化は同じ平文から常に同じ暗号文を生成するので、暗号文どうしの比較で等価性を判定でき、等値検索や結合、GROUP BY、等価述語に対応するインデックスの利用が可能です。ただし暗号文の並び順は平文の順序を保存しないため、BETWEENや大小比較のような範囲検索、ORDER BYはサポートされません。一方ランダム化暗号化は同じ平文でも毎回異なる暗号文になるため安全性は高いものの、等価比較すらサーバー側では行えず、検索条件に使う列には適しません。暗号化した列で範囲検索を行いたい場合は、セキュリティエンクレーブを利用する構成を検討します。サービスティアやファイアウォール規則、TDEの有無はこの制約とは無関係で、TDEは保存データ全体を透過的に暗号化する別の目的の機能です。
特定のクエリの実行プランが、ある時点から急激に劣化してパフォーマンスが悪化した原因を調査し、過去の実行プランと比較したい場合に最も適した機能はどれですか。
解答・解説を見る
正解: A. A. Query Store
正解の根拠・詳細解説
Query Storeは、クエリの実行プランと実行統計(CPU時間、実行回数、待機時間など)を時系列で自動的に記録します。「Top Resource Consuming Queries」や「Regressed Queries」のレポートを使って、パフォーマンス劣化したクエリと過去の実行プランを比較できます。
現在データベースで実行中のすべてのリクエストと、それぞれが消費しているCPU時間・待機状態をリアルタイムで確認したい場合に使用する動的管理ビュー(DMV)はどれですか。
解答・解説を見る
正解: A. A. sys.dm\_exec\_requests
正解の根拠・詳細解説
sys.dm\_exec\_requestsは、現在実行中の各リクエストのセッションID、状態、待機タイプ、CPU時間、実行中のクエリのSQLハンドルなどの情報を提供し、現在のアクティビティの調査に使用されます。
Azure SQL Databaseの直近のCPU使用率、データI/O、ログI/Oのパーセンテージを時系列で確認したい場合に使用する動的管理ビューはどれですか。
解答・解説を見る
正解: A. A. sys.dm\_db\_resource\_stats
正解の根拠・詳細解説
sys.dm\_db\_resource\_statsは、直近1時間分のリソース使用状況(CPU%、データI/O%、ログ書き込み%、メモリ使用率など)を15秒間隔で保持しており、サービスティアやコンピューティングサイズの見直しの判断材料になります。
データベースエンジン内で発生する特定のイベント(ロック待ち、デッドロック、クエリ完了など)を低オーバーヘッドで詳細にトレースしたい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. Extended Events(拡張イベント)
正解の根拠・詳細解説
Extended Eventsは、SQL Serverおよび Azure SQL Databaseで利用可能な軽量な診断・トレース機能で、デッドロック、ロングランニングクエリ、ログイン失敗など特定のイベントを低オーバーヘッドで収集できます。Profilerの後継として推奨されます。
Azure SQL Databaseのリソース使用率(DTUまたはvCore使用率)が継続的に80%を超えた場合に、運用担当者へ通知メールを自動送信したい場合に構成する機能はどれですか。
解答・解説を見る
正解: A. A. Azure Monitor のアラートルール
正解の根拠・詳細解説
Azure Monitorでメトリック(CPU percentage、DTU percentageなど)に基づくアラートルールを作成し、しきい値を超えた場合にアクショングループ経由でメール・SMS・Webhookなどによる通知を送信できます。
頻繁に更新されるテーブルのインデックスが断片化し、クエリパフォーマンスが低下している場合の対処として適切なものはどれですか。
解答・解説を見る
正解: A. A. インデックスの再構築(REBUILD)または再構成(REORGANIZE)を実行する
正解の根拠・詳細解説
インデックスの断片化が進むと、ページの読み取り効率が低下します。断片化率に応じてALTER INDEX … REBUILDまたはALTER INDEX … REORGANIZEを実行し、インデックスを最適化することでパフォーマンスを改善できます。
実行プランが古い統計情報に基づいて非効率に生成されている疑いがある場合、まず確認すべき対処はどれですか。
解答・解説を見る
正解: A. A. 統計情報を更新する(UPDATE STATISTICS)、または自動更新統計が有効か確認する
正解の根拠・詳細解説
オプティマイザは統計情報(列の値の分布など)に基づいて実行プランを生成します。統計情報が古いと不適切なプランが選択される可能性があるため、UPDATE STATISTICSの実行や自動更新統計(AUTO\_UPDATE\_STATISTICS)の設定確認が重要です。
複数のセッションが同じリソースをめぐって互いにロックを取得し合い、処理が完了しない状態(デッドロック)が頻発している場合、原因調査に有効な手段はどれですか。
解答・解説を見る
正解: A. A. Extended Eventsでsystem\_health セッションやデッドロックグラフを確認する
正解の根拠・詳細解説
system\_health拡張イベントセッションは既定で有効になっており、デッドロックが発生した際にデッドロックグラフ(XML形式)を記録します。これを解析することで、競合しているリソースとクエリを特定し、トランザクション設計やインデックスの見直しにつなげられます。
Azure SQL Databaseの「待機統計(Wait Statistics)」を確認する主な目的はどれですか。
解答・解説を見る
正解: A. A. クエリやセッションがどのようなリソース・条件で待たされているかを把握し、パフォーマンスのボトルネックを特定する
正解の根拠・詳細解説
待機統計(sys.dm\_os\_wait\_statsやsys.dm\_db\_wait\_stats)は、セッションがCPU、ディスクI/O、ロック、ネットワークなどのどのリソースをどれだけ待っているかを示し、ボトルネックの種類(CPU bound、I/O boundなど)を特定する手がかりになります。
Azure SQL Databaseで発生している長時間実行中のクエリ(ロングランニングクエリ)を、現在のリソース消費量とともに特定したい場合に有効な組み合わせはどれですか。
解答・解説を見る
正解: A. A. sys.dm\_exec\_requests と sys.dm\_exec\_sql\_text を結合して、実行中のSQL文と経過時間・消費リソースを確認する
正解の根拠・詳細解説
sys.dm\_exec\_requestsで実行中のリクエストの開始時刻・状態・消費リソースを取得し、sql\_handleを使ってsys.dm\_exec\_sql\_textから実際に実行されているSQLテキストを取得することで、ロングランニングクエリを特定できます。
Azure SQL Databaseの自動チューニングが「インデックスを作成する」推奨を行った場合、適用前に確認できる情報として正しいものはどれですか。
解答・解説を見る
正解: A. A. 推奨されるインデックスの定義、想定される改善効果(推定される影響)、関連するクエリ
正解の根拠・詳細解説
自動チューニングの推奨事項(Recommendations)画面では、推奨されるインデックスのCREATE INDEX文、推定されるパフォーマンス改善効果、影響を受けるクエリなどの詳細を確認でき、自動適用するかどうかを判断できます。
Azure SQL ManagedInstanceやAzure SQL Databaseのログを長期保存し、Kustoクエリ言語(KQL)で分析したい場合に連携させる代表的なサービスはどれですか。
解答・解説を見る
正解: A. A. Azure Log Analytics(Azure Monitor ログ)
正解の根拠・詳細解説
診断設定を構成することで、Azure SQLのログ・メトリックをLog Analyticsワークスペースに送信し、KQL(Kusto Query Language)を使った高度な分析や、Azure Monitor ワークブックでの可視化が可能になります。
Azure SQL Databaseのtempdbの使用率が高くなり、一時テーブルやソート処理が遅延している場合の最初の調査ステップとして適切なものはどれですか。
解答・解説を見る
正解: A. A. sys.dm\_db\_file\_space\_usageなどでtempdbの使用状況を確認し、大量の一時オブジェクトを生成しているクエリを特定する
正解の根拠・詳細解説
tempdbはソート、一時テーブル、バージョンストア(行バージョニング)などに使用されます。sys.dm\_db\_file\_space\_usageやsys.dm\_db\_task\_space\_usageを使って使用状況を分析し、原因となっているクエリやトランザクションを特定します。
Azure SQL Databaseへの接続数が上限に達し、新しい接続が「接続が多すぎます」エラーで拒否されるようになった場合の対処として適切なものはどれですか。
解答・解説を見る
正解: A. A. コンピューティングサイズ(vCore数など)を増やして最大接続数の上限を緩和する、またはアプリケーション側で接続プーリングを適切に構成する
正解の根拠・詳細解説
各サービスティア・コンピューティングサイズには最大ワーカー数・最大セッション数の上限があります。接続プーリングの導入や、必要に応じてより上位のサービスティア・サイズへの変更で上限を緩和できます。
SQL Server on Azure VMにおいて、複数のワークロードが同一インスタンス上で動作する際、特定のワークロードが使用できるCPU・メモリリソースを制限したい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. Resource Governor
正解の根拠・詳細解説
Resource Governorは、SQL Server(およびManaged Instance)のワークロードグループごとにCPU使用率・メモリ・I/Oなどのリソース消費を制限・管理する機能です。Azure SQL Database(単一データベース)では利用できません。
クエリのパラメータ化により、初回実行時のパラメータ値に基づいて生成された実行プランが、その後別のパラメータ値で実行された際に非効率になる現象を何と呼びますか。
解答・解説を見る
正解: A. A. パラメータースニッフィング(Parameter Sniffing)
正解の根拠・詳細解説
パラメータースニッフィングは、最初の実行時のパラメータ値に最適化された実行プランがキャッシュされ、その後異なるデータ分布のパラメータで実行された際に非効率なプランが再利用されてしまう現象です。クエリヒントの利用やプランの再コンパイルで対処します。
Azure SQL Databaseで、ある操作によって他のトランザクションが長時間ロック解放を待たされている「ブロッキング」を調査する際に有効なDMVはどれですか。
解答・解説を見る
正解: A. A. sys.dm\_tran\_locks および sys.dm\_exec\_requests のblocking\_session\_id列
正解の根拠・詳細解説
sys.dm\_exec\_requestsのblocking\_session\_id列で、どのセッションが他のセッションをブロックしているかを特定し、sys.dm\_tran\_locksでロックの種類・対象リソースを確認することで、ブロッキングチェーンを分析できます。
Azure Portalの「Query Performance Insight」機能で確認できる情報として適切なものはどれですか。
解答・解説を見る
正解: A. A. データベースに対するリソース消費量が多いクエリのトップNと、その実行傾向(時間帯別のCPU消費など)
正解の根拠・詳細解説
Query Performance Insightは、Azure Portal上でQuery Storeのデータをグラフィカルに可視化し、CPU・実行時間・実行回数の観点でリソース消費が多いクエリを簡単に特定できる機能です。
メモリ最適化テーブル(In-Memory OLTP)を使用しているAzure SQL Databaseで、メモリ使用量が継続的に増加し、データベースのメモリ上限に近づいている場合に確認すべき項目はどれですか。
解答・解説を見る
正解: A. A. メモリ最適化テーブルとテーブル変数のメモリ消費量、および不要になった行バージョンのガベージコレクション状況
正解の根拠・詳細解説
In-Memory OLTPのテーブルはすべてメモリに保持されるため、メモリ最適化フィルグループのサイズやガベージコレクションの状況を監視し、必要に応じてサービスティア・サイズの見直しやデータのアーカイブを検討します。
Azure SQL Databaseのストレージ使用量が上限に近づいていることをプロアクティブに検知し、容量不足によるエラーを未然に防ぐための適切な方法はどれですか。
解答・解説を見る
正解: A. A. Azure Monitorで「Storage percentage」メトリックに対するアラートルールを設定する
正解の根拠・詳細解説
Storage percentage(または使用済みストレージ容量)メトリックに対してアラートを設定し、一定のしきい値(例: 80%)を超えた場合に通知を受け取ることで、容量不足によるエラーが発生する前にスケールアップやデータクリーンアップなどの対応が可能になります。
Azure SQL Databaseにおいて、特定のテーブルへのアクセスが急増した時間帯を特定し、その時間帯に実行されていたクエリを特定するための調査アプローチとして適切なものはどれですか。
解答・解説を見る
正解: A. A. Query Storeで時間別のクエリ実行統計を確認し、該当時間帯に実行回数・リソース消費が増加したクエリを特定する
正解の根拠・詳細解説
Query Storeは時間間隔ごとにクエリの実行統計を保持しているため、特定時間帯にフィルタしてリソース消費の多いクエリを抽出し、アクセス増加の原因となったクエリやアプリケーション処理を特定できます。
Azure SQL Managed Instanceのインスタンスレベルのリソース使用状況(CPU使用率、ストレージ使用量など)を監視するために、Azure Monitorで確認できるメトリックの例として適切なものはどれですか。
解答・解説を見る
正解: A. A. Virtual core count、Storage space used、CPU percentage などのインスタンスレベルメトリック
正解の根拠・詳細解説
Azure SQL Managed Instanceにはインスタンスプールやインスタンスレベルのメトリック(CPU percentage、Storage space used、IO requestsなど)が提供され、Azure Monitorで監視・アラート設定が可能です。
データベースのパフォーマンスチューニングにおいて、「実行頻度は低いが1回あたりのリソース消費が極端に大きいクエリ」を特定するためにQuery Storeで確認すべき指標はどれですか。
解答・解説を見る
正解: A. A. 実行回数(Execution count)ではなく、合計または平均のCPU時間・論理読み取り数などのリソース消費量
正解の根拠・詳細解説
実行回数が少なくても、1回あたりの合計CPU時間や論理読み取り数が極端に大きいクエリは全体のリソース消費に大きな影響を与えることがあります。Query Storeで「Total」や「Average」のリソース消費量でソートして特定します。
Azure SQL Databaseで、定期的にすべてのデータベースの主要なパフォーマンスメトリック(DTU使用率、接続数、デッドロック数など)をダッシュボードでまとめて可視化し、複数データベースを横断的に監視したい場合に適した方法はどれですか。
解答・解説を見る
正解: A. A. Azure Monitor ワークブック(Workbooks)やLog Analyticsを用いたカスタムダッシュボードを作成する
正解の根拠・詳細解説
Azure Monitorのワークブックは、複数のリソースにまたがるメトリックとログを1つのキャンバスに配置し、表・グラフ・パラメーターを組み合わせた対話的なレポートを作成できる機能です。Azure SQL Databaseの診断設定でメトリックやログをLog Analyticsワークスペースへ送っておけば、KQLですべてのデータベースを横断的に集計し、DTUやvCoreの使用率、接続数、デッドロック数などをサブスクリプション単位で一覧化できます。パラメーターで対象期間やリソースを切り替えられるため、しきい値を超えたデータベースの絞り込みや、定期的なキャパシティレビュー用のダッシュボードとして繰り返し再利用でき、必要に応じてアラート規則と組み合わせて能動的な通知も構成できます。各データベースへ個別にログインしてDMVを実行する方法は、DMVの内容がインスタンス単位で多くはフェールオーバーや再起動でリセットされるため、横断的で継続的な監視には向きません。照合順序やファイアウォール規則の統一は監視の可視化とは無関係です。
Azure SQL Managed Instanceで、オンプレミスのSQL Serverと同様に「毎日深夜にバックアップ検証スクリプトを実行する」といった定期ジョブをスケジュールしたい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. SQL Server エージェント(SQL Server Agent)ジョブ
正解の根拠・詳細解説
Azure SQL Managed InstanceはSQL Server Agentをサポートしており、オンプレミスと同様にジョブ・スケジュール・ステップ・通知を設定して、定期的なT-SQLスクリプトの実行やメンテナンスタスクを自動化できます。
Azure SQL Database(単一データベース、SQL Server Agentが利用できない)で、複数のデータベースに対して同じT-SQLスクリプトを定期的に実行したい場合に利用するサービスはどれですか。
解答・解説を見る
正解: A. A. Elastic Database Jobs(エラスティックジョブ)
正解の根拠・詳細解説
Azure SQL Database(単一データベース)にはSQL Server Agentが存在しないため、Elastic Database Jobs(エラスティックジョブエージェント)を使用して、複数のデータベースに対するT-SQLスクリプトの定期実行を自動化します。
データベースのメンテナンスタスク(インデックス再構築や統計更新など)を、Azureのリソース内ではなくAzureサービス全体を横断して自動化・スケジュール実行したい場合に利用するサービスはどれですか。
解答・解説を見る
正解: A. A. Azure Automation(Runbook)
正解の根拠・詳細解説
Azure Automationでは、PowerShellやPythonのRunbookを作成し、スケジュールに基づいて複数のAzureリソースに対する操作(複数データベースのメンテナンス、リソースの起動・停止など)を自動化できます。
複数のAzure SQL Databaseに対して、毎週月曜日にインデックスの断片化状況をチェックし、断片化率が30%を超えるインデックスのみを再構築するスクリプトを自動実行したい場合の組み合わせとして適切なものはどれですか。
解答・解説を見る
正解: A. A. Elastic Database Jobs(またはAzure Automation Runbook)でT-SQLスクリプトをスケジュール実行する
正解の根拠・詳細解説
断片化のチェックと条件付きのインデックス再構築は、sys.dm\_db\_index\_physical\_statsを使用するT-SQLスクリプトとして記述し、Elastic Database JobsやAzure Automation Runbookでスケジュール実行することで自動化できます。
Azure SQL Databaseのサーバーレスコンピューティングティアにおいて、「自動一時停止(Auto-pause)」を有効にする主な目的はどれですか。
解答・解説を見る
正解: A. A. アイドル時間が一定時間続いた場合にコンピューティングを停止し、コストを削減する
正解の根拠・詳細解説
サーバーレスティアの自動一時停止機能は、設定した遅延時間(例: 1時間)アクティブな接続がない場合にコンピューティングリソースを一時停止し、ストレージ料金のみが発生する状態にすることでコストを最適化します。
Azure SQL Managed Instanceのメンテナンスウィンドウ(メンテナンスイベントの実施時間帯)を、業務に影響が少ない深夜の時間帯に設定したい場合に利用する機能はどれですか。
解答・解説を見る
正解: A. A. メンテナンスウィンドウの構成(Maintenance window)
正解の根拠・詳細解説
Azure SQL DatabaseおよびManaged Instanceでは、定期メンテナンス(パッチ適用など)が実施される曜日・時間帯のウィンドウを複数の選択肢から指定でき、業務影響を最小化するスケジュールに調整できます。
Azure SQL Databaseのジョブが失敗した場合に、運用チームのTeamsチャネルへ自動的に通知を送信したい場合の構成として適切なものはどれですか。
解答・解説を見る
正解: A. A. Azure Automation Runbookの実行結果やAzure Monitorアラートを、アクショングループ経由でWebhook/Logic Appsと連携させ、Teamsへ通知する
正解の根拠・詳細解説
Azure Monitorのアラートルールやアクショングループから、Webhookを使ってAzure Logic AppsやPower Automateを呼び出し、Teamsへの通知メッセージを送信するフローを構成することで、ジョブ失敗時のアラートを自動化できます。
Azure PowerShellやAzure CLIを使用してAzure SQL Databaseのスケーリング(vCore数の変更)をスクリプト化する主な利点はどれですか。
解答・解説を見る
正解: A. A. 手動操作のミスを減らし、繁忙期前後でのスケールアップ・ダウンを定期スケジュールやイベントに応じて自動化できる
正解の根拠・詳細解説
PowerShell(Set-AzSqlDatabase)やAzure CLI(az sql db update)を使用してスケーリング操作をスクリプト化することで、Azure AutomationやAzure Functionsと組み合わせ、予測可能な負荷パターンに応じたスケジュールベースのスケーリングを自動化できます。
Infrastructure as Code(IaC)の考え方で、Azure SQL DatabaseやManaged Instanceのリソース構成(サービスティア、ファイアウォール規則、診断設定など)をコードで管理し、一貫性のある環境を再現可能にしたい場合に使用する技術として適切なものはどれですか。
解答・解説を見る
正解: A. A. ARMテンプレートまたはBicep
正解の根拠・詳細解説
ARMテンプレートやBicepを使用すると、Azure SQLリソースの構成(SKU、ファイアウォール規則、診断設定、タグなど)をコードとして定義し、Azure DevOpsやGitHub Actionsのパイプラインを通じて一貫性のある環境のデプロイ・更新を自動化できます。
Azure SQL Database上のストアドプロシージャを毎晩実行し、処理結果に応じてメール通知を送信したいが、Managed Instanceではなく単一データベースを使用している場合の構成として適切なものはどれですか。
解答・解説を見る
正解: A. A. エラスティックジョブエージェントでジョブを定義し、ストアドプロシージャの実行と通知ロジック(Logic Apps連携など)を組み合わせる
正解の根拠・詳細解説
単一データベースにはSQL Server Agentがないため、エラスティックジョブエージェント(Elastic Job Agent)でジョブを定義し、ストアドプロシージャを実行します。実行結果の通知には、Azure MonitorアラートやLogic Appsとの連携が一般的に使用されます。
Azure SQL Databaseのバックアップ保持期間を既定の7日間から35日間に変更し、長期保持ポリシー(LTR)として年次バックアップを10年間保持したい場合に構成する機能はどれですか。
解答・解説を見る
正解: A. A. 長期保持ポリシー(Long-Term Retention, LTR)
正解の根拠・詳細解説
長期保持ポリシー(LTR)を構成すると、週次・月次・年次の自動バックアップを最大10年間保持できます。既定のポイントインタイムリストア(PITR)の保持期間(最大35日)とは別に設定します。
Azure Automationのハイブリッドランナーワーカー(Hybrid Runbook Worker)を使用する典型的なシナリオはどれですか。
解答・解説を見る
正解: A. A. オンプレミス環境やAzure以外の仮想マシン上でRunbookを実行し、オンプレミスのSQL ServerとAzure SQLの両方を含むハイブリッド環境のタスクを自動化する
正解の根拠・詳細解説
Hybrid Runbook Workerを使用すると、Azure Automationのジョブをオンプレミスやその他のクラウド上のマシンで実行できるため、オンプレミスSQL ServerとAzure SQLを含むハイブリッドなメンテナンスタスクを統一的に自動化できます。
Azure SQL Managed Instanceのパッチ適用は、いつ実施されますか。
解答・解説を見る
正解: A. A. ユーザーが設定したメンテナンスウィンドウ内で、Microsoftによって自動的に実施される
正解の根拠・詳細解説
Azure SQL Managed InstanceはPaaSであるため、OS・SQL Serverエンジンのパッチ適用はMicrosoftによって自動的に行われます。ユーザーは構成したメンテナンスウィンドウ内でこれらのイベントが実施されるよう調整できます。
複数のデータベースに対する権限変更(新しいAzure ADグループへのアクセス許可付与など)を一括で適用する際、変更履歴を管理しレビュー・承認プロセスを経て本番環境に適用したい場合に適した運用方法はどれですか。
解答・解説を見る
正解: A. A. T-SQLスクリプトをソースコード管理(Gitなど)で管理し、Azure DevOpsやGitHub ActionsのCI/CDパイプラインを通じて適用する
正解の根拠・詳細解説
データベース変更(権限設定、スキーマ変更など)をT-SQLスクリプトやマイグレーションツール(DACPAC、Flywayなど)としてバージョン管理し、CI/CDパイプラインでレビュー・承認・適用を行うことで、変更管理の追跡性と一貫性が向上します。
Azure SQL Databaseの自動チューニング設定のうち、「CREATE INDEX」「DROP INDEX」「FORCE LAST GOOD PLAN」をそれぞれ個別に有効・無効にできる管理方法はどれですか。
解答・解説を見る
正解: A. A. Azure Portalのデータベース設定またはT-SQL(sp\_configure相当のALTER DATABASE設定)から個別に構成する
正解の根拠・詳細解説
自動チューニングの各オプション(CREATE\_INDEX、DROP\_INDEX、FORCE\_LAST\_GOOD\_PLAN)は、Azure Portalの「自動チューニング」設定画面、またはALTER DATABASE … SET AUTOMATIC\_TUNING文で個別に有効・無効を設定できます。
Azure SQL Databaseで、特定の時間帯(例: 月初の経理処理時間帯)のみ一時的にvCore数を増やし、処理完了後に元のサイズへ戻す運用を自動化したい場合の適切な実装はどれですか。
解答・解説を見る
正解: A. A. Azure AutomationのスケジュールされたRunbookまたはAzure FunctionsのタイマートリガーからAzure SQLのスケーリングAPIを呼び出す
正解の根拠・詳細解説
スケジュールされたAzure AutomationのRunbookやAzure Functionsのタイマートリガーから、Azure REST API・PowerShell・CLIを使用してスケーリング操作を呼び出すことで、時間帯に応じたスケールアップ・ダウンを自動化できます。
Azure SQL Databaseのエラスティックジョブで実行するスクリプトが対象とするデータベース群を、タグやデータベースグループとして定義し管理する仕組みは何と呼ばれますか。
解答・解説を見る
正解: A. A. ターゲットグループ(Target Group)
正解の根拠・詳細解説
エラスティックジョブでは「ターゲットグループ」を定義し、特定のサーバー上のすべてのデータベース、特定のデータベースのリスト、またはエラスティックプール内のすべてのデータベースなど、ジョブの実行対象をグループ化して管理します。
Azure Policyを使用してAzure SQL Databaseの自動化・ガバナンスを行う典型的な例はどれですか。
解答・解説を見る
正解: A. A. 特定のタグが設定されていないSQLサーバーの作成を拒否する、またはTDEが無効なデータベースを検出して自動的に有効化を強制する
正解の根拠・詳細解説
Azure Policyは、リソースの作成・更新時に組織のコンプライアンス要件(必須タグ、TDE有効化、許可されたSKUなど)を強制し、非準拠リソースの作成を拒否したり、修復タスクを自動実行したりするためのガバナンスツールです。
オンプレミスのSQL Server Agentジョブの定義を、Azure SQL Managed Instanceへ移行する際の注意点として正しいものはどれですか。
解答・解説を見る
正解: A. A. Managed InstanceのSQL Server Agentジョブはほぼそのまま互換性があるが、ジョブステップ内でOSコマンド(CmdExecなど)を使用している場合は移行時に見直しが必要な場合がある
正解の根拠・詳細解説
Managed InstanceはSQL Server Agentをサポートしており、T-SQLジョブステップは概ねそのまま移行できます。ただし、CmdExecジョブステップ(OSコマンド実行)などPaaS環境では制限がある機能については代替手段(Azure Automationなど)への置き換えが必要になることがあります。
Azure SQL Databaseのリソース使用状況に基づいて、将来のキャパシティプランニングレポートを定期的に自動生成し、関係者にメール送付したい場合の構成として適切なものはどれですか。
解答・解説を見る
正解: A. A. Log AnalyticsにメトリックをエクスポートしてKQLクエリでレポートを作成し、Azure Automationまたはスケジュールされたワークブックのエクスポート機能でメール送付する
正解の根拠・詳細解説
診断設定でメトリックをLog Analyticsに送信し、KQLでリソース使用状況のトレンドを集計するクエリを作成します。Azure Automationや Logic Appsと組み合わせることで、定期的なレポート生成とメール配信を自動化できます。
Azure SQL Database単一データベースにおいて、エラスティックジョブエージェントを新規に作成する際に必要となるリソースはどれですか。
解答・解説を見る
正解: A. A. ジョブのメタデータを格納するためのジョブデータベース(Job Database)
正解の根拠・詳細解説
エラスティックジョブエージェントを作成する際は、ジョブ定義・実行履歴・ターゲットグループなどのメタデータを保存するための専用のAzure SQL Database(ジョブデータベース)を指定する必要があります。
継続的インテグレーション/継続的デプロイ(CI/CD)パイプラインの中で、データベーススキーマの変更(新しいテーブル追加など)をAzure SQL Databaseに自動的に適用するために使用されるアプローチとして適切なものはどれですか。
解答・解説を見る
正解: A. A. DACPAC/SQLプロジェクトを使用したスキーマ比較・デプロイ(SqlPackageなど)をパイプラインに組み込む
正解の根拠・詳細解説
Visual StudioのSQL Server Database ProjectやDACPACファイルを使用し、SqlPackage.exeなどのツールでターゲットデータベースとのスキーマ差分を検出・適用するプロセスをCI/CDパイプラインに統合することで、スキーマ変更のデプロイを自動化・標準化できます。
Azure SQL Database のメンテナンス・自動化スクリプトの実行ログを一定期間保存し、過去の実行履歴を後から確認したい場合に有効な方法はどれですか。
解答・解説を見る
正解: A. A. Azure Automationのジョブ実行履歴、またはエラスティックジョブの実行結果テーブル(job execution history)を確認する
正解の根拠・詳細解説
Azure Automationは各Runbookの実行履歴(開始・終了時刻、ステータス、出力ログ)を保持し、エラスティックジョブも実行結果をジョブデータベース内のテーブルに記録するため、これらを参照することで過去の自動化処理の履歴を確認できます。
コスト最適化の自動化として、開発環境用のAzure SQL Databaseを「平日夜間と休日は自動的にコンピューティングを最小サイズに変更し、平日日中のみ通常サイズに戻す」運用を実現する最も効率的な方法はどれですか。
解答・解説を見る
正解: A. A. Azure Automationのスケジュールされたrunbookで時間帯に応じてSet-AzSqlDatabaseのようなコマンドを実行し、サービスティア・サイズを切り替える
正解の根拠・詳細解説
開発環境のように利用時間帯がはっきりしているデータベースでは、必要な時間だけ通常のサイズで動かし、それ以外の時間帯は最小サイズへ落とすスケジュールベースのスケーリングが有効です。Azure AutomationのRunbookにSet-AzSqlDatabaseなどのコマンドレットを記述し、スケジュールから平日朝に通常サイズへ、夜間や休日に最小サイズへ切り替えれば、運用に人手をかけずにコンピューティング料金を削減できます。認証はAutomationアカウントのマネージドIDに対象のSQLサーバーへのロールを付与して行うのが安全で、同等の処理はAzure Functionsのタイマートリガーやロジックアプリからも実装できます。サービスレベルの変更は内部的に新しいコンピューティングへの切り替えを伴い、完了までに時間がかかったうえ接続が切断される可能性があるため、業務時間外に実行するのが前提です。またサイズを下げてもストレージ分の課金は残ります。負荷が断続的であれば、自動的に一時停止と再開を行うサーバーレスコンピューティングティアの採用も検討に値します。
Azure SQL Databaseの自動バックアップ機能について正しい説明はどれですか。
解答・解説を見る
正解: A. A. フルバックアップ・差分バックアップ・トランザクションログバックアップが自動的に取得され、既定で7日間(最大35日間)のポイントインタイムリストアが可能
正解の根拠・詳細解説
Azure SQL Databaseでは、フルバックアップ(週1回程度)、差分バックアップ(数時間ごと)、トランザクションログバックアップ(5〜10分ごと)が自動的に取得され、既定の保持期間(7日間、構成により最大35日間)内の任意の時点へ復元(PITR)できます。
誤って削除してしまったAzure SQL Databaseを、削除時点から一定期間内に復元したい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. 削除済みデータベースの復元(Restore deleted database)
正解の根拠・詳細解説
データベースが削除されても、サーバーが存在する限り、削除前の最後のバックアップを基にした「削除済みデータベースの復元」が保持期間内(既定で最大35日相当)であれば可能です。
リージョン全体の障害に備えて、Azure SQL Databaseのバックアップを地理冗長ストレージに保存し、別リージョンの新しいサーバーへ復元したい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. geo-restore(地理冗長バックアップからの復元)
正解の根拠・詳細解説
geo-restoreは、地理冗長バックアップストレージ(RA-GRS)に保存されたバックアップを使用して、ソースサーバーとは別のリージョンに新しいデータベースを復元する機能で、リージョン障害時のディザスタリカバリ手段として利用されます。
Azure SQL Databaseで、プライマリデータベースの更新をほぼリアルタイムで別リージョンの読み取り可能なセカンダリデータベースに反映し、リージョン障害時に手動または自動でフェールオーバーしたい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. アクティブ geo-replication(または自動フェールオーバーグループ)
正解の根拠・詳細解説
アクティブgeo-replicationは、最大4つの読み取り可能なセカンダリデータベースを異なるリージョンに作成し、非同期でデータを継続的にレプリケートします。自動フェールオーバーグループを使用すると、フェールオーバーとDNSエンドポイントの切り替えを自動化できます。
複数のデータベースをまとめてセカンダリリージョンにフェールオーバーさせる際、アプリケーションの接続文字列を変更せずに自動的に新しいプライマリへ接続をリダイレクトしたい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. 自動フェールオーバーグループ(Auto-failover group)のリスナーエンドポイント
正解の根拠・詳細解説
自動フェールオーバーグループは、読み取り/書き込み用および読み取り専用用のリスナーエンドポイント(DNS名)を提供し、フェールオーバーが発生してもアプリケーションは同じエンドポイントを使い続けることができ、内部的に新しいプライマリへルーティングされます。
Azure SQL Database Business Criticalサービスティアにおいて、組み込みで提供される高可用性アーキテクチャの説明として正しいものはどれですか。
解答・解説を見る
正解: A. A. プライマリレプリカと最大3つのセカンダリレプリカ(ローカル)からなるAlways On可用性グループに似た構成を内部的に持ち、プライマリ障害時に自動フェールオーバーする
正解の根拠・詳細解説
Business Criticalティア(Premiumも同様)は、内部的にプライマリと最大3つのセカンダリレプリカで構成されるAlways On可用性グループに似たアーキテクチャを持ち、プライマリで障害が発生した場合、数秒程度でセカンダリに自動フェールオーバーします。
SQL Server on Azure VMで、オンプレミスのWindows Server Failover Cluster(WSFC)ベースのAlways On可用性グループを構成する場合、クラスタのクォーラム構成として考慮すべき要素はどれですか。
解答・解説を見る
正解: A. A. クラスタの過半数票(クォーラム)を維持するためのノード数やクラウドWitness(クラウド監視)の構成
正解の根拠・詳細解説
Always Onクラスタでは、ノード障害時にクォーラム(過半数の票)を維持できるよう、奇数のノード構成やクラウドWitness(Azure Storageベースの監視)の利用を検討する必要があります。クォーラムを失うとクラスタ全体がオフラインになる可能性があります。
Azure SQL Database Hyperscaleで、運用環境とは別に、検証やオフロード用に既存データベースとほぼ同じデータを持つ独立した読み書き可能なコピーを高速に作成したい場合に使用する機能はどれですか。
解答・解説を見る
正解: A. A. 名前付きレプリカ(Named Replica)
正解の根拠・詳細解説
Hyperscaleの名前付きレプリカは、プライマリと同じデータをほぼリアルタイムで参照できる追加の計算レプリカで、独立した接続エンドポイントを持ちます。読み取り専用ワークロードのオフロードや、開発・テスト用途に利用できます(書き込みはプライマリのみ)。
ある企業の災害復旧要件として「リージョン障害発生時、データ損失は最大5分まで許容、復旧時間は1時間以内」と定められています。これらの指標はそれぞれ何と呼ばれますか。
解答・解説を見る
正解: A. A. データ損失の許容時間はRPO(Recovery Point Objective)、復旧時間はRTO(Recovery Time Objective)
正解の根拠・詳細解説
RPO(Recovery Point Objective)は「どの時点のデータまで復旧できればよいか(許容できるデータ損失の範囲)」、RTO(Recovery Time Objective)は「障害発生からサービス復旧までに許容される時間」を示す指標です。geo-replicationやgeo-restoreの選択はこれらの目標値に基づいて行います。
geo-restoreを使用してリージョン障害から復旧する場合、一般的にRPO(データ損失の許容範囲)はどの程度になりますか。
解答・解説を見る
正解: A. A. 最大1時間程度(地理冗長バックアップのレプリケーション遅延に依存)
正解の根拠・詳細解説
geo-restoreは地理冗長ストレージ(RA-GRS)へのバックアップレプリケーションに依存するため、一般的にRPOは最大1時間程度となります。より低いRPOが必要な場合は、能動的にデータを同期するアクティブgeo-replicationや自動フェールオーバーグループを使用します。
Azure SQL Managed Instanceで自動フェールオーバーグループを構成する場合の前提条件として正しいものはどれですか。
解答・解説を見る
正解: A. A. プライマリとセカンダリのManaged Instanceは同じリソース、同じサービスティア・世代である必要があり、それぞれ別のリージョンに作成する
正解の根拠・詳細解説
Managed Instanceの自動フェールオーバーグループは、異なるリージョンに同等の構成(同じハードウェア世代・サービスティア)のセカンダリManaged Instanceを用意し、それらの間で自動フェールオーバーグループを構成します。
Azure SQL Databaseで、ゾーン冗長構成(Zone-redundant configuration)を有効にすると得られる効果はどれですか。
解答・解説を見る
正解: A. A. 同一リージョン内の複数のアベイラビリティゾーンにレプリカが配置され、ゾーン単位の障害に対する可用性が向上する
正解の根拠・詳細解説
ゾーン冗長構成では、Business CriticalまたはGeneral Purpose(Premiumファイル共有v2を使用する場合など)のレプリカを同一リージョン内の異なるアベイラビリティゾーンに分散配置し、データセンター(ゾーン)単位の障害に対する耐性を高めます。
オンプレミスのSQL Server環境で構築していたAlways On可用性グループを、Azure SQL Managed Instanceへの移行後も同様の概念で利用したい場合、最も近い機能はどれですか。
解答・解説を見る
正解: A. A. 自動フェールオーバーグループ(Auto-failover group)
正解の根拠・詳細解説
Azure SQL Managed Instanceの自動フェールオーバーグループは、Always On可用性グループに似た「プライマリ・セカンダリ間の自動フェールオーバー」のコンセプトをPaaSとして提供し、リスナーエンドポイントによる接続の自動切り替えを実現します。
Azure SQL Databaseのバックアップに含まれるデータの暗号化について正しい説明はどれですか。
解答・解説を見る
正解: A. A. バックアップは保存時に暗号化される(TDEが有効な場合、バックアップも暗号化された状態で保存される)
正解の根拠・詳細解説
Azure SQL DatabaseでTDEが有効になっている場合(既定で有効)、バックアップにもその暗号化が適用され、ストレージ上のバックアップファイルも保護されます。これにより、バックアップが漏えいした場合でもデータ自体の解読は困難になります。
本番環境のディザスタリカバリ計画を策定した後、実際にリージョン障害が発生した際に計画どおりに復旧できることを確認するために定期的に実施すべき作業はどれですか。
解答・解説を見る
正解: A. A. フェールオーバーのテスト(DR訓練)を定期的に実施し、手順書・RTO/RPOの達成状況を検証する
正解の根拠・詳細解説
フェールオーバーグループには「フェールオーバーのテスト(計画的フェールオーバー)」を実行できる機能があり、本番に近い形でDR手順を検証できます。定期的な訓練により、手順の有効性やRTO/RPOの達成状況を確認し、ドキュメントを最新化することが重要です。
Azure SQL Database Hyperscaleの高可用性アーキテクチャにおいて、ストレージとコンピューティングが分離されていることの利点として正しいものはどれですか。
解答・解説を見る
正解: A. A. コンピューティングレプリカの障害時に、ストレージ層は影響を受けず、新しいコンピューティングノードが既存のストレージにアタッチされることで高速に復旧できる
正解の根拠・詳細解説
Hyperscaleでは、データはログサービスとページサーバーによって管理される分離されたストレージレイヤーに保持されます。コンピューティングノード(プライマリ・セカンダリレプリカ)に障害が発生しても、ストレージ自体は独立しているため、新しいノードを既存のストレージにアタッチして高速に復旧できます。
複数リージョンに展開したアクティブgeo-replicationのセカンダリデータベースに対して、読み取り専用のレポーティングクエリを実行する際の前提として正しいものはどれですか。
解答・解説を見る
正解: A. A. セカンダリデータベースは読み取り専用として接続でき、プライマリへの書き込み負荷を分散できる
正解の根拠・詳細解説
アクティブgeo-replicationのセカンダリデータベースは読み取り専用接続が可能で、レポーティングや分析クエリをプライマリからオフロードできます。ただし非同期レプリケーションのため、わずかなレプリケーション遅延が発生する点に注意が必要です。
Azure SQL Managed Instanceにおいて、インスタンス障害発生時にバックアップからの復元ではなく、組み込みの高可用性メカニズムによって自動的に短時間で復旧する仕組みは、どのサービスティアで提供されますか。
解答・解説を見る
正解: A. A. General PurposeとBusiness Criticalの両方(アーキテクチャは異なるが、いずれも組み込みHAを提供)
正解の根拠・詳細解説
Azure SQL Managed InstanceのGeneral Purposeティアはリモートストレージとコンピューティングの分離構成、Business Criticalティアはローカルストレージを使用したAlways On可用性グループに似た構成で、それぞれ異なるアーキテクチャながら組み込みの高可用性を提供します。
企業の規制要件により、バックアップを最低10年間保持する必要がある場合、Azure SQL Databaseで取るべき対応はどれですか。
解答・解説を見る
正解: A. A. 長期保持ポリシー(LTR)で年次バックアップの保持期間を最大10年に設定する
正解の根拠・詳細解説
既定のポイントインタイムリストア(PITR)の保持期間は最大35日間ですが、長期保持ポリシー(LTR)を設定することで、週次・月次・年次バックアップを最大10年間保持し、コンプライアンス要件に対応できます。
Azure SQL Databaseの自動フェールオーバーグループでフェールオーバーが発生した場合、セカンダリリージョンのデータベースがプライマリになった後の動作として正しいものはどれですか。
解答・解説を見る
正解: A. A. 元のプライマリリージョンが復旧すると、元のプライマリは新しいセカンダリとして自動的に再同期される(再構成される)
正解の根拠・詳細解説
フェールオーバーグループでフェールオーバーが発生すると、新しいプライマリ(旧セカンダリ)が稼働を継続し、元のプライマリリージョンのリソースが復旧した際には新しいセカンダリとして再同期されます。役割(ロール)はグループ構成内で管理されます。
Azure SQL Databaseの「アクティブgeo-replication」を解除(リンク解除)してセカンダリを独立したプライマリデータベースに昇格させたい場合の操作として正しいものはどれですか。
解答・解説を見る
正解: A. A. セカンダリデータベースに対してフェールオーバー(昇格)操作を実行し、レプリケーションリンクを終了する
正解の根拠・詳細解説
セカンダリデータベースに対して「フェールオーバー」操作を実行すると、そのセカンダリが新しいプライマリに昇格し、元のプライマリとのレプリケーションリンクは終了します。意図的な役割の入れ替えや、永続的な移行に使用されます。
高可用性・災害復旧戦略を設計する際、「コスト」と「RTO/RPO」のトレードオフに関する一般的な考え方として正しいものはどれですか。
解答・解説を見る
正解: A. A. より低いRTO/RPO(迅速な復旧、最小限のデータ損失)を実現するほど、追加リソース(セカンダリレプリカ等)のコストは高くなる傾向がある
正解の根拠・詳細解説
即時フェールオーバーや限りなく0に近いRPOを実現するには、常時稼働するセカンダリレプリカやマルチリージョン構成などの追加リソースが必要になり、一般的にコストが増加します。要件に応じて適切なバックアップ・レプリケーション戦略を選択し、コストとのバランスを取ることが重要です。
Azure SQL Database Managed Instanceで、災害復旧のテストを行う際に「実際のフェールオーバーは行わず、セカンダリの同期状態やレプリケーション健全性のみを確認したい」場合に確認すべき項目はどれですか。
解答・解説を見る
正解: A. A. フェールオーバーグループのレプリケーション状態(Seeding Completeかどうかなど)とセカンダリの同期遅延
正解の根拠・詳細解説
Azure Portalまたはクエリで、フェールオーバーグループ・geo-replicationのレプリケーション状態(シーディング完了、同期中、エラーなど)やセカンダリのデータ反映の遅延状況を確認することで、実際にフェールオーバーを行わずにDR構成の健全性を検証できます。
新規にAzure SQL Database環境のDR戦略を検討する際、「コストを抑えつつ、リージョン障害時には数時間程度のダウンタイムとデータ損失を許容できる」という要件に最も適した構成はどれですか。
解答・解説を見る
正解: A. A. geo-restoreを利用したリージョン障害対応(追加のセカンダリレプリカは作成しない)
正解の根拠・詳細解説
geo-restore は、既定でペアリージョンへ複製される地理冗長バックアップから、任意のリージョンに新しいデータベースを復元する仕組みです。セカンダリのコンピューティングを常時稼働させる必要がないため、追加で発生するのはバックアップストレージのコストだけで、災害復旧の構成としては最も安価です。その代わり、障害発生後に復元処理を一から実行するため所要時間は長く、目安として RTO は最大12時間程度、RPO はバックアップの複製間隔に依存して最大1時間程度となります。これは設問の「数時間程度のダウンタイムとデータ損失を許容できる」という要件と合致します。これに対し選択肢Bの自動フェールオーバーグループは、セカンダリを常時稼働させて継続的にレプリケーションするため数秒単位の RPO と短い RTO を実現できますが、セカンダリ分のコンピューティング費用が上乗せされ、Business Critical やゾーン冗長を組み合わせればさらに高額になります。要件がコスト優先である以上、過剰な可用性構成は最適な選択とはいえません。