What should you recommend?

###BeginCaseStudy###
Case Study 1
Litware, Inc
Overview
You are a database administrator for a company named Litware, Inc. Litware is a book
publishing house.
Litware has a main office and a branch office.
You are designing the database infrastructure to support a new web-based application that is
being developed. The web application will be accessed at www.litwareinc.com. Both internal
employees and external partners will use the application.
You have an existing desktop application that uses a SQL Server 2008 database named
App1_DB. App1_DB will remain in production.
Requirements
Planned Changes
You plan to deploy a SQL Server 2014 instance that will contain two databases named
Database1 and Database2. All database files will be stored in a highly available SAN.
Database1 will contain two tables named Orders and OrderDetails. Databasel will also
contain a stored procedure named usp_UpdateOrderDetails. The stored procedure is used to
update order information. The stored procedure queries the Orders table twice each time the
procedure executes. The rows returned from the first query must be returned on the second
query unchanged along with any rows added to the table between the two read operations.
Database1 will contain several queries that access data in the Database2 tables.

Database2 will contain a table named Inventory. Inventory will contain over 100 GB of data.
The Inventory table will have two indexes: a clustered index on the primary key and a
nonclustered index. The column that is used as the primary key will use the identity property.
Database2 will contain a stored procedure named usp_UpdateInventory.
Usp_UpdateInventory will manipulate a table that contains a self-join that has an unlimited
number of hierarchies.
All data in Database2 is recreated each day and does not change until the next data creation
process.
Data from Database2 will be accessed periodically by an external application named
Application1. The data from Database2 will be sent to a database named App1_Db1 as soon
as changes occur to the data in Database2.
Litware plans to use offsite storage for all SQL Server 2014 backups.
Business Requirements
You have the following requirements:
• Costs for new licenses must be minimized.
• Private information that is accessed by Application must be stored in a secure format.
• Development effort must be minimized whenever possible.
• The storage requirements for databases must be minimized.
• System administrators must be able to run real-time reports on disk usage.
• The databases must be available if the SQL Server service fails.
• Database administrators must receive a detailed report that contains allocation errors
and data corruption.
• Application developers must be denied direct access to the database tables.
Applications must be denied direct access to the tables.
• You must encrypt the backup files to meet regulatory compliance requirements. The
encryption strategy must minimize changes to the databases and to the applications.
###EndCaseStudy###

You need to recommend a solution to synchronize Database2 to App1_Db1.
What should you recommend?

###BeginCaseStudy###
Case Study 1
Litware, Inc
Overview
You are a database administrator for a company named Litware, Inc. Litware is a book
publishing house.
Litware has a main office and a branch office.
You are designing the database infrastructure to support a new web-based application that is
being developed. The web application will be accessed at www.litwareinc.com. Both internal
employees and external partners will use the application.
You have an existing desktop application that uses a SQL Server 2008 database named
App1_DB. App1_DB will remain in production.
Requirements
Planned Changes
You plan to deploy a SQL Server 2014 instance that will contain two databases named
Database1 and Database2. All database files will be stored in a highly available SAN.
Database1 will contain two tables named Orders and OrderDetails. Databasel will also
contain a stored procedure named usp_UpdateOrderDetails. The stored procedure is used to
update order information. The stored procedure queries the Orders table twice each time the
procedure executes. The rows returned from the first query must be returned on the second
query unchanged along with any rows added to the table between the two read operations.
Database1 will contain several queries that access data in the Database2 tables.

Database2 will contain a table named Inventory. Inventory will contain over 100 GB of data.
The Inventory table will have two indexes: a clustered index on the primary key and a
nonclustered index. The column that is used as the primary key will use the identity property.
Database2 will contain a stored procedure named usp_UpdateInventory.
Usp_UpdateInventory will manipulate a table that contains a self-join that has an unlimited
number of hierarchies.
All data in Database2 is recreated each day and does not change until the next data creation
process.
Data from Database2 will be accessed periodically by an external application named
Application1. The data from Database2 will be sent to a database named App1_Db1 as soon
as changes occur to the data in Database2.
Litware plans to use offsite storage for all SQL Server 2014 backups.
Business Requirements
You have the following requirements:
• Costs for new licenses must be minimized.
• Private information that is accessed by Application must be stored in a secure format.
• Development effort must be minimized whenever possible.
• The storage requirements for databases must be minimized.
• System administrators must be able to run real-time reports on disk usage.
• The databases must be available if the SQL Server service fails.
• Database administrators must receive a detailed report that contains allocation errors
and data corruption.
• Application developers must be denied direct access to the database tables.
Applications must be denied direct access to the tables.
• You must encrypt the backup files to meet regulatory compliance requirements. The
encryption strategy must minimize changes to the databases and to the applications.
###EndCaseStudy###

You need to recommend a solution to synchronize Database2 to App1_Db1.
What should you recommend?

A.
Change data capture

B.
Snapshot replication

C.
Master Data Services

D.
Transactional replication

Explanation:

Scenario:
* Data from Database2 will be accessed periodically by an external application named
Application1. The data from Database2 will be sent to a database named App1_Db1 as soon
as changes occur to the data in Database2.
* All data in Database2 is recreated each day and does not change until the next data
creation process.



Leave a Reply 12

Your email address will not be published. Required fields are marked *


Duipur

Duipur

Database2 is only updated once a day, why would we need transactional replication instead of snapshot just after the update process?

mk

mk

Because “The data from Database2 will be sent to a database named App1_Db1 as soon
as changes occur to the data in Database2”. In question says about synchronize Database2 to App1_Db1.
Therefore answer “C” is correct.

Skippo

Skippo

The initial copy of data sent to App1_Db1 is done with SNAPSHOT. Subsequent replication is only done when there is an update to the data in Database2 (Transactional Replication)

CB

CB

Master Data Services???

aaaaa

aaaaa

I think snapshot is better option as whole data gets recreated each day in Database2

Skippo

Skippo

Correct answer is TRANSACTIONAL replication. “Replicated as soon as changes occur to the data in Database2…”

Ricky

Ricky

The key points:

1. Database2 is recreated everyday
2. Database2 does not change until the next data creation process. Data WON’T change during the entire day!
3. Data from Database2 will be accessed periodically by an external application named
Application1. Note it says ‘Accessed’. It doesn’t say Application1 will update Database2. And from the #2 point above, we know that Application1 won’t update Database2. It only reads.
4. The data from Database2 will be sent to a database named App1_Db1 as soon
as changes occur to the data in Database2. This is tricky. It leads you to think the update is anytime during the day. But no, based on the #2 point, the change only happens once a day when Database2 is refreshed.

So Snapshot is the one to go.

Skippo

Skippo

“Accessed” could imply any of INSERT, UPDATE, or DELETE. The fact it didn’t specify does not mean Application1 will NOT update Database2.

If the data in Database2 will not be changed during the day, why then would you need to replicate it to App1_Db1 “as soon as changes occur to the data in Database2”?!

The correct option (even based on your logic), after every Database2 refresh… would be a Transactional Replication.

Paul

Paul

From the scenario:
1. “…Database2 will conain a stored procedure named usp_UpdateInventory. usp_UpdateInventory will manipulate a table that contains a self-join that has an unlimited number of hierarchies…”

So Database2 may receive some changes after recreation.
This is difficult to imagine MS would use the name usp_UpdateInventory to force reading data.

2. “…The data from Database2 will be sent to a database named Appl_Dbl as soon as changes occur to the data in Database2…”

Now sum up 1 and 2: Transactional replication.

KRanseyer

KRanseyer

The recreation of 100 GB will take some time, so DB1 would be async until the end of the process. But changes have to be synced as soon as they appear, not loads of changes later.
So… even if the changes are ONLY once a day, snapshot would not meet the requirements “as soon as changes occur”.