What should you include in the script?

###BeginCaseStudy###

Testlet 1
Litware, Inc
Overview
General Overview
General Overview
You are a database developer for a company named Litware, Inc. Litware has a main office in Miami.
Litware has a job posting web application named WebApp1. WebApp1 uses a database named DB1. DB1 is
hosted on a server named Server1. The database design of DB1 is shown in the exhibit. (Click the Exhibit
button.)

WebApp1 allows a user to log on as a job poster or a job seeker. Candidates can search for job openings
based on keywords, apply to an opening, view their application, and load their resume in Microsoft Word
format. Companies can add a job opening, view the list of candidates who applied to an opening, and mark an
application as denied.
Users and Roles
DB1 has five database users named Company, CompanyWeb, Candidate, CandidateWeb, and Administrator.
DB1 has three user-defined database roles. The roles are configured as shown in the following table.

Keyword Search
The keyword searches for the job openings are performed by using the following stored procedure named
usp_GetOpenings:

Opening Update
Updates to the Openings table are performed by using the following stored procedure named
usp_UpdateOpening:

Problems and Reported Issues
Concurrency Problems
You discover that deadlocks frequently occur.
You identify that a stored procedure named usp_AcceptCandidate and a stored procedure named
usp_UpdateCandidate generate deadlocks. The following is the code for usp_AcceptCandidate:

Salary Query Issues
Users report that when they perform a search for job openings without specifying a minimum salary, only jobopenings that specify a minimum salary are displayed.
Log File Growth Issues
The current log file for DB1 grows constantly. The log file fails to shrink even when the daily SQL Server Agent
Shrink Database task runs.
Performance Issues
You discover that a stored procedure named usp_ExportOpenings takes a long time to run and executes a
table scan when it runs.
You also discover that the usp_GetOpenings stored procedure takes a long time to run and that the nonclustered index on the Description column is not being used.
Page Split Issues
On DB1, many page splits per second spike every few minutes.
Requirements
Security and Application Requirements
Litware identifies the following security and application requirements:
Only the Administrator, Company, and CompanyWeb database users must be able to execute the
usp_UpdateOpening stored procedure.
Changes made to the database must not affect WebApp1.
Locking Requirements
Litware identifies the following locking requirements:
The usp_GetOpenings stored procedure must not be blocked by the usp_UpdateOpening stored procedure.
If a row is locked in the Openings table, usp_GetOpenings must retrieve the latest version of the row, even if
the row was not committed yet.
Integration Requirements
Litware exports its job openings to an external company as XML data. The XML data uses the following format:

A stored procedure named usp_ExportOpenings will be used to generate the XML data. The following is the
code for usp_ExportOpenings:

The stored procedure will be executed by a SQL Server Integration Services (SSIS) package named Package1.
The XML data will be written to a secured folder named Folder1. Only a dedicated Active Directory account
named Account1 is assigned the permissions to read from or write to Folder1.
Refactoring Requirements
Litware identifies the following refactoring requirements:
New code must be written by reusing the following query:

The results from the query must be able to be joined to other queries.
Upload Requirements
Litware requires users to upload their job experience in a Word file by using WebApp1. WebApp1 will send the
Word file to DB1 as a stream of bytes. DB1 will then convert the Word file to text before the contents of the
Word file is saved to the Candidates table.
A database developer creates an assembly named Conversions that contains the following:
A class named Convert in the SqlConversions namespace
A method named ConvertToText in the Convert class that converts Word files to text
The ConvertToText method accepts a stream of bytes and returns text. The method is used in the following
stored procedure:

Job Application Requirements
A candidate can only apply to each job opening once.
Data Recovery Requirements
All changes to the database are performed by using stored procedures. WebApp1 generates a unique
transaction ID for every stored procedure call that the application makes to the database.
If a server fails, you must be able to restore data to a specified transaction.

###EndCaseStudy###

You need to create a script that automates the export of the XML data. The script must meet the integration
requirements.
What should you include in the script?

###BeginCaseStudy###

Testlet 1
Litware, Inc
Overview
General Overview
General Overview
You are a database developer for a company named Litware, Inc. Litware has a main office in Miami.
Litware has a job posting web application named WebApp1. WebApp1 uses a database named DB1. DB1 is
hosted on a server named Server1. The database design of DB1 is shown in the exhibit. (Click the Exhibit
button.)

WebApp1 allows a user to log on as a job poster or a job seeker. Candidates can search for job openings
based on keywords, apply to an opening, view their application, and load their resume in Microsoft Word
format. Companies can add a job opening, view the list of candidates who applied to an opening, and mark an
application as denied.
Users and Roles
DB1 has five database users named Company, CompanyWeb, Candidate, CandidateWeb, and Administrator.
DB1 has three user-defined database roles. The roles are configured as shown in the following table.

Keyword Search
The keyword searches for the job openings are performed by using the following stored procedure named
usp_GetOpenings:

Opening Update
Updates to the Openings table are performed by using the following stored procedure named
usp_UpdateOpening:

Problems and Reported Issues
Concurrency Problems
You discover that deadlocks frequently occur.
You identify that a stored procedure named usp_AcceptCandidate and a stored procedure named
usp_UpdateCandidate generate deadlocks. The following is the code for usp_AcceptCandidate:

Salary Query Issues
Users report that when they perform a search for job openings without specifying a minimum salary, only jobopenings that specify a minimum salary are displayed.
Log File Growth Issues
The current log file for DB1 grows constantly. The log file fails to shrink even when the daily SQL Server Agent
Shrink Database task runs.
Performance Issues
You discover that a stored procedure named usp_ExportOpenings takes a long time to run and executes a
table scan when it runs.
You also discover that the usp_GetOpenings stored procedure takes a long time to run and that the nonclustered index on the Description column is not being used.
Page Split Issues
On DB1, many page splits per second spike every few minutes.
Requirements
Security and Application Requirements
Litware identifies the following security and application requirements:
Only the Administrator, Company, and CompanyWeb database users must be able to execute the
usp_UpdateOpening stored procedure.
Changes made to the database must not affect WebApp1.
Locking Requirements
Litware identifies the following locking requirements:
The usp_GetOpenings stored procedure must not be blocked by the usp_UpdateOpening stored procedure.
If a row is locked in the Openings table, usp_GetOpenings must retrieve the latest version of the row, even if
the row was not committed yet.
Integration Requirements
Litware exports its job openings to an external company as XML data. The XML data uses the following format:

A stored procedure named usp_ExportOpenings will be used to generate the XML data. The following is the
code for usp_ExportOpenings:

The stored procedure will be executed by a SQL Server Integration Services (SSIS) package named Package1.
The XML data will be written to a secured folder named Folder1. Only a dedicated Active Directory account
named Account1 is assigned the permissions to read from or write to Folder1.
Refactoring Requirements
Litware identifies the following refactoring requirements:
New code must be written by reusing the following query:

The results from the query must be able to be joined to other queries.
Upload Requirements
Litware requires users to upload their job experience in a Word file by using WebApp1. WebApp1 will send the
Word file to DB1 as a stream of bytes. DB1 will then convert the Word file to text before the contents of the
Word file is saved to the Candidates table.
A database developer creates an assembly named Conversions that contains the following:
A class named Convert in the SqlConversions namespace
A method named ConvertToText in the Convert class that converts Word files to text
The ConvertToText method accepts a stream of bytes and returns text. The method is used in the following
stored procedure:

Job Application Requirements
A candidate can only apply to each job opening once.
Data Recovery Requirements
All changes to the database are performed by using stored procedures. WebApp1 generates a unique
transaction ID for every stored procedure call that the application makes to the database.
If a server fails, you must be able to restore data to a specified transaction.

###EndCaseStudy###

You need to create a script that automates the export of the XML data. The script must meet the integration
requirements.
What should you include in the script?

A.
The CREATE SERVER ROLE command and the sp_reassign_proxy, sp_add_job, sp_add_jobstep, and
sp_grant_login_to_proxy system stored procedures.

B.
The CREATE CREDENTIAL command and the sp_add_proxy, sp_add_job, sp_add_jobstep, and
sp_grant_proxy_to_subsystem system stored procedures.

C.
The CREATE CREDENTIAL command and the sp_reassign_proxy, sp_add_job, sp_add_jobstep, and
sp_grant_login_to_proxy system stored procedures.

D.
The CREATE SERVER ROLE command and the sp_add_proxy, sp_add_job, sp_add_jobstep, and
sp_grant_proxy_to_subsystem system stored procedures.



Leave a Reply 0

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