web-dev-qa-db-ja.com

セカンダリレプリカのインデックス作成

質問について、70-462 Microsoft試験の一部である質問があります。

今日私はこの質問をしました、そして私は正しい答えを完全に確信していません。私は試験に合格しましたが、この状況での正しい解決策を理解したいと思います。

私が質問を正しく思い出した場合、あなたは2012 SQL Serverを管理しています。要件は、OLTPデータベース、別のに対して)分のレポートまでオフロードすることですserver、およびセカンダリデータベースにインデックスを追加することもできます。

質問に対する回答は次のとおりでした。

  1. 2台のサーバー、異なるデータセンター。同期コミットのあるAGグループ。アクティブなセカンダリ。
  2. 2つのサーバー、同じサブネット。同期コミットのあるAGグループ。
  3. 2台のサーバー、10分ごとにログ配布。
  4. A-synchコミットでいくつかの異なる答え。
  5. トランザクションレプリケーションを実行するように構成されたアプリケーションデータベースを含むSQL Server。
  6. スナップショットレプリケーションを実行するように構成されたアプリケーションデータベースを含むSQL Server。
  7. Windowsフェールオーバークラスター内の2つのサーバー。クラスタ化されたインスタンスとして構成されたSQL Server。

最初は、非同期コミットオプション(レイテンシ)、さまざまなデータセンターの同期コミットAGグループ(レイテンシ?)、ログ配布(遅延)、およびスナップショット複製オプションを除外しました。

これにより、同じサブネット上のsync commit commit AGグループ、またはトランザクションレプリケーションを備えたSQLサーバーが残りました。

https://msdn.Microsoft.com/en-us/library/ff878253.aspx に基づいて、アクティブなセカンダリでインデックスを作成する場合は、プライマリで作成する必要があると読みました。私はこの質問を、プライマリに存在しない、セカンダリにインデックスを作成できるようにする必要があると解釈しました(レポート用のインデックスをカバーするかどうかなど)。

もう1つの答えは、SQL Serverを単独で参照しているため、作業をオフロードするための「別のサーバー」を追加しているようには思えません。

質問/要件を誤解していますか?正しい答え/解決策は何ですか?

4
Dan
  • #5:トランザクションレプリケーション。

これがオプションなのはなぜですか?the documentation はそれが可能な理由を正確に説明しているため、いったん初期化されると、インデックスの変更はどちらの方向にも複製されません。

インデックスは、レプリケーションに関する特別な考慮事項なしにパブリッシャーまたはサブスクライバーで追加できます(インデックスはパフォーマンスに影響を与える可能性があることに注意してください)。 CREATE INDEXおよびALTER INDEXは複製されないため、パブリッシャーなどでインデックスを追加または変更した場合、サブスクライバーでも同じように追加または変更を反映させる必要があります。

また、テキストを文字通り読みすぎていると思います。レプリケーションをまったく構成していない場合は、SQL Serverの同じインスタンス内の別のデータベースにレプリケートするように構成されていると想定する必要はほとんどありません。それが可能かどうか、実際にそのもっともらしいユースケースですが、質問の言い回しがあなたをそのように指すように傾斜していたとは思いません。正直なところ、私はこれらの試験の問題の質は一般的に不確かだと思います。私はそれらをあまり読みません。

他のどのオプションも使用できないのはなぜですか?理由:

  • 可用性グループの構成では、セカンダリは基本的に読み取り専用であるため、セカンダリにインデックスを作成できます(ただし、統計は作成できますが、これらはtempdbにあります)。 IIRCでは、インデックスについてもこのようなものをサポートするように要求されていますが、計画はありません。 これにより、#1、#2、および#4が除外されます。
  • 宛先データベースを変更してログを適用し続けることができないため、ログ配布は要件に適していません。したがって、質問にはログが10分ごとに復元されると記載されているため、データベースを復旧して10分ごとに復元する必要があります、インデックスを作成し、全員を10分で追い出します。後でもう一度やり直します。これは「最新の」レポートではありません。 これは#3を除外します。
  • スナップショットレプリケーションは、文字どおりスナップショットであるため、初期化後に更新することはできません。インデックスを作成するには、スナップショットを復元するたびに更新する必要があります。これは、全か無かの操作であるためです。このモデルでは、「最新の」レポートを提供することはできません。 これは#6を除外します。
  • フェールオーバークラスタリングでは、データのコピーが1つとSQL Serverのインスタンスが1つだけあり、データはプライマリ(「アクティブ」)ノード上のすべてのワークロード(読み取りまたは書き込み)からしか見えません。したがって、定義上、「コピー」がないため、データのコピーに変更を加えることはできません。 これは#7を除外します。
5
Aaron Bertrand