Topic 2, Leafield Solutions
General Overview
You are the Senior Database Administrator (DBA) for a software development company named
Leafield Solutions.
The company develops software applications custom designed to meet customer requirements.
Requirements
Leafield Solutions has been asked by a customer to develop a web-based Enterprise Resource
Planning and Management application. The new application will eventually replace a desktop
application that the customer is currently using. The current application will remain in use while the
users are trained to use the new web-based application.
You need to design the SQL Server and database infrastructure for the web-based application.
Databases
You plan to implement databases named Customers, Sales, Products, Current_Inventory, and
TempReporting.
The Sales database contains a table named OrderTotals and a table named SalesInfo. A stored
procedure named SPUpdateSalesInfo reads data in the OrderTotals table and modifies data in the
SalesInfo table. The stored procedure then reads data in the OrderTotals table a second time and
makes further changes to the information in the SalesInfo table.
The Current_Inventory database contains a large table named Inv_Current. The Inv_Current table
has a clustered index for the primary key and a nonclustered index. The primary key column uses
the identity property. The data in the Inv_Current table is over 120GB in size. The tables in the
Current_Inventory database are accessed by multiple queries in the Sales database. Another
table in the Current_Inventory database contains a self-join with an unlimited number of
hierarchies. This table is modified by a stored procedure named SPUpdate2. An external
application named ExternalApp1 will periodically query the Current_Inventory database to
generate statistical information.
The TempReporting database contains a single table named GenInfo. A stored procedure named
SPUPdateGenInfo combines data from multiple databases and generates millions of rows of data
in the GenInfo table. The GenInfo table is used for reports. When the information in GenInfo is
generated, a reporting process reads data from the Inv_Current table and queries information in
the GenInfo table based on that data. The GenInfo table is deleted after the reporting process
completes.
The Products database contains tables named ProductNames and ProductTypes.
Current System
The current desktop application uses data stored in a SQL Server 2005 database named
DesABCopAppDB. This database will remain online and data from the Current_Inventory
database will be copied to it as soon as data is changed in the Current_Inventory database.
SQL Servers
A new SQL Server 2012 instance will be deployed to host the databases for the new system. The
databases will be hosted on a Storage Area Network (SAN) that provides highly available storage.
Design Requirements
Your SQL Server infrastructure and database design must meet the following requirements:
Confidential information in the Current_ Inventory database that is accessed by ExternalApp1
must be securely stored.
Direct access to database tables by developers or applications must be denied.
The account used to generate reports must have restrictions on the hours when it is allowed to
make a connection.
Deadlocks must be analyzed with the use of Deadlock Graphs.
In the event of a SQL Server failure, the databases must remain available.
Software licensing and database storage costs must be minimized.
Development effort must be minimized.
The Tempdb databases must be monitored for insufficient free space.
Failed authentication requests must be logged.
Every time a new row is added to the ProductTypes table in the Products database, a userdefined function that validates the row must be called before the row is added to the table.
When SPUpdateSalesInfo queries data in the OrderTotals table the first time, the same rows
must be returned along with any newly added rows when SPUpdateSalesInfo queries data in the
OrderTotals table the second time.
*****************************************************************
You need to enable users to modify data in the database tables using UPDATE operations.
You need to implement a solution that meets the design requirements.
What should you configure?
A.
You should configure a server role.
B.
You should configure a database role.
C.
You should configure functions that use the EXECUTE AS statement.
D.
You should configure stored procedures that use the EXECUTE AS statement.
Explanation: