Errata
Errata for MCTS Self-Paced Training Kit (Exam 70-431): Microsoft® SQL Server™ 2005—Implementation 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 |
Microsoft Press | Jul 13, 2010 | |
Printed | Page CD-ROM |
Readiness Review Assessment correct answer marked as incorrect |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 12 |
Mistake in memory limitation of SQL Server 2005 Workgroup Edition |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 22 |
Local system account does have network access |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 58 |
The description of the practice references a read-only filegroup, which is not created |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 97 |
Northwind database not found on CD-ROM |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 114 |
1,073,741,824 should be 2,147,483,647 and 536,870,912 should be 1,073,741,823 |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 118 |
Identify used in place of Identity |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 150 |
Incorrect comparison of a 4-byte column to a 60-byte column |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 175 |
Object selected from subquery should be EmployeeID |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 215 |
"view" should be "index" |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 323 |
Incorrect Flag Value in code sample |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 363 |
The word principle is used in place of the word principal |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 368 |
INSERTED and DELETED tables can be viewed with OUTPUT clause |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 374 |
Incorrect wording of Question 1 |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 396 |
/t should be and /n should be |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 423 |
BACKUP LOG command backs up transaction log |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 435 |
Additional steps required for Lesson 2 practice |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 506 |
Maintenance Tasks not listed in Maintenance Plan Wizard |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 508 |
NOTE needs to be disregarded |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 586 |
Incorrect word used in place of deadlocks |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 624 |
Customer used in place of custom |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 672 |
AdventureWorks.bck should be AdventureWorks.bak |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 704 |
Queue Reader Agent application filename incorrect |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 734 |
Distribution Database located in an incorrect Agent row |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 755 |
Delete tuid_ProductAudit before performing Practice 4 |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 832 |
Search term missing from the second code sample |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 869 |
Explanation for Answer A is partially incorrect |
Microsoft Press | Jul 13, 2010 | |
Printed | Page 901 |
"revolver" should be "resolver" |
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 |