総括
あなたはLeafield Solutionsという名前のソフトウェア開発会社のシニアデータベース管理者(DBA)です。同社は、顧客の要件を満たすようにカスタム設計されたソフトウェアアプリケーションを開発しています。
要件Leafield Solutionsは、顧客がWebベースのEnterprise Resource Planning and Managementアプリケーションを開発するよう求めました。新しいアプリケーションは、最終的に顧客が現在使用しているデスクトップアプリケーションを置き換えます。現在のアプリケーションは、ユーザーが新しいWebベースのアプリケーションを使用するように訓練されている間、引き続き使用されます。
Webベースのアプリケーション用のSQL Serverおよびデータベースインフラストラクチャを設計する必要があります。
データベース
Customers、Sales、Products、Current_Inventory、およびTempReportingという名前のデータベースを実装する予定です。
Salesデータベースには、OrderTotalsという名前のテーブルとSalesInfoという名前のテーブルが含まれています。
SPUpdateSalesInfoという名前のストアドプロシージャは、OrderTotalsテーブルのデータを読み取り、SalesInfoテーブルのデータを変更します。
ストアドプロシージャは、OrderTotalsテーブルのデータを2回目に読み込み、SalesInfoテーブルの情報をさらに変更します。
Current_Inventoryデータベースには、Inv_Currentという名前の大きなテーブルが含まれています。 Inv_Currentテーブルには、プライマリキーとノンクラスタードインデックスのクラスタ化インデックスがあります。主キー列はIDプロパティを使用します。
Inv_Currentテーブルのデータのサイズは120GBを超えています。 Current_Inventoryデータベースのテーブルは、Salesデータベース内の複数のクエリによってアクセスされます。
Current_Inventoryデータベース内の別のテーブルには、無制限の階層数を持つ自己結合が含まれています。このテーブルは、SPUpdate2という名前のストアドプロシージャによって変更されます。
ExternalApp1という名前の外部アプリケーションは、統計情報を生成するためにCurrent_Inventoryデータベースを定期的に照会します。 TempReportingデータベースには、GenInfoという名前の単一のテーブルが含まれています。
SPUPdateGenInfoという名前のストアドプロシージャは、複数のデータベースからのデータを結合し、GenInfoテーブルに何百万ものデータ行を生成します。
GenInfoテーブルはレポートに使用されます。
GenInfoの情報が生成されると、報告プロセスはInv_Currentテーブルからデータを読み取り、そのデータに基づいてGenInfoテーブルの情報を照会します。
GenInfoテーブルは、レポート処理が完了した後に削除されます。 Productsデータベースには、ProductNamesおよびProductTypesという名前のテーブルが含まれています。
現在のシステム
現在のデスクトップアプリケーションは、DesABCopAppDBという名前のSQL Server 2005データベースに格納されているデータを使用します。このデータベースはオンラインのままで、Current_Inventoryデータベースのデータが変更されるとすぐに、Current_Inventoryデータベースのデータがそのデータベースにコピーされます。
SQLサーバー
新しいシステムのデータベースをホストするために、新しいSQL Server 2012インスタンスが展開されます。データベースは、可用性の高いストレージを提供するストレージエリアネットワーク(SAN)上でホストされます。
設計要件
SQL Serverインフラストラクチャとデータベース設計は、次の要件を満たす必要があります。
ExternalApp1がアクセスするCurrent_ Inventoryデータベースの機密情報は、

安全に保管されています。
開発者やアプリケーションによるデータベーステーブルへの直接アクセスを拒否する必要があります。

レポートを生成するために使用されるアカウントには、レポートを作成するための時間が制限されている必要があります

接続。
デッドロックは、デッドロックグラフを使用して分析する必要があります。

SQL Serverに障害が発生した場合でも、データベースは引き続き使用可能でなければなりません。

ソフトウェアライセンスとデータベースストレージのコストを最小限に抑える必要があります。

開発努力を最小限に抑える必要があります。

Tempdbデータベースは、十分な空き領域がないか監視する必要があります。

失敗した認証要求をログに記録する必要があります。

Productsデータベース内のProductTypesテーブルに新しい行が追加されるたびに、ユーザーが定義した

行を検証する関数は、行がテーブルに追加される前に呼び出される必要があります。
SPUpdateSalesInfoが初めてOrderTotalsテーブルのデータをクエリするとき、同じ行が

SPUpdateSalesInfoが2回目にOrderTotalsテーブルのデータを照会するときに、新たに追加された行とともに返されます。
ユーザーがUPDATE操作を使用してデータベース表のデータを変更できるようにする必要があります。
設計要件を満たすソリューションを実装する必要があります。
あなたは何を設定すべきですか?