Errata for MCTS Self-Paced Training Kit (Exam 70-431): Microsoft® SQL Server 2005Implementation and Maintenance
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update
Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
Printed |
Page CD-ROM
|
Answer to Readiness Review question incorrect
In the Readiness Review Assessment, one of the questions reads:
"The Surveys table in the Geology database has four indexes associated with : Surveys.IndexA, Surveys.IndexB, Surveys.IndexC, and Surveys.IndexD.
You want to rebuild Surveys.IndexC while keeping the Surveys table available to database users who might wish to access it."
The answer given is incorrect.Change:
"ALTER INDEX Surveys.IndexC ON Surveys
REBUILD;
ONLINE = ON"
To:
"ALTER INDEX Surveys.IndexC ON Surveys
REBUILD WITH
ONLINE = ON"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page CD-ROM
|
Readiness Review Assessment correct answer marked as incorrect
On the Readiness Review assessment one of the questions lists a correct answer as incorrect.
The quesiton reads: "Which SQL Server versions can participate in a SQL Server 2005 log shipping configuration as a monitor server? (Choose all that apply)"
The correct answers should read:
"SQL Server 2005 Workgroup Edition
SQL Server 2005 Enterprise Edition
SQL Server 2005 Standard Edition"
|
Microsoft Press |
Jul 13, 2010 |
|
Other Digital Version |
CD-ROM
|
Missing IDENTITY(1,1) property in Practice FilesChapter8Lesson 1CompleteLesson1.sql file
Line 84 in Practice FilesChapter8Lesson 1CompleteLesson1.sql reads:
ID INT NOT NULL,It should read:
ID INT IDENTITY(1,1) NOT NULL,
|
Microsoft Press |
May 06, 2010 |
|
Other Digital Version |
CD-ROM
|
Readiness Review assessment answer incorrect
On the Readiness Review assessment the question that reads "Which of the following commands produces a list of Sql Server Agent jobs that have been cancelled?" has an incorrect answer.
Change:
sp_help_jobhistory @run_status = 5To:
sp_help_jobhistory @run_status = 3
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page xxxiv
|
Additional software requirements needed
On page xxxiv, the need for SQL Server 2000 in Chapter 1 is missing from the software requirements.
The addition of the following information is needed under the SQL Server 2005 (A 180-day evaluation edition of Microsoft SQL Server 2005 Enterprise Edition is included on DVD with this book) bullet point:
"An instance of SQL Server 2000 is required to be installed to complete the upgrade sections of Chapter 1."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 12
|
Mistake in memory limitation of SQL Server 2005 Workgroup Edition
On page 12, the third bullet point in the Memory requirements section reads:
"SQL Server 2005 Workgroup Edition: 512 MB; 1 GB or more recommended (maximum of 4 GB)"
It should read:
"SQL Server 2005 Workgroup Edition: 512 MB; 1 GB or more recommended (maximum of 3 GB)"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 13
|
Processor type named incorrectly
On page 13, under Processor requirements for 64-Bit Editions of SQL Server 2005 the 2nd bullet reads:
"X64 minimum: 1 GHz or faster AMD Opteron, AMD Athlon 64, Intel
Xenon with Intel EM64T support, or Intel Pentium IV with EM64T support"
It should read:
"X64 minimum: 1 GHz or faster AMD Opteron, AMD Athlon 64, Intel
Xeon with Intel EM64T support, or Intel Pentium IV with EM64T support"
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 22
|
Local system account does have network access
On page 22, under the heading Built-In System Account or Domain User Account for the SQL Server and
SQL Server Agent Services? the first sentence in the 3rd paragraph reads:
"The local system account is a Windows OS account that has full administrative rights
on the local computer but has no network access rights."
It should read:
"The local system account is a Windows OS account that has full administrative rights
on the local computer."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 28
|
Default instance created rather than named instance
On page 28, step 14 reads:
"Install a default instance, as Figure 1-7 shows."
It should read:
"Select "Named instance" and provide an appropriate name."
Figure 1-7 should be disregarded.
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 58
|
The description of the practice references a read-only filegroup, which is not created
On page 58, the final sentence on the page reads:
"In this practice, you will create a database that contains several files and filegroups and then configure one filegroup as the default filegroup and another as a read-only filegroup."
It should read:
"In this practice, you will create a database that contains several files and filegroups and then configure one filegroup as the default filegroup."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 84
|
Nesting roles are reversed
On page 84, the third sentence in the fourth paragraph reads:
"You could grant that role the permissions of the entire Accounting role by nesting Accounting within AccountingMgr and then just granting the extra manager permissions to the AccountingMgr role."
It should read:
"You could grant that role the permissions of the entire Accounting role by nesting AccountingMgr within Accounting and then just granting the extra manager permissions to the AccountingMgr role."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 97
|
Northwind database not found on CD-ROM
On page 97, step 1 under Creating a Microsoft Access Linked Server reads:
"1. Browse the companion CD and copy the Practice FileNorthwind.mdb database to C:Practice FilesNorthwind.mdb"
This file is not found on the CD-ROM, but can be download at: Northwind.exeFor additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:119591How to Obtain Microsoft Support Files from Online ServicesMicrosoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 113
|
Explanation of the size declaration of character data types is incorrect
On page 113, the second and third sentence of the last paragraph read:
"When defining a character data type, you specify the maximum number of bytes the column is allowed to store. For example, a char(10) can store a maximum of 10 characters because each character requires one byte of storage, whereas an nchar(10) can store a maximum of five characters because each Unicode character requires two bytes of storage."
They should read:
"When defining a character data type, you specify the maximum number of characters the column is allowed to store."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 114
|
1,073,741,824 should be 2,147,483,647 and 536,870,912 should be 1,073,741,823
On page 114, the incorrect number of characters is indicated four times.
Change:
"varchar(max) Up to 2 GB Up to 1,073,741,824 characters ANSI data type that is variable width"
To:
"varchar(max) Up to 2 GB Up to 2,147,483,647 characters ANSI data type that is variable width"
Change:
"nvarchar(max) Up to 2 GB Up to 536,870,912 characters Unicode data type that is variable width"
To:
"nvarchar(max) Up to 2 GB Up to 1,073,741,823 characters Unicode data type that is variable width"
Change:
"text Up to 2 GB Up to 1,073,741,824 characters ANSI data type that is variable width"
To:
"text Up to 2 GB Up to 2,147,483,647 characters ANSI data type that is variable width"
Change:
"ntext Up to 2 GB Up to 536,870,912 characters Unicode data type that is variable width"
To:
"ntext Up to 2 GB Up to 1,073,741,823 characters Unicode data type that is variable width"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 116
|
bit should be byte
On page 116, the "Purpose" of uniqueidentifier in Table 3-8 is incorrect.
Change:
"A 16-bit GUID used to globally identify a row across databases, instances, and servers."
To:
"A 16-byte GUID used to globally identify a row across databases, instances, and servers."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 118
|
Identify used in place of Identity
On page 118, in the first sentence under the Identity heading it reads:
"When defining columns, you also have the ability to specify a special identify property for a single column in a table."
It should read:
"When defining columns, you also have the ability to specify a special identity property for a single column in a table."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 120
|
row should be column
On page 120, the sixth bullet point refers to a row instead of a column.
Change:
"A customer can have an optional postal code specified. Each row consumes 10 bytes of storage."
To:
"A customer can have an optional postal code specified. Each column consumes 10 bytes of storage."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 150
|
Incorrect comparison of a 4-byte column to a 60-byte column
On page 150, the third sentence reads:
"For example, an index defined on a 4-byte integer column will have five times as many values per page as an index defined on a char(60) column that requires 60 bytes of storage per page."
It should read:
"For example, an index defined on a 4-byte integer column will have fifteen times as many values per page as an index defined on a char(60) column that requires 60 bytes of storage per page."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 163
|
"index" should be "index key"
On page 163, in the first sentence of paragraph five and the last sentence on the page require additional clarification.
Change:
"In addition to considering the performance degradation caused by write operation, keep in mind that indexes are limited to a maximum of 900 bytes."
To:
"In addition to considering the performance degradation caused by write operation, keep in mind that index keys are limited to a maximum of 900 bytes."
Change:
"Values from included columns do not appear in the root or intermediate levels of an index and do not count against the 900-byte limit for an index."
To:
"Values from included columns do not appear in the root or intermediate levels of an index and do not count against the 900-byte limit for an index key."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 175
|
Object selected from subquery should be EmployeeID
On page 175, the first code sample on the page reads:
SELECT *
FROM HumanResources.Employee as E
WHERE E.EmployeeId IN
(
SELECT AddressID
FROM HumanResources.EmployeeAddress
)It should read:
SELECT *
FROM HumanResources.Employee as E
WHERE E.EmployeeId IN
(
SELECT EmployeeID
FROM HumanResources.EmployeeAddress
)
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 213
|
view should be index
On page 213, the first bullet point in the Lesson Summary refers to a view rather than an index.
Change:
"Defining a partition function is the first step of partitioning a table, view, or indexed view."
To:
"Defining a partition function is the first step of partitioning a table, index, or indexed view."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 215
|
"view" should be "index"
On page 215, the first sentence of the second to the last paragraph on the page uses the word "view" instead of "index".
Change:
"Notice that we still have not specified a table, view, or indexed view or referenced any other object in the database with the exception of the partition function."
To:
"Notice that we still have not specified a table, index, or indexed view or referenced any other object in the database with the exception of the partition function."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 323
|
Incorrect Flag Value in code sample
On page 323, the 4th line of the code sample reads:
FROM OPENXML( @h , '/Departments/Department/Employees/Employee', 3)It should read:
FROM OPENXML( @h , '/Departments/Department/Employees/Employee', 0)
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 323
|
Incorrect parameter used in OPENXML statement
On page 323, the fifth line of the code sample reads:
FROM OPENXML( @h , '/Departments/Department/Employees/Employee', 3)It should read:
FROM OPENXML( @h , '/Departments/Department/Employees/Employee', 0)
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 328
|
Incorrect duplicate phrase used in the same sentence
On page 328, Step 3 reads:
"Use the SQLXML API to load both the annotated schema and the XML data that needs to be loaded into the database and to bulk load the XML data into the database."
It should read:
"Use the SQLXML API to load both the annotated schema and to bulk load the XML data into the database.
"
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 363
|
The word principle is used in place of the word principal
On page 363, the code sample and following sentence of the "Assign Permissions to a Role for a Stored Procedure" section reads:
"GRANT EXECUTE ON TO Chapter 2, āConfiguring SQL Server 2005,ā covers the GRANT statement and database
principles."
It should read:
"GRANT EXECUTE ON TO Chapter 2, āConfiguring SQL Server 2005,ā covers the GRANT statement and database
principals."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 367
|
AFTER triggers can only be created on tables
On page 367, the last sentence in the third paragraph reads:
" And you can create any number of AFTER triggers on a view or table."
It should read:
" And you can create any number of AFTER triggers on a table."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 368
|
INSERTED and DELETED tables can be viewed with OUTPUT clause
On page 368, The second sentence in the second to last paragraph reads:
"INSERTED and DELETED tables are visible only within a trigger and cannot be accessed by any other contstruct such as a stored procedure or function."
It should read:
"INSERTED and DELETED tables can be viewed by using an OUTPUT clause."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 370
|
"INSERTED" should be "DELETED"
On page 370, in the code sample the third line within the BEGIN TRY block contains an incorrect table.
Change:
SELECT 'BEFORE', INSERTED.PayRate, @now, suser_sname()To:
SELECT 'BEFORE', DELETED.PayRate, @now, suser_sname()
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 374
|
Incorrect wording of Question 1
On page 374, Question 1 is incorrect in regards to the content of the chapter.
Change:
"1. Which of the following operators is allowed in a trigger?"
To:
"1. Which of the following operators is allowed in a trigger when it is used against the table or view that is the target of the triggering action?"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 396
|
/t should be and /n should be
On page 396, the second sentence in Step 3 contains two incorrect values.
Change:
"Remember that the defaults for column and row terminators are /t (tab) and /n (newline), respectively."
To:
"Remember that the defaults for column and row terminators are (tab) and
(newline), respectively."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 422
|
PUBS1B.BAK file referenced in place of PUBS1A.BAK
On page 422, the first line of the code sample reads:
BACKUP DATABASE PUBS TO DISK=āC:DEMOBACKUPPUBS1B.BAKā, DISK=āC:DEMOBACKUPPUBS1B.BAKāIt should read:
BACKUP DATABASE PUBS TO DISK=āC:DEMOBACKUPPUBS1A.BAKā, DISK=āC:DEMOBACKUPPUBS1B.BAKā
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 423
|
BACKUP LOG command backs up transaction log
On page 423, the last step in practice 1 reads:
"9. Execute the following command to perform a full database backup to the specified disk location:
BACKUP LOG AdventureWorks TO DISK = āC:TESTAW2.TRN'"
It should read:
"9. Execute the following command to perform a full transaction log backup to the specified disk location:
BACKUP LOG AdventureWorks TO DISK = āC:TESTAW2.TRN'"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 435
|
Additional steps required for Lesson 2 practice
On page 435, in Step 4 of the Practice two additional RESTORE commands need to be executed before the backup tail can be restored.
Change:
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAW.BAKā WITH NORECOVERY
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAWDIFF1.BAKā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAW2.TRNā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAWTAIL.TRNā WITH RECOVERYTo:
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAW.BAKā WITH NORECOVERY
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAWDIFF1.BAKā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAW2.TRNā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAW3.TRNā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAW4.TRNā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAWTAIL.TRNā WITH RECOVERY
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 435
|
Error in code sample
On page 435, the sample code in step 4 does not function.
Change:
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAW.BAKā WITH NORECOVERY
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAWDIFF1.BAKā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAW2.TRNā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAWTAIL.TRNā WITH RECOVERYTo:
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAW.BAKā WITH NORECOVERY
RESTORE DATABASE AdventureWorks FROM DISK = āC:TESTAWDIFF1.BAKā WITH NORECOVERY
RESTORE LOG AdventureWorks FROM DISK = āC:TESTAW2.TRNā WITH RECOVERY
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 484
|
Closing parenthesis missing at the end of CREATE ENDPOINT statement
On page 484, the example CREATE ENDPOINT statement reads:
CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
STATE = { STARTED | STOPPED | DISABLED }
AS { HTTP | TCP } (
)
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
It should read:
CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
STATE = { STARTED | STOPPED | DISABLED }
AS { HTTP | TCP } (
)
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
)
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 506
|
Maintenance Tasks not listed in Maintenance Plan Wizard
On page 506, in table 14-1 it lists the following tasks as available in the Maintenance Plan Wizard:
Pointer
Execute T-SQL Statement Task
Maintenance Cleanup Task
Notify Operator Task
These tasks do not appear in the Maintenance Plan Wizard, they appear instead in the toolbox.
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 507
|
Information in NOTE partially incorrect
On page 507, the wording of the NOTE on this page needs to be changed for clarification reasons.
Change:
"NOTE Each backup plan has only one task
The most common tasks to perform in a maintenance plan are backups. You will never execute full,
differential, and transaction log backups on the same schedule. Unfortunately, because you can
specify only one schedule for the entire maintenance plan, each backup maintenance plan that you
create will have only one task defined within it."
To:
"NOTE Each backup plan has only one backup task
The most common tasks to perform in a maintenance plan are backups. You will never execute full,
differential, and transaction log backups on the same schedule. Unfortunately, because you can
specify only one schedule for the entire maintenance plan, each backup maintenance plan that you
create will have only one backup task defined within it."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 508
|
NOTE needs to be disregarded
On page 508, the NOTE at the top of the page is incorrect and should be disregarded.
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 562
|
fn_tracegettable referenced in place of fn_trace_gettable
On page 562, the fourth sentence of the BestPractices section includes an incorrect function name.Change:
"After the trace is stopped, you can move the trace file to a central location and use fn_tracegettable() to load the trace into a table."
To:
"After the trace is stopped, you can move the trace file to a central location and use fn_trace_gettable() to load the trace into a table."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 586
|
Incorrect word used in place of deadlocks
On page 586, the first sentence of the last paragraph reads:
"Fortunately, SQL Server Profiler provides detailed information about deadlines via a deadlock trace."
It should read:
"Fortunately, SQL Server Profiler provides detailed information about deadlocks via a deadlock trace."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 595
|
blocking_process_id referenced in place of blocking_session_id
On page 595, the code sample reads:
SELECT session_id, sql_handle, plan_handle FROM sys.dm_exec_requests WHERE
blocking_process_id > 0It should read:
SELECT session_id, sql_handle, plan_handle FROM sys.dm_exec_requests WHERE
blocking_session_id > 0
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 624
|
Customer used in place of custom
On page 624, the first line of the page reads:
"Integration Services (SSIS) packages, SQL Server Agent jobs, customer error messages, or other objects configured on the server."
It should read:
"Integration Services (SSIS) packages, SQL Server Agent jobs, custom error messages, or other objects configured on the server."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 640
|
"mirror" should be "witness"
On page 640, the 4th bullet point at the bottom of the page includes an incorrect word.
Change:
"High Protection operating mode synchronously transfers data between principal and mirror, does not use a mirror, and requires manual failover."
To:
"High Protection operating mode synchronously transfers data between principal and mirror, does not use a witness, and requires manual failover."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 672
|
AdventureWorks.bck should be AdventureWorks.bak
On page 672, Step 14 includes an incorrect extension for the AdventureWorks backup file.
Change:
"Select the AdventureWorks.bck file in the default backup path and click OK."
To:
"Select the AdventureWorks.bak file in the default backup path and click OK."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 683
|
Default behavior for Standby mode misrepresented
On page 683, Answer C to Question 2 reads:
"This is the default behavior for the Standby mode. Using SSMS, clear the Disconnect Users In The Database When Restoring Backups check box of the log shipping configuration."
It should read:
"This is optional behavior for the Standby mode. Using SSMS, clear the Disconnect Users In The Database When Restoring Backups check box of the log shipping configuration."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 704
|
Queue Reader Agent application filename incorrect
On page 704, the second bullet point reads:
"Queue Reader Agent (replmerg.exe)"
It should read:
"Queue Reader Agent (qrdrsvc.exe)"
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 710
|
Incorrect folder name to disable publishing
On page 710, the NOTE section reads:
"If you want to disable the publishing on a server, right-click the Publication folder and choose Disable Publishing And Distribution."
It should read:
"If you want to disable the publishing on a server, right-click the Replication folder and choose Disable Publishing And Distribution."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 734
|
Distribution Database located in an incorrect Agent row
On page 734, in the Distribution Database column the dbo_owner permission should be removed from the Distribution (Pull) row and added to the Distribution (Push) row.
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 739
|
Incorrect computer address used in practice
On page 739, the first sentence in Step 6 reads:
"In the Replace With text box, type \COMPUTERNAMEReplData."It should read:
"In the Replace With text box, type \COMPUTERNAMEReplicationPracticeReplData."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 755
|
Delete tuid_ProductAudit before performing Practice 4
On page 755, Practice 4:
The 2nd UPDATE statement in step 7 will fail if the trigger tuid_ProductAudit created in Chapter 9, Lesson 3, Practice 1, still exists on the table Production.Product when the ReplTesting database is first created.
Before attempting to perform Practice 4 you need to delete the trigger tuid_ProductAudit from SubsTesting.Production.Product in order to successfully complete the practice.
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 785
|
Extraneous space in code sample
On page 785, the first line of the code sample reads:
CREATE MESSAGE TYPE [http://broker. SolidQualityLearning.com/test/CheckClasses]It should read:
CREATE MESSAGE TYPE [http://broker.SolidQualityLearning.com/test/CheckClasses]
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 832
|
Search term missing from the second code sample
On page 832, the second code sample reads:
SELECT ProductDescriptionID, Description FROM Production.ProductDescription
WHERE CONTAINS(Description, N'');It should read:
SELECT ProductDescriptionID, Description FROM Production.ProductDescription
WHERE CONTAINS(Description, N'bike');
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 851
|
Correct answers should also include C
On page 851, the correct answers for Question 3 is missing answer C. The explanation for answer C also needs to be changed.
Change:
"1. Correct Answers: B and D
A. Incorrect: You cannot enable the CLR on a database-by-database basis.
B. Correct: You must enable the CLR by using the Surface Area Configuration utility.
C. Incorrect: You must compile and load into SQL Server a class that conforms to the UDT specification. However, class creation is not limited exclusively to .NET languages.
D. Correct: You can use any CLR-compatible language, including C#, Visual Basic, and Cobol.NET to create a class for a CLR user-defined type."
To:
"1. Correct Answers: B, C, and D
A. Incorrect: You cannot enable the CLR on a database-by-database basis.
B. Correct: You must enable the CLR by using the Surface Area Configuration utility.
C. Correct: To create a CLR UDT, you must create a class by using one of the Microsoft .NET programming languages, such as C#, that conforms to the UDT specification.
D. Correct: You can use any CLR-compatible language, including C#, Visual Basic, and Cobol.NET to create a class for a CLR user-defined type."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 869
|
Explanation for Answer A is partially incorrect
On page 869, in the Lesson 3 section, Answer A for Question 1 has a partially incorrect explanation and needs to be changed.
Change:
"A. Incorrect: Indexes cannot be created within a trigger."
To:
"A. Incorrect: Indexes cannot be created within a trigger when it is used against the table or view that is the target of the triggering action."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 879
|
sys.dm_db_index_physical-stats referenced in place of sys.dm_db_index_physical_stats in the answers to Chapter 12, Case Scenario 1
On page 879, the answers to Case Scenario 1 read:
"1. SQL Server 2005 exposes index fragmentation levels through the sys.dm_db_index_physical-stats DMF. Your job should call this DMF to check for index fragmentation and determine whether it needs to perform any operations to defragment indexes.
2. Your job should check for external fragmentation by looking for values over 10 percent in the avg_fragmentation_in_percent column returned by the sys.dm_db_index_physical-stats DMF.
3. Your job should check for internal fragmentation by looking for values under 75 percent in the avg_page_space_used_in_percent column returned by the sys.dm_db_index_physical-stats DMF."
They should read:
"1. SQL Server 2005 exposes index fragmentation levels through the sys.dm_db_index_physical_stats DMF. Your job should call this DMF to check for index fragmentation and determine whether it needs to perform any operations to defragment indexes.
2. Your job should check for external fragmentation by looking for values over 10 percent in the avg_fragmentation_in_percent column returned by the sys.dm_db_index_physical_stats DMF.
3. Your job should check for internal fragmentation by looking for values under 75 percent in the avg_page_space_used_in_percent column returned by the sys.dm_db_index_physical_stats DMF."
|
Microsoft Press |
May 06, 2010 |
|
Printed |
Page 901
|
"revolver" should be "resolver"
On page 901, in the solution to Question 3 of Case Scenario 2 the word "revolver" should be replaced with "resolver".
Change:
"Programmers can use Microsoft COM-based conflict revolvers, create a .NET business component, or create a COM-based conflict revolver to resolve data conflicts if the same data is modified at the same time."
To:
"Programmers can use Microsoft COM-based conflict resolvers, create a .NET business component, or create a COM-based conflict resolver to resolve data conflicts if the same data is modified at the same time."
|
Microsoft Press |
Jul 13, 2010 |
|
Printed |
Page 902
|
The correct answer to Lesson 3 Question 1 is C
On page 902, the correct answer to Lesson 3 Question 1 incorrectly states B.
Change:
"Lesson 3
1. Correct Answer: B
A. Incorrect: The retention parameter specifies whether to keep messages until the conversation that processed them has been explicitly closed or whether to discard the messages as soon as they are processed.
B. Correct: Activation causes a stored procedure to be launched when a new messages arrives on a queue, as long as a stored procedure is not already running. This feature will launch additional procedures up to a configured
maximum if the rate of inbound messages exceeds the rate at which they are being processed.
C. Incorrect: The MAX_QUEUE_READERS option limits the number of procedures that are activated but does not activate them to process messages.
D. Incorrect: The stored procedure that is specified for activation processes messages on the queue and does not launch new instances of itself."
To:
"Lesson 3
1. Correct Answer: C
A. Incorrect: The retention parameter specifies whether to keep messages until the conversation that processed them has been explicitly closed or whether to discard the messages as soon as they are processed.
B. Incorrect: The feature āactivationā has nothing to do with the number of applications, only the way in which they are started.
C. Correct: The MAX_QUEUE_READERS option shows how many applications are available.
D. Incorrect: The stored procedure that is specified for activation processes messages on the queue and does not launch new instances of itself."
Microsoft Press is committed to providing informative and accurate
books. All comments and corrections listed above are ready for
inclusion in future printings of this book. If you have a later printing
of this book, it may already contain most or all of the above corrections.
|
Microsoft Press |
May 06, 2010 |
|
|