PrepAway - Latest Free Exam Questions & Answers

Tag: Exam 70-464 (update March 5th, 2015)

Exam 70-464: Developing Microsoft SQL Server 2012 Databases (update March 5th, 2015)

Which code segment should you execute on the other server?

###BeginCaseStudy###
Case Study: 4
Scenario 4
Application Information
You are a database administrator for a manufacturing company.
You have an application that stores product data. The data will be converted to technical
diagrams for the manufacturing process.
The product details are stored in XML format. Each XML must contain only one product that
has a root element named Product. A schema named Production.ProductSchema has been
created for the products xml.
You develop a Microsoft .NET Framework assembly named ProcessProducts.dll that will be
used to convert the XML files to diagrams. The diagrams will be stored in the database as

images. ProcessProducts.dll contains one class named ProcessProduct that has a method
name of Convert(). ProcessProducts.dll was created by using a source code file named
ProcessProduct.es.
All of the files are located in C:\Products\.
The application has several performance and security issues.
You will create a new database named ProductsDB on a new server that has SQL Server
2012 installed. ProductsDB will support the application.
The following graphic shows the planned tables for ProductsDB:

You will also add a sequence named Production.ProductID_Seq.
You plan to create two certificates named DBCert and ProductsCert. You will create
ProductsCert in master. You will create DBCert in ProductsDB.
You have an application that executes dynamic T-SQL statements against ProductsDB. A
sample of the queries generated by the application appears in Dynamic.sql.
Application Requirements
The planned database has the following requirements:
• All stored procedures must be signed.
• The amount of disk space must be minimized.
• Administrative effort must be minimized at all times.
• The original product details must be stored in the database.
• An XML schema must be used to validate the product details.
• The assembly must be accessible by using T-SQL commands.
• A table-valued function will be created to search products by type.
• Backups must be protected by using the highest level of encryption.
• Dynamic T-SQL statements must be converted to stored procedures.
• Indexes must be optimized periodically based on their fragmentation.
• Manufacturing steps stored in the ManufacturingSteps table must refer to a product by
the sameidentifier used by the Products table.
ProductDetails_Insert.sql

Product, xml
All product types are 11 digits. The first five digits of the product id reference the category of
the product and the remaining six digits are the subcategory of the product.
The following is a sample customer invoice in XML format:

ProductsByProductType.sql

Dynamic.sql

Category FromType.sql

IndexManagement.sql

###EndCaseStudy###

You are testing disaster recovery procedures.
When you attempt to restore ProductsDB to another server, you receive the following error
message: “Msg

33111, Level 16, State 3, Line 5
Cannot find server certificate with thumbprint ‘ 0x9D876A3468B911ElBA4CFCBF4724019B\
Msg 3013, Level 16, State 1, Line 5
RESTORE DATABASE is terminating abnormally.”
You need to ensure that you can restore ProductsDB to another server.
Which code segment should you execute on the other server?

Which code segments should you execute?

###BeginCaseStudy###
Case Study: 4
Scenario 4
Application Information
You are a database administrator for a manufacturing company.
You have an application that stores product data. The data will be converted to technical
diagrams for the manufacturing process.
The product details are stored in XML format. Each XML must contain only one product that
has a root element named Product. A schema named Production.ProductSchema has been
created for the products xml.
You develop a Microsoft .NET Framework assembly named ProcessProducts.dll that will be
used to convert the XML files to diagrams. The diagrams will be stored in the database as

images. ProcessProducts.dll contains one class named ProcessProduct that has a method
name of Convert(). ProcessProducts.dll was created by using a source code file named
ProcessProduct.es.
All of the files are located in C:\Products\.
The application has several performance and security issues.
You will create a new database named ProductsDB on a new server that has SQL Server
2012 installed. ProductsDB will support the application.
The following graphic shows the planned tables for ProductsDB:

You will also add a sequence named Production.ProductID_Seq.
You plan to create two certificates named DBCert and ProductsCert. You will create
ProductsCert in master. You will create DBCert in ProductsDB.
You have an application that executes dynamic T-SQL statements against ProductsDB. A
sample of the queries generated by the application appears in Dynamic.sql.
Application Requirements
The planned database has the following requirements:
• All stored procedures must be signed.
• The amount of disk space must be minimized.
• Administrative effort must be minimized at all times.
• The original product details must be stored in the database.
• An XML schema must be used to validate the product details.
• The assembly must be accessible by using T-SQL commands.
• A table-valued function will be created to search products by type.
• Backups must be protected by using the highest level of encryption.
• Dynamic T-SQL statements must be converted to stored procedures.
• Indexes must be optimized periodically based on their fragmentation.
• Manufacturing steps stored in the ManufacturingSteps table must refer to a product by
the sameidentifier used by the Products table.
ProductDetails_Insert.sql

Product, xml
All product types are 11 digits. The first five digits of the product id reference the category of
the product and the remaining six digits are the subcategory of the product.
The following is a sample customer invoice in XML format:

ProductsByProductType.sql

Dynamic.sql

Category FromType.sql

IndexManagement.sql

###EndCaseStudy###

You need to prepare the database to use the .NET Framework ProcessProducts component.
Which code segments should you execute? (Each correct answer presents part of the
solution. Choose all that apply.)

Which line of code should you modify in CategoryFromType.sql?

###BeginCaseStudy###
Case Study: 4
Scenario 4
Application Information
You are a database administrator for a manufacturing company.
You have an application that stores product data. The data will be converted to technical
diagrams for the manufacturing process.
The product details are stored in XML format. Each XML must contain only one product that
has a root element named Product. A schema named Production.ProductSchema has been
created for the products xml.
You develop a Microsoft .NET Framework assembly named ProcessProducts.dll that will be
used to convert the XML files to diagrams. The diagrams will be stored in the database as

images. ProcessProducts.dll contains one class named ProcessProduct that has a method
name of Convert(). ProcessProducts.dll was created by using a source code file named
ProcessProduct.es.
All of the files are located in C:\Products\.
The application has several performance and security issues.
You will create a new database named ProductsDB on a new server that has SQL Server
2012 installed. ProductsDB will support the application.
The following graphic shows the planned tables for ProductsDB:

You will also add a sequence named Production.ProductID_Seq.
You plan to create two certificates named DBCert and ProductsCert. You will create
ProductsCert in master. You will create DBCert in ProductsDB.
You have an application that executes dynamic T-SQL statements against ProductsDB. A
sample of the queries generated by the application appears in Dynamic.sql.
Application Requirements
The planned database has the following requirements:
• All stored procedures must be signed.
• The amount of disk space must be minimized.
• Administrative effort must be minimized at all times.
• The original product details must be stored in the database.
• An XML schema must be used to validate the product details.
• The assembly must be accessible by using T-SQL commands.
• A table-valued function will be created to search products by type.
• Backups must be protected by using the highest level of encryption.
• Dynamic T-SQL statements must be converted to stored procedures.
• Indexes must be optimized periodically based on their fragmentation.
• Manufacturing steps stored in the ManufacturingSteps table must refer to a product by
the sameidentifier used by the Products table.
ProductDetails_Insert.sql

Product, xml
All product types are 11 digits. The first five digits of the product id reference the category of
the product and the remaining six digits are the subcategory of the product.
The following is a sample customer invoice in XML format:

ProductsByProductType.sql

Dynamic.sql

Category FromType.sql

IndexManagement.sql

###EndCaseStudy###

While testing the CategoryFromType function, you discover that the function is returning
‘Other’.
You need to update CategoryFromType to return the category name.
Which line of code should you modify in CategoryFromType.sql?

Which data type should you use for ProductType?

###BeginCaseStudy###
Case Study: 4
Scenario 4
Application Information
You are a database administrator for a manufacturing company.
You have an application that stores product data. The data will be converted to technical
diagrams for the manufacturing process.
The product details are stored in XML format. Each XML must contain only one product that
has a root element named Product. A schema named Production.ProductSchema has been
created for the products xml.
You develop a Microsoft .NET Framework assembly named ProcessProducts.dll that will be
used to convert the XML files to diagrams. The diagrams will be stored in the database as

images. ProcessProducts.dll contains one class named ProcessProduct that has a method
name of Convert(). ProcessProducts.dll was created by using a source code file named
ProcessProduct.es.
All of the files are located in C:\Products\.
The application has several performance and security issues.
You will create a new database named ProductsDB on a new server that has SQL Server
2012 installed. ProductsDB will support the application.
The following graphic shows the planned tables for ProductsDB:

You will also add a sequence named Production.ProductID_Seq.
You plan to create two certificates named DBCert and ProductsCert. You will create
ProductsCert in master. You will create DBCert in ProductsDB.
You have an application that executes dynamic T-SQL statements against ProductsDB. A
sample of the queries generated by the application appears in Dynamic.sql.
Application Requirements
The planned database has the following requirements:
• All stored procedures must be signed.
• The amount of disk space must be minimized.
• Administrative effort must be minimized at all times.
• The original product details must be stored in the database.
• An XML schema must be used to validate the product details.
• The assembly must be accessible by using T-SQL commands.
• A table-valued function will be created to search products by type.
• Backups must be protected by using the highest level of encryption.
• Dynamic T-SQL statements must be converted to stored procedures.
• Indexes must be optimized periodically based on their fragmentation.
• Manufacturing steps stored in the ManufacturingSteps table must refer to a product by
the sameidentifier used by the Products table.
ProductDetails_Insert.sql

Product, xml
All product types are 11 digits. The first five digits of the product id reference the category of
the product and the remaining six digits are the subcategory of the product.
The following is a sample customer invoice in XML format:

ProductsByProductType.sql

Dynamic.sql

Category FromType.sql

IndexManagement.sql

###EndCaseStudy###

Which data type should you use for ProductType?

Which SQL Server feature should you use?

###BeginCaseStudy###
Case Study: 5
Litware, Inc
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 job openings 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 non-clustered 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 identify the cause of the page split issues.
Which SQL Server feature should you use?

You need to implement a solution that meets the job application requirements

###BeginCaseStudy###
Case Study: 5
Litware, Inc
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 job openings 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 non-clustered 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 implement a solution that meets the job application requirements.
What should you do?

Which statement should you execute on DB1?

###BeginCaseStudy###
Case Study: 5
Litware, Inc
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 job openings 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 non-clustered 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 implement a solution that resolves the salary query issue.
Which statement should you execute on DB1?

Which code segment should you use to implement the Conversions assembly?

###BeginCaseStudy###
Case Study: 5
Litware, Inc
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 job openings 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 non-clustered 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 implement a solution that addresses the upload requirements.
Which code segment should you use to implement the Conversions assembly?

Which type of object should you include in the solution?

###BeginCaseStudy###
Case Study: 5
Litware, Inc
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 job openings 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 non-clustered 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 design a solution that meets the refactoring requirements.
Which type of object should you include in the solution?

What should you include in the script?

###BeginCaseStudy###
Case Study: 5
Litware, Inc
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 job openings 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 non-clustered 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?


Page 15 of 18« First...10...1314151617...Last »