MCTS Self-Paced Training Kit (Exam 70-431): Microsoft SQL Server 2005Implementation and Maintenance

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 395

/t should be and /n should be On page 395, the descriptions for the FIELDTERMINATOR parameter and the ROWTERMINATOR parameter contain incorrect forward slashes. Change: "FIELDTERMINATOR Specifies the field or column terminator or delimiter. As with the bcp -t parameter, the default value is /t (tab character)." To: "FIELDTERMINATOR Specifies the field or column terminator or delimiter. As with the bcp -t parameter, the default value is (tab character)." Change: "ROWTERMINATOR Specifies the row terminator or delimiter. As with the bcp -r parameter, the default value is /n (newline character)." To: "ROWTERMINATOR Specifies the row terminator or delimiter. As with the bcp -r parameter, the default value is (newline character)."

Microsoft Press  May 06, 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