###BeginCaseStudy###
Case Study: 2
Scenario 2
Application Information
You have two servers named SQL1 and SQL2 that have SQL Server 2012 installed.
You have an application that is used to schedule and manage conferences.
Users report that the application has many errors and is very slow.
You are updating the application to resolve the issues.
You plan to create a new database on SQL1 to support the application. A junior database
administrator has created all the scripts that will be used to create the database. The script that
you plan to use to create the tables for the new database is shown in Tables.sql. The script
that you plan to use to create the stored procedures for the new database is shown in
StoredProcedures.sql. The script that you plan to use to create the indexes for the new
database is shown in Indexes.sql. (Line numbers are included for reference only.)
A database named DB2 resides on SQL2. DB2 has a table named SpeakerAudit that will
audit changes to a table named Speakers.
A stored procedure named usp_UpdateSpeakersName will be executed only by other stored
procedures. The stored procedures executing usp_UpdateSpeakersName will always handle
transactions.
A stored procedure named usp_SelectSpeakersByName will be used to retrieve the names of
speakers. Usp_SelectSpeakersByName can read uncommitted data.
A stored procedure named usp_GetFutureSessions will be used to retrieve sessions that will
occur in the future.
Procedures.sql
Indexes.sql
Tables.sql
###EndCaseStudy###
You are evaluating the table design.
You need to recommend a change to Tables.sql that reduces the amount of time it takes for
usp_AttendeesReport to execute.
What should you add at line 14 of Tables.sql?
A.
FullNamenvarchar(100)NOTNULLCONSTRAINTDF_FuIlNameDEFAULT{dbo.CreateFullNa
me (FirstName,LastName)),
B.
FullNameAS(FirstName+‘ ’+LastName),
C.
FullNamenvarchar(100)NOTNULLDEFAULT(dbo.CreateFullName(FirstName,LastName)).
D.
FullName AS(FirstName +‘ ’+ LastName)PERSISTED,
Explanation:
http://msdn.microsoft.com/en-us/library/ms188300.aspx
http://msdn.microsoft.com/en-us/library/ms191250.aspx
D is correct. You’d have the column persisted so that you don’t do the concatenation on the fly. A & C call a function to do the concatenation, which would be slower than a Calculated, persisted column.