概要
アプリケーションの概要
Contoso、Ltd.は、エンタープライズリソースプランニング(ERP)アプリケーションの開発元です。
Contosoは新しいバージョンのERPアプリケーションを設計しています。以前のバージョンのERPアプリケーションでは、SQL Server 2008 R2が使用されていました。
新しいバージョンはSQL Server 2014を使用します。
ERPアプリケーションは、インポートプロセスを使用してサプライヤデータをロードします。インポートプロセスでは、何千もの行が同時に更新され、データベースへの排他的アクセスが必要となり、毎日実行されます。
ERPアプリケーションで予期しない動作を報告するいくつかのサポート呼び出しを受け取ります。コールを分析した後、ユーザーはデータベース内のテーブルに直接変更を加えたと判断します。
テーブル
現在のデータベーススキーマには、OrderDetailsという名前のテーブルが含まれています。
OrderDetailsテーブルには、各発注書に対して販売される商品に関する情報が含まれています。 OrderDetailsには、各製品に適用される製品ID、数量、および割引が注文書に格納されます。
製品価格は、Productsという名前のテーブルに格納されます。 Productsテーブルは、SQL_Latin1_General_CP1_CI_AS照合を使用して定義されました。
ProductNameという名前の列は、varcharデータ型を使用して作成されました。データベースにはOrdersという名前のテーブルが含まれています。
注文には過去12ヶ月間のすべての購入注文が含まれています。より古い購入注文
OrdersOldという名前のテーブルに12か月間保存されます。
以前のバージョンのERPアプリケーションは、テーブルレベルのセキュリティに依存していました。
ストアドプロシージャ
現在のバージョンのデータベースには、2つのテーブルを変更するストアドプロシージャが含まれています。次の2つのストアドプロシージャの関連部分を示します。

顧客の問題
インストールの問題
現在のバージョンのERPアプリケーションでは、いくつかのSQL Serverログインが正しく機能するように設定する必要があります。ほとんどの顧客は、複数の場所にERPアプリケーションをセットアップし、ログインを複数回作成する必要があります。
インデックスの断片化の問題
顧客は、クラスタ化されたインデックスが断片化していることが多いことを発見しました。この問題を解決するために、顧客はインデックスをより頻繁に最適化します。断片化の影響を受けるすべての表には、クラスタ化インデックス・キーとして使用される次の列があります。

バックアップの問題
過去の購入注文データが大量にある顧客は、バックアップ時間が許容できないと報告します。
検索の問題
ユーザーは、商品名を検索すると、検索文字列にアクセントが含まれていない限り、検索結果にアクセントを含む商品名が除外されることを報告します。
欠落しているデータの問題
顧客は、商品表で価格変更を行ったときに、その商品が以前の注文で販売された価格を取り出すことができないと報告しています。
クエリのパフォーマンスに関する問題
顧客は、クエリのパフォーマンスが非常に迅速に低下することを報告します。また、顧客はSQL Serverが保守タスクを実行しているときにユーザーがクエリを実行できないことを報告します。インポートの問題月次インポートプロセスでは、データベース管理者は、サプライヤのデータにアクセスできないと報告したユーザーから多くのサポートコールを受け取ります。データベース管理者は、データのインポートに必要な時間を短縮する必要があります。
設計要件
ファイルストレージ要件
ERPデータベースには、2 MBを超えるスキャンされたドキュメントが保存されます。これらのファイルには、ERPアプリケーションを介してのみアクセスする必要があります。ファイルへのアクセスには、可能な限り最高の読み書き性能が必要です。
データ復旧要件
インポートプロセスが失敗した場合は、データベースをすぐ前の状態に戻す必要があります。
セキュリティ要件
基礎となる表に直接アクセスすることなく、ERPアプリケーション内で機能を実行する機能をユーザーに提供する必要があります。
並行処理の要件
Sales.ProdとSales.Proc2が実行されたときに発生するデッドロックの可能性を減らす必要があります。
インストールの問題に対処するソリューションを推奨する必要があります。
推薦に何を含めるべきですか?