Azure VM でのSQL Serverへの適用
この記事では、Azure Virtual Machines (VM) 上の SQL Server のパフォーマンスを最適化するための一連のベスト プラクティスとガイドラインの一部としてチェックリストを提供します。 このガイドを使用して、VM の構成、ストレージのセットアップ、セキュリティ体制を改善し、パフォーマンスに関する一般的な問題のトラブルシューティングを行います。
この記事のチェックリストでは、このシリーズの次の記事にあるより包括的な詳細の概要を示します。
注
SQL Server インスタンス リソースを使用して、Azure portal で Azure VM インスタンスとデータベース上の個々 の SQL Server を 表示できるようになりました。 詳細については、 統合インベントリ (プレビュー) を参照してください。
Azure VM で SQL Server の SQL Assessment を有効にした場合、サービスは既知のベスト プラクティスに照らして SQL Server を評価し、Azure portal の SQL VM 管理ページに結果を表示します。
SQL Server VM のパフォーマンスを最適化し、管理を自動化するための最新の機能に関するビデオについては、次のデータ公開ビデオを参照してください。
- キャッシュとストレージの上限設定
- SQL Server IaaS Agent 拡張機能を使用した自動管理
- AZURE MONITOR メトリックを使用して VM キャッシュの正常性を追跡します
- Azure VM 上のSQL Server ワークロードに最適な価格パフォーマンスを実現します
- PerfInsights を使用したResource Healthの評価とトラブルシューティング
- Ebdsv5を使用した最適な価格対パフォーマンス比
- SQL Assessment を使用してSQL Server on Azure Virtual Machinesを最適に構成する
- AZURE VM のデプロイと管理エクスペリエンスに関するSQL Serverの改善
概要
Azure Virtual Machines で SQL Server を実行する場合は、オンプレミスのサーバー環境の SQL Server に使用するのと同じデータベース パフォーマンス チューニング オプションを使用します。 ただし、パブリック クラウドでのリレーショナル データベースのパフォーマンスは、仮想マシンのサイズやデータ ディスクの構成など、多くの要因によって異なります。
通常、コストの最適化とパフォーマンスの最適化はトレードオフの関係になっています。 このパフォーマンスのベスト プラクティス シリーズでは、Azure Virtual Machines 上の SQL Server に 最適 なパフォーマンスを得ることに重点を置いています。
次の手順: 最初の VM サイズの推奨事項から始めます セクション、 次に、Storage、Security、および SQL Server features セクションを進めて、完全な最適化アプローチを実現します。
ワークロードの要求が少ない場合は、推奨されるすべての最適化が必要でない場合があります。 各推奨事項を評価するときに、パフォーマンスのニーズ、コスト、およびワークロードのパターンを考慮してください。
Azure VM にSQL Serverを手動でインストールする
Azure VM にSQL Serverを手動でインストールする場合は、次の重要な手順に従って、一般的な構成の問題を回避します。
- インストールの準備ができているプロダクト キーがあることを確認します。
- 次のような サポートされていない 構成は避けてください。
- NUMA ノードあたり 64 を超える仮想コア。
- セクター サイズが 8 KB のストレージ。
- Azure Virtual Machine Scale Sets。
- まだ存在しない場合は、インストール メディアを起動する前に、SQL Server のインストール用のフォルダーとデータ ファイルを作成します。
- マウントされた ISO から直接インストールするのではなく、インストール メディアをローカル ドライブにコピーします。
- インストール後、SQL Server VM を SQL Server IaaS Agent Extension に登録して、管理タスクを自動化します。
- 可能な場合は、
tempdbデータベースを ローカル SSD エフェメラル ストレージ に配置します。
VM サイズ
Warnung
未初期化のエフェメラル ディスクを持つ Azure VM イメージ (たとえば FXmdsv2) では、tempdb をローカル一時ディスクに配置することはサポートされていません。 この問題は、ローカルエフェメラル ストレージも備えた新しい NVMe インターフェイスのAzure 仮想マシンにのみ影響します。 Azure ポータルを使用したこれらのデプロイは失敗し、SQL Serverは開始できない可能性があります。 別の VM シリーズを使用するか、Azure ポータルを使用してSQL Server イメージをデプロイする場合と、SQL Serverを手動でインストールする場合の両方で、tempdbを非一時ストレージに配置します。 問題について詳しく知り、影響を受けたVMのリストを見るには、VMのデプロイメントとSQL Serverの故障を確認してください。
このセクションのチェックリストでは、Azure VM でのSQL ServerのVM サイズのベスト プラクティスについて説明します。
- VM サイズを選択する前に、 ストレージを構成します。 最も負荷の高い条件下でソース環境から ベースライン を収集し、将来の成長のために 20% バッファーを使用してワークロードの IOPS とスループットのニーズに基づいてストレージを構成します。
- ワークロードのパフォーマンス特性 (OLTP と OLAP、ワークロード サイズ) を特定して、ビジネスに適した VM サイズを決定します。
- Azureに移行する場合、は移行の準備状況を確認既存のSQL Serverワークロードに適した VM サイズを見つけ、Azure Database Migration Service で移行します。
- Azure Marketplaceイメージを使用して、SQL Serverの設定とストレージ オプションが最適なパフォーマンスを実現するように構成されるため、SQL Server VM をデプロイします。
- 4 つ以上の仮想コアを持つ VM サイズを使用します。
- SQL Serverワークロードのパフォーマンスを最大限に高めるには、メモリ最適化仮想マシンのサイズを使用します。
- Mbdsv3 シリーズは、ミッション クリティカルな OLTP ワークロードとデータ ウェアハウス ワークロードに最適な全体的なパフォーマンスを提供します。
- Ebdsv5 シリーズは、ほとんどの運用環境SQL Serverワークロードに最適な価格パフォーマンスを提供します。
- Easv7 シリーズと Msv3/Mdsv3 シリーズは、メモリ負荷の高いワークロード向けに最適化されています。
- M シリーズ ファミリは、最大のワークロードに対してAzureで最も高いメモリ構成を提供します。
- 下位レベルの D シリーズ (B シリーズ) を使用して開発環境を開始し、時間の経過と共に環境を拡張します。
- サポートされていない構成 回避するには、VM のサポート可能性 を確認します。
- VM 仮想コアのカスタマイズを使用して、ワークロードと VM に vCPU を適切に割り当て、SQL Serverライセンス コストを削減し、SMT/ハイパースレッディング設定を無効にして最適なSQL Serverパフォーマンスを実現します。
Storage
このセクションのチェックリストでは、Azure VM でのSQL Serverのtorage のベスト プラクティスについて説明します。
- ディスクの種類を選択する前に、アプリケーションとストレージの帯域幅と待機時間の要件SQL Serverデータ、ログ、
tempdbファイルを監視します。 - 使用可能な場合は、新しい仮想マシンをデプロイするとき、または手動でSQL Server をインストールした後に、D: ローカル SSD ボリューム上で
tempdbデータ ファイルとログ ファイルを構成してください。 SQL IaaS Agent 拡張機能は、再プロビジョニング時に必要なフォルダーとアクセス許可を処理します。 - ストレージのパフォーマンスを最適化するには、キャッシュ不使用時の使用可能な最大の IOPS を計画し、データ読み取りのパフォーマンス機能としてデータ キャッシュを使用する一方で、仮想マシンとディスクの上限を回避します。
- データ ファイル ディスクの場合は、[ホスト キャッシュ] を [読み取り専用] に設定します。
- ログ ファイル ディスクの場合は、[ホスト キャッシュ] を [なし] に設定します。
- SQL Serverデータ またはログ ファイルを含むディスクでは、読み取り/書き込みキャッシュを有効にしないでください。
- ディスクのキャッシュ設定を変更する前に、必ず SQL Server サービスを停止してください。
- VM SQL Server Ebdsv5 または Ebsv5 シリーズを使用する場合は、最適な価格パフォーマンスのために Premium SSD v2 を使用します。 Azure ポータル (現在プレビュー段階) を使用して、Premium SSD v2 を使用してSQL Server VM をデプロイできます。
- ワークロードに 160,000 を超える IOPS が必要な場合は、Premium SSD v2 または Azure Ultra Disks を使用します。
- 別々のドライブにデータ、ログ、および
tempdbの各ファイルを配置します。- データ ドライブには、Premium P30 と P40 あるいはそれより小さいディスクを使用して、キャッシュ サポートの可用性を確保します。 Ebdsv5 VM シリーズを使用する場合は、高い IOPS と I/O スループットを必要とするワークロードの価格パフォーマンスを向上させる Premium SSD v2 を使用します。
- ログ ドライブについては、Premium SSD v2 または Premium SSD P30 - P80 ディスクのどちらかを評価しながら、容量を計画し、コスト パフォーマンスをテストします
- サブミリ秒のストレージ待機時間が必要な場合は、トランザクション ログに Premium SSD v2 または Azure Ultra Disks を使用します。
- M シリーズの仮想マシンのデプロイでは、Azure Ultra Disks を使用する代わりに 書き込みアクセラレータ を検討してください。
- 最適な VM サイズを選択した後、フェールオーバー クラスター インスタンス (FCI) の一部ではないほとんどのSQL Serverワークロードに対して、
tempdb を temporary disk (一時ディスクはエフェメラル、既定値は) に配置します。 - ローカル ドライブの容量が
tempdbに対して十分でない場合は、VM のサイズを増やすことを検討します。 詳細については、「データ ファイルのキャッシュ ポリシー」を参照してください。
- ローカル ドライブの容量が
- フェールオーバー クラスター インスタンス (FCI) の場合は、
tempdb共有ストレージ上に配置されます。- FCI ワークロードが
tempdbディスクのパフォーマンスに大きく依存する場合、高度な構成として、FCI ストレージに属さないローカル エフェメラル SSD (既定はtempdb) ドライブにD:\を配置します。 ローカル エフェメラル SSD (既定はD:\) ドライブで障害が発生しても、FCI からアクションはトリガーされないため、この構成では、このドライブを常時確実に使用できるようにするためのカスタムの監視とアクションが必要になります。
- FCI ワークロードが
- Storage Spaces を使用して複数のAzure データ ディスクをストライプし、ターゲット仮想マシンの IOPS とスループットの制限まで I/O 帯域幅を増やします。
- 複数の異なるワークロードをクラウドに移行する場合、Azure Elastic SANはコスト効率の高い統合ストレージ ソリューションになる可能性があります。 ただし、Azure Elastic SANを使用する場合、多くの場合、SQL Serverワークロードで必要な IOPS/スループットを実現するには、容量のオーバープロビジョニングが必要になります。 通常、単一のSQL Server ワークロードには適していませんが、低パフォーマンスのワークロードとSQL Serverを組み合わせると、コスト効率の高いソリューションを実現できます。
- 開発とテストのワークロード、および長期的なバックアップのアーカイブでは、Standard Storageの使用を検討してください。 運用環境のワークロードには Standard HDD または SSD を使わないことをお勧めします。
- クレジットベースのディスク バースト (P1 から P20) は、小規模な開発またはテストのワークロードおよび部門別システムでのみ検討してください。
- ドライブに配置されるすべてのデータ ファイルに 64 KB アロケーション ユニット サイズを使用するように、データ ディスクをフォーマットします。ただし、一時
D:\ドライブ (既定値は 4 KB) 以外が対象です。 Azure Marketplaceを介してデプロイされたSQL Server VM には、割り当てユニット サイズでフォーマットされたデータ ディスクが付属し、記憶域プールのインターリーブが 64 KB に設定されています。 - SQL Server VM と同じリージョンにストレージ アカウントを構成します。
- Azure geo 冗長ストレージ (geo レプリケーション) を無効にし、ストレージ アカウントで LRS (ローカル冗長ストレージ) を使用します。
- SQL のベスト プラクティス評価 を有効にして、考えられるパフォーマンスの問題を特定し、SQL Server VM がベスト プラクティスに従って構成されていることを評価します。
- ストレージ IO 使用率メトリックを使用して、ディスクと VM の制限を確認および監視します。
- データ ファイル、ログ ファイル、バックアップ ファイルなど、ウイルス対策ソフトウェアのスキャンからSQL Server ファイルを除外します。
- 記憶域プールのサイズを適切に変更します。
セキュリティ
このセクションのチェックリストでは、Azure VM でのSQL Serverのセキュリティのベスト プラクティスについて説明します。
SQL Serverの機能は、インフラストラクチャ レベルのセキュリティ機能と組み合わせることができるデータベース レベルでデータをセキュリティで保護する方法を提供します。 これらの機能を組み合わせることで、クラウドベースおよびハイブリッド ソリューションのインフラストラクチャ レベルで多層防御が提供されます。 さらに、Azureセキュリティ対策を使用すると、機密データの暗号化、ウイルスやマルウェアからの仮想マシンの保護、ネットワーク トラフィックのセキュリティ保護、脅威の特定と検出、コンプライアンス要件の満たす、ハイブリッド クラウドのセキュリティニーズに対する管理とレポートの 1 つの方法を提供できます。
- Microsoft Defender for Cloud を使用して、データ環境のセキュリティ体制を改善するための評価とアクションを実行します。 Azure 高度な脅威保護 (ATP) などの機能をハイブリッド ワークロード全体で使用して、セキュリティ評価を向上させ、リスクに対応できます。 SQL Server VM を SQL IaaS Agent 拡張機能に登録すると、Azure ポータルの SQL 仮想マシン リソース内で Microsoft Defender for Cloud の評価を受けることができます。
- sql の
Microsoft Defenderを使用して、潜在的なデータベースの脆弱性を検出して軽減し、SQL Server インスタンスとデータベース レイヤーに対する脅威を示す異常なアクティビティを検出します。 - Vulnerability Assessment は、Microsoft Defender for SQL の一部であり、SQL Server環境に対する潜在的なリスクを検出し、修復するのに役立ちます。 セキュリティの状態を表示することができ、セキュリティの問題を解決するための実行可能な手順が含まれます。
- Azure機密 VM を使用して、使用中のデータと、ホスト オペレーター アクセスに対する保存データの保護を強化します。 Azure機密 VM を使用すると、機密データを自信を持ってクラウドに格納し、厳格なコンプライアンス要件を満たすことができます。
- SQL Server 2022 を使用している場合は、Microsoft Entra 認証 を使用してSQL Serverのインスタンスに接続することを検討してください。
- Azure Advisor は、リソースの構成と使用状況テレメトリを分析し、Azure リソースのコスト効率、パフォーマンス、高可用性、セキュリティの向上に役立つソリューションを推奨します。 仮想マシン、リソース グループ、またはサブスクリプション レベルでAzure Advisorを使用して、Azureデプロイを最適化するためのベスト プラクティスを特定して適用します。
- コンプライアンスとセキュリティのニーズに応じて、Azure Disk Encryption を使用して、エフェメラル (ローカルに接続された一時) ディスクの暗号化など、暗号化キーを使用してエンド ツー エンドでデータを暗号化する必要がある場合に使用します。
- Managed Disksは既定で保存時に暗号化され、Azure Storage Service Encryptionが使用されます。暗号化キーは、Azureに格納されている、Microsoftが管理するキーです。
- マネージド ディスク暗号化オプションの比較については、 マネージド ディスク暗号化の比較グラフを確認してください。
- 仮想マシンで管理ポートを閉じる必要があります - オープンなリモート管理ポートは、インターネットベースの攻撃による高いレベルのリスクに VM をさらしています。 これらの攻撃では、資格情報に対するブルート フォース攻撃を行ってマシンへの管理者アクセス権の取得を試みます。
- Azure仮想マシンの Just-in-time (JIT) アクセス を有効にします。
- リモート デスクトップ プロトコル (RDP) 経由で Azure Bastion を使用します。
- ポートをロックダウンし、Azure Firewall を使用して必要なアプリケーション トラフィックのみを許可します。これは、送信元 IP アドレスに基づいてサーバー アクセスを許可または拒否するマネージド サービスとしてのファイアウォール (FaaS) です。
- Network セキュリティ グループ (NSG) を使用して、Azure仮想ネットワーク上のAzureリソースとの間のネットワーク トラフィックをフィルター処理します。
- アプリケーション セキュリティ グループを使用して、Web サーバーやデータベース サーバーなどの同様の機能を備えた同様のポート フィルタリング要件でサーバーをグループ化します。
- Web およびアプリケーション サーバーの場合は、Azure 分散型サービス拒否 (DDoS) 保護を使用します。 DDoS 攻撃は、ネットワーク リソースを過剰に消費してアプリの速度を低下させたり、応答しなくなったりするように設計されています。 DDoS 攻撃では、ユーザー インターフェイスを標的にするのが一般的です。 AzureのDDoS保護は、サービスの可用性に影響を与える前に不要なネットワークトラフィックをサニティ(除去)します。
- VM拡張機能を使って、アンチマルウェア、望ましい状態、脅威検出、防止、そしてOSレベル、マシン、ネットワークレベルでの脅威に対応するための対策を助けてください:
- ゲスト構成拡張機能は、仮想マシン内で監査および構成の操作を実行します。
- Network Watcher Windows および Linux 用のエージェント仮想マシン拡張機能 は、Azure ネットワークの監視を可能にするネットワーク パフォーマンス、診断、および分析サービスを監視します。
- Microsoft Antimalware Extension for Windows は、構成可能なアラートを使用して、ウイルス、スパイウェア、その他の悪意のあるソフトウェアを特定して削除するのに役立ちます。
- Symantec Endpoint Protection for Windows VM (/azure/virtual-machines/extensions/symantec) などのサード パーティの拡張機能を評価します。
- Azure Policy を使用して、環境に適用できるビジネス ルールを作成します。 Azure Policies は、これらのリソースのプロパティを JSON 形式で定義されたルールと比較することで、Azureリソースを評価します。
- Azure Blueprintsを使用すると、クラウド アーキテクトと中央情報技術グループは、組織の標準、パターン、要件を実装して準拠するAzure リソースの反復可能なセットを定義できます。 Azure BlueprintsはAzureポリシーとは異なります。
- Windows Server 2019またはWindows Server 2022を使用して、FIPS Azure VM 上のSQL Serverに準拠します。
- バックアップの復元は危険度の高い操作として扱い、 信頼されていないソースからバックアップを復元することはありません。
SQL Server機能
次のチェックリストは、運用環境の Azure 仮想マシンで SQL Server インスタンスを実行するときの SQL Server 構成設定のベスト プラクティスをまとめたものです。
- 必要に応じて、データベース ページの圧縮を有効にします。
- バックアップ圧縮を有効にします。
- データ ファイルの瞬時初期化を有効にします。
- データベースの自動拡張を制限します。
- データベースの自動圧縮を無効にします。
- データベースの自動終了を無効にします。
- システム データベースも含め、すべてのデータベースをデータ ディスクに移動します。
- エラー ログとトレース ファイルSQL Serverディレクトリをデータ ディスクに移動します。
- 既定のバックアップとデータベース ファイルの場所を構成します。
- オペレーティング システムに十分なメモリを残すように 、SQL Server の 最大メモリ制限を設定します。 ([メモリ\使用可能なバイト数] を利用して、オペレーティング システムのメモリの正常性を監視します)。
- Lock Pages in Memory を有効にします。
- OLTP の負荷の高い環境でアドホック ワークロードの最適化を有効にします。
- インストールされているバージョンのSQL Serverの最新の累積的な更新プログラムを評価して適用します。 詳細については、「 Azure VM での SQL Server の更新」を参照してください。
- すべての運用SQL Serverデータベースでクエリ ストアを有効にしますベスト プラクティス。
- ミッション クリティカルなアプリケーション データベースの自動チューニングを有効にします。
- すべての tempdb のベスト プラクティスに従います。
-
推奨されるファイル数を使用し、コアあたり 1 ファイルから始めて最大 8 ファイルまでの複数の
tempdbデータファイルを使用します。 - 使用可能な場合は、D: ローカル SSD ボリュームで
tempdbデータとログ ファイルを構成します。 SQL IaaS Agent 拡張機能は、再プロビジョニング時に必要なフォルダーとアクセス許可を処理します。 - DBCC CHECKDB、index reorganize、index rebuild、および update statistics ジョブを実行するようにSQL Server エージェント ジョブをスケジュールします。
- SQL Server transaction ログ ファイルの正常性とサイズを監視および管理します。
- 使用しているバージョンで使用できる新しい SQL Server 機能 を利用します。
- デプロイを検討しているエディション間でサポートされる機能の違いに注意してください。
- ウイルス対策ソフトウェアのスキャンからSQL Serverファイルを除外します。 この除外には、データ ファイル、ログ ファイル、バックアップ ファイルが含まれます。
Azure機能
次のチェックリストでは、Azure VM で SQL Server を実行するときの Azure 固有のガイダンスのベスト プラクティスについて説明します。
- SQL IaaS Agent 拡張機能に登録して、多くの機能面の利点を活用できるようにします。
- SQL Server ワークロードに最適なバックアップと復元の戦略を使用します。
- 仮想マシンで高速ネットワークが有効になっていることを確認します。
- 脆弱性評価や Just-In-Time アクセスなど、特定の SQL Server VM カバレッジには Microsoft Defender for Cloud を使用します。これにより、正当なユーザーが必要に応じて仮想マシンにアクセスできるようにしながら、攻撃対象領域を減らすことができます。
- Azure Advisor を使用して、パフォーマンス、コスト、信頼性、運用の卓越性、および セキュリティの推奨事項を対策する。
- SQL Server環境からテレメトリ データを収集、分析、操作するには、Azure Monitor を使用します。 これには、 VM の分析情報 を使用してインフラストラクチャの問題を特定し、 Log Analytics を使用してより詳細な診断を行うことでデータを監視する方法が含まれます。
- 開発とテストの環境で自動シャットダウンを有効にします。
- ビジネス継続性 SLA を満たす高可用性とディザスター リカバリー (HADR) ソリューションを実装します。 Azure VM 上の SQL Server で使用できる HADR オプション を参照してください。
- Azure portal (サポート + トラブルシューティング) を使用して 、リソースの正常性 と履歴を評価します。 必要に応じて、新しいサポート要求を送信します。
HADR 構成
このセクションのチェックリストでは、Azure VM でのSQL ServerのHADR のベスト プラクティスについて説明します。
高可用性とディザスター リカバリー (HADR) 機能 (
Windows クラスターの場合は、次のベスト プラクティスを検討してください。
- SQL SERVER VM を可能な限り複数のサブネットにデプロイして、AZURE LOAD BALANCERまたは分散ネットワーク名 (DNN) への依存関係を回避して、トラフィックを HADR ソリューションにルーティングします。
- 予期しない停止を回避するために、一時的なネットワーク障害やAzureプラットフォームのメンテナンスにより、クラスターを控えめなパラメーターに変更してください。 詳細については、ハートビートとしきい値の設定に関する記事を参照してください。 Windows Server 2012以降の場合は、次の推奨値を使用します。
- SameSubnetDelay: 1 秒
- SameSubnetThreshold: 40 ハートビート
- CrossSubnetDelay: 1 秒
- CrossSubnetThreshold: 40 ハートビート
- VM は可用性セットまたは別の可用性ゾーンに配置します。 詳細については、「VM の可用性の設定」を参照してください。
- クラスター ノードごとに 1 つの NIC を使用します。
- 3 つ以上の奇数の投票を使用するように、クラスターのクォーラム投票を構成します。 投票は DR リージョンに割り当てないでください。
- リソースの制約による予期しない再起動やフェールオーバーが発生しないように、リソース制限を慎重に監視します。
- OS、ドライバー、SQL Serverが最新のビルドであることを確認します。
- Azure VM でのSQL Serverのパフォーマンスを最適化します。 詳細については、この記事の他のセクションを参照してください。
- リソース制限に達しないように、ワークロードを削減または分散します。
- 制約を回避するために、制限が高い VM またはディスクに移動します。
SQL Server可用性グループまたはフェールオーバー クラスター インスタンスについては、次のベスト プラクティスを検討してください。
- 予期しないエラーが頻繁に発生する場合は、この記事の残りの部分で説明されているパフォーマンスのベスト プラクティスに従ってください。
- SQL Server VM のパフォーマンスを最適化しても予期しないフェールオーバーが解決しない場合は、可用性グループまたはフェールオーバークラスター インスタンスの監視を緩和することを検討してください。 ただし、そうすることで問題の根底にある原因に対処できない場合があり、障害の可能性を減らすことで症状が表に現れない可能性があります。 その場合でも、根底にある根本原因を調査して対処しなければならない場合があります。 Windows Server 2012以上の場合は、次の推奨値を使用します。
-
リース タイムアウト: こちらの式を使用して、リース タイムアウトの最大値を計算します。
Lease timeout < (2 * SameSubnetThreshold * SameSubnetDelay)。
40 秒から始めます。 先ほど推奨した緩和されているSameSubnetThresholdとSameSubnetDelayの値を使用している場合は、リース タイムアウト値が 80 秒を超えないようにしてください。 - 指定した期間の最大エラー数: この値は 6 に設定します。
-
リース タイムアウト: こちらの式を使用して、リース タイムアウトの最大値を計算します。
- 仮想ネットワーク名 (VNN) とAzure Load Balancerを使用して HADR ソリューションに接続する場合は、クラスターが 1 つのサブネットにまたがる場合でも、接続文字列で
MultiSubnetFailover = trueを指定します。- クライアントで
MultiSubnetFailover = Trueがサポートされていない場合は、RegisterAllProvidersIP = 0およびHostRecordTTL = 300を設定して、クライアント資格情報をより短期間だけキャッシュすることが必要になる可能性があります。 ただし、そうすることで、DNS サーバーに対して追加のクエリが発生する場合があります。
- クライアントで
- 分散ネットワーク名 (DNN) を使用して HADR ソリューションに接続する場合は、以下の注意点があります。
-
MultiSubnetFailover = Trueをサポートするクライアント ドライバーを使用する必要があり、このパラメーターは接続文字列に含まれている必要があります。 - 可用性グループの DNN リスナーに接続するときは、接続文字列で一意の DNN ポートを使用します。
-
- 基本的な可用性グループでは、ロードバランサーやDNNを必要とせずにデータベースのミラーリング用接続文字列を使用します。
- 高可用性ソリューションをデプロイする前に VHD のセクター サイズを検証して、I/O の不整合を回避します。 詳細については、KB3009974 を参照してください。
- SQL Serverデータベース エンジン、Always On 可用性グループ リスナー、またはフェールオーバー クラスター インスタンスの正常性プローブが、49,152 ~ 65,536 ( TCP/IP の既定の動的ポート範囲) のポートを使用するように構成されている場合は、各ポートの除外を追加します。 このようにすると、他のシステムが同じポートを動的に割り当てるのを防ぐことができます。 次の例では、ポート 59999 の除外を作成します。
netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent
パフォーマンスのトラブルシューティング
SQL Server のパフォーマンスの問題が発生した場合は、次の診断リソースを使用して、特定の問題を特定して解決します。
- 高 CPU 使用率の問題のトラブルシューティング
- ブロッキング問題の説明と解決策
- 実行速度の遅いクエリの問題のトラブルシューティング
- I/O 問題がパフォーマンス低下を引き起こす問題のトラブルシューティング
- クエリのタイムアウト エラーのトラブルシューティング
- メモリ不足や低メモリの問題のトラブルシューティング
- パフォーマンス ダッシュボード は、SQL Serverパフォーマンスの状態に関する迅速な分析情報を提供します。
関連するコンテンツ
各最適化領域の詳細なガイダンスについては、以下を参照してください。
- VM サイズ - 適切な VM シリーズと構成を選択する
- ストレージ - ディスクの構成とパフォーマンスを最適化する
- セキュリティ - セキュリティのベスト プラクティスを実装する
- HADR 設定 - 高可用性とディザスター リカバリーを構成する
- ベースラインの収集 - パフォーマンス ベースラインを確立する
- SQL Server の更新 - SQL Server を最新の状態に保つ
Recommended tool: Azure VM でのSQL Serverの SQL Assessment を有効にするこれらのベスト プラクティスに照らして構成を自動的に評価します。
SQL Server on Azure Virtual Machinesの概要の他のSQL Server仮想マシンに関する記事を確認します。 仮想マシンSQL Serverについて質問がある場合は、頻度の低い質問を参照してください。