概要
総括
ADatum Corporationはマイアミとモントリオールにオフィスを構えています。
ネットワークには、adatum.comという名前の単一のActive Directoryフォレストが含まれています。オフィスはそれぞれに接続します
5ミリ秒の待ち時間があるWANリンクを使用することによって、その他。
A:Datumは、SQL Server 2014 Enterpriseエディションを使用してデータベースプラットフォームを標準化しています。
データベース
各オフィスには、Sales、Inventory、Customers、Products、Personnel、およびDevという名前のデータベースがあります。
サーバーとデータベースは、データベース管理者のチームによって管理されています。現在、すべてのデータベース
管理者は、すべてのサーバーとすべてのデータベースに対して同じレベルの権限を持ちます。
Customersデータベースには、CustomersとClassificationsという2つのテーブルがあります。
以下の図は、テーブルの関連部分を示しています。

次の表は、Classificationsテーブルの現在のデータを示しています。

インベントリデータベースは頻繁に更新されます。
データベースはレポート作成によく使用されます。
データベースのフルバックアップは、現在完了するのに3時間かかります。
ストアドプロシージャ
USP_1という名前のストアドプロシージャは、複数のレポートに対して数百万行のデータを生成します。 USP_1
SalesデータベースとCustomersデータベースの5つの異なるテーブルからのデータをという名前のテーブルに結合します。
表1。
Table1が作成された後、レポート作成プロセスはTable1からデータを連続して数回読み取ります。後に
処理が完了すると、Table1が削除されます。
USP_2という名前のストアドプロシージャを使用して商品リストを生成します。製品リストには名前が含まれています
カテゴリ別に分類された製品の一覧。
プロシージャがアクセスするテーブルがロックされているため、USP_2の実行に数分かかります。ロックは
USP_1とUSP_3が原因です。
USP_3という名前のストアドプロシージャを使用して価格を更新します。 USP_3は複数のUPDATEで構成されています
トランザクション内から順番に呼び出されるステートメント。
現在、UPDATEステートメントの1つが失敗すると、ストアドプロシージャは失敗します。という名前のストアドプロシージャ
USP_4は、Sales、Customers、およびInventoryデータベースのストアドプロシージャを呼び出します。
ネストしたストアドプロシージャは、Sales、Customers、およびInventoryデータベースからテーブルを読み取ります。 USP_4
EXECUTE AS句を使用します。
入れ子になったストアドプロシージャはすべて、構造化例外処理を使用してエラーを処理します。ストアドプロシージャ
USP_5という名前は、同じデータベース内の複数のストアード・プロシージャーを呼び出します。セキュリティチェックはそれぞれ実行されます
time USP_5はストアドプロシージャを呼び出します。
セキュリティチェックがUSP_5のパフォーマンスを低下させているとあなたは疑っています。すべてのストアドプロシージャ
ユーザーアプリケーションがアクセスすると、ネストされたストアドプロシージャが呼び出されます。
入れ子になったストアドプロシージャが直接呼び出されることはありません。
設計要件
データ復旧
ストレージ障害が発生した場合は、インベントリデータベースからデータを回復できる必要があります。あなたが持っている
目標復旧時間(RTO)は5分です。
データが誤って失われた場合は、Devデータベースからデータを回復できなければなりません。回復があります
1日の目標目標(RPO)。
分類の変更
顧客の分類方法を変更する予定です。新しい分類は、4つのレベルに基づいています。
注文数に。分類は将来削除または追加される可能性があります。管理リクエスト
その履歴データは前の分類のために維持されます。セキュリティジュニアデータベースのグループ
管理者は、Salesデータベースのセキュリティを管理できなければなりません。ジュニアデータベース管理者
その他の管理権限はありません。
A:Datumはどのユーザーが各ストアドプロシージャを実行しているかを追跡したいと考えています。
ストレージ
ADatumのストレージは限られています。可能な限り、すべてのデータベースに対してすべての記憶域を最小化する必要があります。
そしてすべてのバックアップ。
エラー処理
現在、ストアドプロシージャにエラー処理コードはありません。
呼び出されたストアドプロシージャとネストされたストアドプロシージャにエラーを記録することを計画しています。入れ子になった
プロシージャは直接呼び出されることはありません。
あなたはUSP_4のエラー処理のための解決策を推奨する必要があります。
ソリューションは、USP_4のコード内のネストされたストアドプロシージャのエラーを処理する必要があります。
何をお勧めですか?