You are on page 1of 190

O F F I C I A L

M I C R O S O F T

L E A R N I N G

P R O D U C T

6231B
Lab Instructions and Lab Answer Key: Maintaining a Microsoft SQL Server 2008 R2 Database

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. The names of manufacturers, products, or URLs are provided for informational purposes only and Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is not responsible for the contents of any linked site or any link contained in a linked site, or any changes or updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission received from any linked site. Microsoft is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement of Microsoft of the site or the products contained therein. 2011 Microsoft Corporation. All rights reserved. Microsoft, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are property of their respective owners.

Product Number: 6231B Part Number: X17-55433 Released: 5/2011

Module 1
Lab Instructions: Introduction to SQL Server 2008 R2 and its Toolset
Contents:
Exercise 1: Verify SQL Server Component Installation Exercise 2: Alter Service Accounts for New Instance Exercise 3: Enable Named Pipes Protocol for Both Instances Exercise 4: Create Aliases for AdventureWorks and Proseware Challenge Exercise 5: Ensure SQL Browser is Disabled and Configure a Fixed TCP/IP Port (Only if time permits) 2 3 3 4 5

Lab Instructions: Introduction to SQL Server 2008 R2 and its Toolset

Lab 1: Introduction to SQL Server and its Toolset

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt.

Exercise 1: Verify SQL Server Component Installation


A new instance of SQL Server has been installed by the IT department at AdventureWorks. It will be used by the new direct marketing company. The SQL Server named instance is called MKTG. In the first exercise, you need to verify that the required SQL Server components have been installed. The main tasks for this exercise are as follows: 1. 2. 3. Check that Database Engine and Reporting Services have been installed for the MKTG instance. Note the services that are installed for the default instance and that Integration Services is not installed on a per instance basis. Ensure that all required services including SQL Server Agent are started and set to autostart for both instances.

Task 1: Check that Database Engine and Reporting Services have been installed for the MKTG instance
Open SQL Server Configuration Manager. Check the installed list of services for the MKTG instance and ensure that the database engine and Reporting Services have been installed for the MKTG instance.

Lab Instructions: Introduction to SQL Server 2008 R2 and its Toolset

Task 2: Note the services that are installed for the default instance and that Integration Services is not installed on a per instance basis
Note the list of services that are installed for the default instance. Note that Integration Services has no instance name shown as it is not installed on a per-instance basis.

Task 3: Ensure that all required services including SQL Server Agent are started and set to autostart for both instances
Ensure that all the MKTG services are started and set to autostart. (Ignore the Full Text Filter Daemon at this time). Ensure that all the services for the default instance are set to autostart. (Ignore the Full Text Filter Daemon at this time).

Results: After this exercise, you have checked that the required SQL Server services are installed, started, and configured to autostart.

Exercise 2: Alter Service Accounts for New Instance


Scenario
The SQL Server services for the MKTG instance have been configured to execute under the AdventureWorks\SQLService service account. In this exercise, you will configure the services to execute under the AdventureWorks\PWService service account. The main tasks for this exercise are as follows: 1. 2. Change the service account for the MKTG database engine. Change the service account for the MKTG SQL Server Agent.

Task 1: Change the service account for the MKTG database engine
Change the service account for the MKTG database engine service to AdventureWorks\PWService using the properties page for the service.

Task 2: Change the service account for the MKTG SQL Server Agent
Change the service account for the MKTG SQL Server Agent service to AdventureWorks\PWService using the properties page for the service and then restart the service.

Results: After this exercise, you have configured the service accounts for the MKTG instance.

Exercise 3: Enable Named Pipes Protocol for Both Instances


Scenario
Client applications that are installed on the server will connect to the database engine using the named pipes protocol. In this exercise, you will enable the named pipes protocol for both database engine instances. The main tasks for this exercise are as follows: 1. 2. Enable the named pipes protocol for the default instance. Enable the named pipes protocol for the MKTG instance.

Lab Instructions: Introduction to SQL Server 2008 R2 and its Toolset

3.

Restart database engine services for both instances.

Task 1: Enable the named pipes protocol for the default instance
Enable the named pipes protocol for the default database engine instance using the Protocols window.

Task 2: Enable the named pipes protocol for the MKTG instance
Enable the named pipes protocol for the MKTG database engine instance using the Protocols window.

Task 3: Restart both database engine services


Restart the default database engine instance Restart the MKTG database engine instance Check to ensure that both instances have been restarted successfully

Results: After this exercise, you should have enabled the named pipes protocol for both database engine instances.

Exercise 4: Create Aliases for AdventureWorks and Proseware


Scenario
Client applications that are installed on the server will use aliases to connect to the database engine services. In this exercise, you will configure aliases for both the default instance (AdventureWorks) and for the MKTG instance (Proseware). Both 32-bit and 64-bit aliases should be configured. You will use SQL Server Management Studio to test the aliases once they have been configured. The main tasks for this exercise are as follows: 1. 2. 3. 4. 5. Create a 32-bit alias (AdventureWorks) for the default instance. Create a 32-bit alias (Proseware) for the MKTG instance. Create a 64-bit alias (AdventureWorks) for the default instance. Create a 64-bit alias (Proseware) for the MKTG instance. Use SQL Server Management Studio to connect to both aliases to ensure they work as expected.

Task 1: Create a 32-bit alias (AdventureWorks) for the default instance


Create a 32-bit alias for the default instance. Call the alias AdventureWorks and connect via named pipes. Use the servername ".".

Task 2: Create a 32-bit alias (Proseware) for the MKTG instance


Create a 32-bit alias for the MKTG instance. Call the alias Proseware and connect via named pipes. Use the servername ".\MKTG".

Task 3: Create a 64-bit alias (AdventureWorks) for the default instance


Create a 64-bit alias for the default instance. Call the alias AdventureWorks and connect via named pipes. Use the servername ".".

Lab Instructions: Introduction to SQL Server 2008 R2 and its Toolset

Task 4: Create a 64-bit alias (Proseware) for the MKTG instance


Create a 64-bit alias for the MKTG instance. Call the alias Proseware and connect via named pipes. Use the servername ".\MKTG".

Task 5: Use SQL Server Management Studio to connect to both aliases to ensure they work as expected
Open SQL Server Management Studio. Connect to the Proseware alias. In Object Explorer, connect also to the AdventureWorks alias.

Results: After this exercise, you should have created and tested aliases for both database engine instances.

Challenge Exercise 5: Ensure SQL Browser is Disabled and Configure a Fixed TCP/IP Port (Only if time permits)
Scenario
Client applications will need to connect to the MKTG database engine instance via the TCP/IP protocol. As their connections will need to traverse a firewall, the port used for connections cannot be configured as a dynamic port. The port number must not change. Corporate policy at AdventureWorks is that named instances should be accessed via fixed TCP ports and the SQLBrowser service should be disabled. In this exercise, you will make configuration changes to comply with these requirements. A firewall exception has already been created for port 51550, for use with the MKTG database engine instance. The main tasks for this exercise are as follows: 1. 2. Configure the TCP port for the MKTG database engine instance to 51550. Disable the SQLBrowser service.

Task 1: Configure the TCP port for the MKTG database engine instance to 51550
Using the property page for the TCP/IP server protocol, configure the use of the fixed port 51550. (Make sure that you clear the dynamic port) Restart the MKTG database engine instance. Ensure that the MKTG database engine instance has been restarted successfully.

Task 2: Disable the SQLBrowser service


Stop the SQLBrowser service. Set the Start Mode for the SQL Browser service to Disabled.

Results: After this exercise, you will have configured a fixed TCP port for the MKTG database engine instance and disabled the SQLBrowser service.

Module 2
Lab Instructions: Preparing Systems for SQL Server 2008 R2
Contents:
Exercise 1: Adjust memory configuration Exercise 2: Pre-installation Stress Testing Challenge Exercise 3: Check Specific I/O Operations (Only if time permits) 3 4 4

Lab Instructions: Preparing Systems for SQL Server 2008 R2

Lab 2: Preparing Systems for SQL Server

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_02_PRJ\6231B_02_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Supporting Documentation Required Memory Configuration


1.5GB reserved for operating system. 60% of the remaining memory as the maximum value for the AdventureWorks server instance. 40% of the remaining memory as the maximum value for the Proseware server instance. Configure minimum memory as zero for both instances.

Lab Instructions: Preparing Systems for SQL Server 2008 R2

Required SQLIOSIM Configuration


Drive D with a 100MB data file that grows by 20MB increments to a 200MB maximum size. Drive L with a 50MB log file that grows by 10MB increments to a 100MB maximum size. Cycle Duration (sec) set to 60 seconds. Delete Files At Shutdown should be selected.

Required SQLIO Tests


Drive to be tested is D. Test 64KB sequential reads for 60 seconds. Test 8KB random writes for 60 seconds.

Exercise 1: Adjust memory configuration


Scenario
The Adventure Works Marketing sever has an existing default Microsoft SQL Server 2008 R2 instance installed and the new MKTG instance. You need to check the total memory available on the server and how much memory has been allocated to each of the two existing SQL Server instances. You should then decide if the memory allocation is appropriate. If not, make the required changes to the memory configuration. The main tasks for this exercise are as follows: 1. 2. 3. 4. Check total server memory. Check the memory allocated to the default instance. Check the memory allocated to the MKTG instance. Decide if the memory allocation is appropriate. If not, make the required changes to the memory configuration.

Task 1: Check total server memory


Retrieve the installed memory (RAM) value from the properties of the computer.

Task 2: Check the memory allocated to the default instance


Using the properties of the AdventureWorks server instance in SSMS, retrieve the minimum and maximum server memory settings.

Task 3: Check the memory allocated to the MKTG instance


Using the properties of the Proseware server instance in SSMS, retrieve the minimum and maximum server memory settings.

Task 4: Decide if the memory allocation is appropriate. If not, make the required changes to the memory configuration
Review the Required Memory Configuration from the Supporting Documentation. Alter the Memory Configuration for both SQL Server instances as per the requirements. You will need to work out how much memory should be used for all SQL Server instances and apportion the memory based on the requirements in the Supporting Documentation.

Lab Instructions: Preparing Systems for SQL Server 2008 R2

Note While the new memory values would not be used until the servers have been restarted, there is no need to restart the servers at this point in the exercise.

Results: After this exercise, you should have configured the memory for the SQL Server Instances.

Exercise 2: Pre-installation Stress Testing


Scenario
After you have reviewed allocated memory on the server, you need to test whether the new I/O subsystem is capable of running SQL Server successfully. In this exercise, you need to use the SQLIOSIM utility for stress testing to ensure the stability of SQL Server performance. The main tasks for this exercise are as follows: 1. 2. 3. Configure SQLIOSIM. Execute SQLIOSIM. Review the results from executing SQLIOSIM.

Task 1: Configure SQLIOSIM


Install SQLIOSIM from the file D:\6231B_Labs\6231B_02_PRJ\sqliosimx64.exe (Make sure that you use the Run as administrator option). Configure SQLIOSIM as per requirements in the Supporting Documentation.

Task 2: Execute SQLIOSIM


Execute SQLIOSIM based upon the configured parameters.

Task 3: Review the results from executing SQLIOSIM


If any errors are returned in red, review the errors. Locate the final summary for each of the drives and note the average I/O duration in milliseconds.

Results: After this exercise, you have run stress test using SQLIOSIM.

Challenge Exercise 3: Check Specific I/O Operations (Only if time permits)


Scenario
You have identified a specific list of I/O workloads that you have identified and plan to test their performance of on the new I/O subsystem. In this exercise, you need to run the SQLIO utility to verify the I/O workloads. The main tasks for this exercise are as follows: 1. 2. Install the SQLIO Utility. Configure and Execute the SQLIO Utility.

Task 1: Install the SQLIO Utility


Install the SQLIO Utility from the file D:\6231B_Labs\6231B_02_PRJ\SQLIO.msi (Choose to install for all users).

Lab Instructions: Preparing Systems for SQL Server 2008 R2

Task 2: Configure and Execute the SQLIO Utility


Review the Supporting Documentation for details of the SQLIO tests to be performed. Configure the file C:\Program Files (x86)\SQLIO\param.txt as per the requirements in the Supporting Documentation. Execute the sqlio.exe program from within a command window, to test the I/O types as requested in the Supporting Documentation. For each test, record the IOPS and throughput achieved. Also note the minimum, maximum and average latency for each test.

Results: After this exercise, you should have executed the SQLIO utility to test specific I/O characteristics.

Module 3
Lab Instructions: Installing and Configuring SQL Server 2008 R2
Contents:
Exercise 1: Review installation requirements Exercise 2: Install the SQL Server instance Exercise 3: Perform Post-installation Setup and Checks Challenge Exercise 4: Configure Server Memory (Only if time permits) 3 3 4 4

Lab Instructions: Installing and Configuring SQL Server 2008 R2

Lab 3: Installing and Configuring SQL Server

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_03_PRJ\6231B_03_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Supporting Documentation Required SQL Server Instance Configuration


Item Instance Name Features Data File Folder Configuration MKTGDEV Database Engine only D:\MKTGDEV for user databases and tempdb

Lab Instructions: Installing and Configuring SQL Server 2008 R2

Item Log File Folder Service Accounts Startup Server Collation Authentication Mode Administrative User Filestream Support

Configuration L:\MKTGDEV for user databases and tempdb AdventureWorks\PWService for all services Both SQL Server and SQL Server Agent should start automatically SQL_Latin1_General_CP1_CI_AS Mixed AdventureWorks\Administrator Disabled

Note that all passwords that are used in the course are set to Pa$$w0rd.

Required Memory Configuration (Used in Exercise 4 only)


1.0GB reserved for operating system. 40% of the remaining memory as the maximum value for the AdventureWorks server instance. 30% of the remaining memory as the maximum value for the Proseware server instance. 30% of the remaining memory as the maximum value for the PWDev server instance. Configure minimum memory as zero for all instances.

Exercise 1: Review installation requirements


Scenario
You will review the supporting documentation that describes the required configuration for the new instance. You will also create the required folders to hold the data and log files for the instance. The main tasks for this exercise are as follows: 1. 2. Review the supporting documentation prior to installation. Create the folders that are required for the data and log files.

Task 1: Review the supporting documentation prior to installation


Review the supplied requirements in the supporting documentation for the exercise.

Task 2: Create the folders that are required for the data and log files
Based on the supplied requirements, create the folders that are required for the data and log files of the new SQL Server instance.

Results: After this exercise, you should have read the requirements and created the two folders that are required.

Exercise 2: Install the SQL Server instance


Scenario
In this exercise, you need to perform an installation of another instance of SQL Server on the existing server based on the supplied specifications.

Lab Instructions: Installing and Configuring SQL Server 2008 R2

The main tasks for this exercise are as follows: 1. Based on the requirements reviewed in exercise 1, install another instance of SQL Server.

Task 1: Based on the requirements reviewed in exercise 1, install another instance of SQL Server
Install another instance of SQL Server based on the requirements in exercise 1.

Results: After this exercise, you should have installed another SQL Server instance.

Exercise 3: Perform Post-installation Setup and Checks


Scenario
You need to make sure that the services for the new instance are running and you need to create a new alias for the instance you have just installed. Once the instance is created, you should connect to the instance using SQL Server Management Studio to make sure that the instance works. The main tasks for this exercise are as follows: 1. 2. 3. Check that the services for the new SQL Server instance are running Configure both 32 bit and 64 bit aliases for the new instance Connect to the new instance using SSMS

Task 1: Check that the services for the new SQL Server instance are running
Using SQL Server Configuration Manager, make sure that the newly installed services are running Make sure that the named pipes protocol is enabled for the new instance

Task 2: Configure both 32 bit and 64 bit aliases for the new instance
Configure a 32 bit alias called PWDev for the new instance using named pipes Configure a 64 bit alias called PWDev for the new instance using named pipes

Task 3: Connect to the new instance using SSMS


Start SQL Server Management Studio and connect to the new instance to make sure it is working. Make the connection using the PWDev alias.

Results: After this exercise, you should have checked that the services are running, created a new alias, and connected using SSMS.

Challenge Exercise 4: Configure Server Memory (Only if time permits)


Scenario
There are now three SQL Server instances installed on the Marketing server at AdventureWorks. In this exercise, you need to configure the amount of memory that is allocated to each instance. The main tasks for this exercise are as follows: 1. 2. 3. Review the current memory available on the server. Determine an appropriate memory allocation for each instance. Configure each instance appropriately.

Lab Instructions: Installing and Configuring SQL Server 2008 R2

Task 1: Review the current memory available on the server


Review the current memory available on the server

Task 2: Determine an appropriate memory allocation for each instance


Review the required memory proportions as specified in the supporting documentation. Determine an appropriate memory allocation for each instance

Task 3: Configure each instance appropriately


Configure each instance based on the values you have calculated.

Results: After this exercise, you should have modified the memory allocation for each SQL Server instance.

Module 4
Lab Instructions: Working with Databases
Contents:
Exercise 1: Adjust tempdb configuration Exercise 2: Create the RateTracking database Exercise 3: Attach the OldProspects database Challenge Exercise 4: Add multiple files to tempdb (Only if time permits) 4 4 5 6

Lab Instructions: Working with Databases

Lab 4: Working with Databases

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_04_PRJ\6231B_04_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Supporting Documentation tempdb Size Requirement (For Exercise 1)


File Data Log Size (in MB) 30 10

Lab Instructions: Working with Databases

RateTracking Database Specification


Item DatabaseName Primary Data File Requirement RateTracking Logical name = RateTracking_dat File name = RateTracking.mdf Folder = D:\MKTG Initial size = 10MB Maximum file size = 100MB Autogrowth amount = 10MB Filegroup = PRIMARY Logical name = RateTracking_log File name = RateTracking.ldf Folder = L:\MKTG Initial size = 20MB Maximum file size = unlimited Autogrowth amount = 20MB Filegroup = Not Applicable Logical name = RateTracking_dat_1 File name = RateTracking_1.ndf Folder = D:\MKTG Initial size = 20MB Maximum file size = 100MB Autogrowth amount = 10MB Filegroup = USERDATA Logical name = RateTracking_dat_2 File name = RateTracking_2.ndf Folder = D:\MKTG Initial size = 20MB Maximum file size = 100MB Autogrowth amount = 10MB Filegroup = USERDATA Logical name = RateTracking_dat_3 File name = RateTracking_3.ndf Folder = D:\MKTG Initial size = 200MB Maximum file size = 500MB Autogrowth amount = 50MB Filegroup = ARCHIVE Logical name = RateTracking_dat_4 File name = RateTracking_4.ndf Folder = D:\MKTG Initial size = 200MB Maximum file size = 500MB Autogrowth amount = 50MB Filegroup = ARCHIVE USERDATA

Log File

Secondary Data File #1

Secondary Data File #2

Secondary Data File #3

Secondary Data File #4

Default Filegroup

tempdb Requirements From The Consultant (For Exercise 4)


1. Move the tempdb primary data file to the folder D:\MKTG.

Lab Instructions: Working with Databases

2. 3.

Move the tempdb log file to the folder L:\MKTG. Add three additional files to tempdb as per the following table: Requirements Logical name = tempdev2 File name = tempdb_file2.ndf Folder = D:\MKTG Initial size = 20MB Maximum file size = unlimited Autogrowth amount = 10MB Logical name = tempdev3 File name = tempdb_file3.ndf Folder = D:\MKTG Initial size = 20MB Maximum file size = unlimited Autogrowth amount = 10MB Logical name = tempdev4 File name = tempdb_file4.ndf Folder = D:\MKTG Initial size = 20MB Maximum file size = unlimited Autogrowth amount = 10MB

Filename Secondary Data File #1

Secondary Data File #2

Secondary Data File #3

Exercise 1: Adjust tempdb configuration


Scenario
You will adjust the current configuration of the tempdb database. The main tasks for this exercise are as follows: 1. 2. Adjust the size of tempdb. Check that the tempdb size is still correct after a restart.

Task 1: Adjust the size of tempdb


Review the requirement for tempdb size in the Supporting Documentation. Adjust the tempdb size based on the requirement in the supporting documentation.

Task 2: Check that the tempdb size is still correct after a restart
Restart the Proseware server using SQL Server Configuration Manager. Check that tempdb is still the correct size.

Results: After this exercise, you should have inspected and configured the tempdb database.

Exercise 2: Create the RateTracking database


Scenario
You will create a new database named RateTracking as per a supplied set of specifications. The main tasks for this exercise are as follows:

Lab Instructions: Working with Databases

1. 2. 3.

Create the database. Create the required filegroups and files. Change the default filegroup for the database.

Task 1: Create the database


Review the supplied requirements in the supporting documentation for the exercise. Create a new RateTracking database based on the requirements.

Task 2: Create the required filegroups and files


Review the supplied requirements in the supporting documentation for the required files and filegroups. Create the required filegroups and files.

Task 3: Change the default filegroup for the database


Review the supplied requirements in the supporting documentation for the default filegroup. Modify the default filegroup

Results: After this exercise, you should have created a new RateTracking database with multiple filegroups.

Exercise 3: Attach the OldProspects database


Scenario
A client has sent you a database that needs to be installed on the Proseware instance. Instead of sending you a backup, they have sent a detached database and log file. You need to attach the database to the Proseware instance. The main tasks for this exercise are as follows: 1. 2. Copy the database files. Attach the database to the MKTG instance.

Task 1: Copy the database files


Copy the files to new folders as per the table below: Filename OldProspects.mdf OldProspects.ldf Source Folder D:\6231B_Labs\6231B_04_PRJ D:\6231B_Labs\6231B_04_PRJ Destination Folder D:\MKTG L:\MKTG

Task 2: Attach the database to the MKTG instance


Attach the OldProspects database to the MKTG instance.

Results: After this exercise, you should have attached a database from a clients server.

Lab Instructions: Working with Databases

Challenge Exercise 4: Add multiple files to tempdb (Only if time permits)


Scenario
A consultant has also provided recommendations regarding tempdb configuration that you need to review and implement. The main tasks for this exercise are as follows: 1. 2. 3. 4. Review the tempdb file requirements. Move existing files. Add new files. Restart the server and check file locations.

Task 1: Review the tempdb file requirements


In the Supporting Documentation review the tempdb Requirements From The Consultant section.

Task 2: Move existing files


Move the existing tempdb data and log files to the required locations as specified in the supporting documentation.

Task 3: Add new files


Add the additional tempdb files as required in the supporting documentation.

Task 4: Restart the server and check file locations


Restart the Proseware server. View the Properties of the tempdb database and ensure the list of files match the requirements.

Results: After this exercise, you should have reconfigured tempdb as per the requirements.

Module 5
Lab Instructions: Understanding SQL Server 2008 R2 Recovery Models
Contents:
Exercise 1: Plan a backup strategy Exercise 2: Configure Recovery Models Challenge Exercise 3: Review recovery models and strategy (Only if time permits) 4 5 6

Lab Instructions: Understanding SQL Server 2008 R2 Recovery Models

Lab 5: Understanding SQL Server Recovery Models

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_05_PRJ\6231B_05_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Supporting Documentation
Business Database Continuity Requirements For Databases On the Proseware Server Instance (for Exercises 1 and 2)

Recovery Time Objectives


1. 2. The MarketDev database must never be unavailable for longer than eight hours. The Research database must never be unavailable for longer than two hours.

Lab Instructions: Understanding SQL Server 2008 R2 Recovery Models

Recovery Point Objectives


1. 2. When the MarketDev database is recovered from a failure, no more than 30 minutes of transactions may be lost. When the Research database is recovered from a failure, all transactions that were completed up to the end of the previous weekday must be recovered.

Projected Characteristics
Characteristic MarketDev database size Research database size Total backup throughput Total restore throughput Average rate of change to the MarketDev database during office hours Average rate of change to the Research database during office hours Percentage of the MarketDev database changed each day (average) Percentage of the Research database changed each day (average) Office hours (no full database activity permitted during these hours) Estimated Value 20GB 200MB 100MB per minute 80MB per minute 1GB per hour 10MB per hour 1.2% 80% 8am to 6pm

Business Database Continuity Requirements For Databases On the CustomerService Server Instance (for Exercises 3)

Recovery Time Objectives


1. 2. The CreditControl database must never be unavailable for longer than two hours. The PotentialIssue database must never be unavailable for longer than one hour.

Recovery Point Objectives


1. 2. When the CreditControl database is recovered from a failure, no more than five minutes of transactions may be lost. When the PotentialIssue database is recovered from a failure, no more than 30 minutes of transactions may be lost.

Projected Characteristics
Characteristic CreditControl database size PotentialIssue database size (at the start of each week after archiving activity is complete) Total backup throughput Estimated Value 20GB 200MB 100MB per minute

Lab Instructions: Understanding SQL Server 2008 R2 Recovery Models

Characteristic Total restore throughput Average rate of change to the CreditControl database during office hours Average rate of change to the PotentialIssue database (constant all week long 24 hours per day) Percentage of the CreditControl database changed each day (average) Percentage of the PotentialIssue database changed each day (average) Office hours (no full database activity permitted during these hours)

Estimated Value 80MB per minute 500MB per hour 10MB per hour 60% 50% 8am to 7pm

Existing Backup Strategy For CreditControl Database


Recovery Model: Full Type of Backup Full Differential Schedule Saturday at 6AM, Wednesday at 6AM Sunday at 10PM, Monday at 10PM, Tuesday at 10PM, Thursday at 10PM, Friday at 10PM Every 60 minutes on the hour

Log

Existing Backup Strategy For PotentialIssue Database


Recovery Model: Full Type of Backup Full Log Schedule Sunday at 10PM Every 15 minutes starting at 10 minutes pas the hour

Exercise 1: Plan a backup strategy


Scenario
You need to plan a backup strategy for the two databases on the new Proseware instance. You have been provided with RPO (recovery point objectives) and RTO (recovery time objectives) for both databases, as part of a business continuity statement. The main tasks for this exercise are as follows: 1. Review the business requirements.

Lab Instructions: Understanding SQL Server 2008 R2 Recovery Models

2.

Determine an appropriate backup strategy for each database.

Task 1: Review the business requirements


Review the supplied business requirements in the supporting documentation for the exercise.

Task 2: Determine an appropriate backup strategy for each database


Determine an appropriate backup strategy for each database. For the MarketDev database: Which recovery model should be used? Complete the following table for the backup schedule Type of Backup Schedule

For the Research database: Which recovery model should be used? Complete the following table for the backup schedule Type of Backup Schedule

Results: After this exercise, you should have created a plan to backup two databases.

Exercise 2: Configure Recovery Models


Scenario
You have reviewed the database recovery models and identified that the current database recovery models do not meet the availability needs of the business. In this exercise, you need to set the recovery models for the databases that do not meet the requirements. The main tasks for this exercise are as follows: 1. Review and adjust the current database recovery models.

Task 1: Review and adjust the current database recovery models


Review the recovery models that you decided were required in Exercise 1, check whether or not the existing recovery models for the MarketDev and Research databases match your recommendations. If not, change the recovery models as per your recommendations.

Lab Instructions: Understanding SQL Server 2008 R2 Recovery Models

Results: After this exercise, you should have reviewed and modified the database recovery models where required.

Challenge Exercise 3: Review recovery models and strategy (Only if time permits)
Scenario
There is another instance of SQL Server installed for supporting Customer Service operations. There is concern that existing databases on the CustomerService server instance are configured inappropriately and have invalid backup strategies, based on their RPO and RTO requirements. In this exercise, you need to review the database recovery models and backup strategies for the databases on the CustomerService instance and provide recommended changes. The main tasks for this exercise are as follows: 1. 2. 3. Review the RPO and RTO requirements for the databases. Review the existing recovery models and backup strategies. Indicate whether or not the strategy would be successful.

Task 1: Review the RPO and RTO requirements for the databases
The supporting documentation includes details of the business continuity requirements for the databases. You need to review this documentation.

Task 2: Review the existing recovery models and backup strategies


The supporting documentation also includes details of the backup strategy for the databases. You need to review this documentation.

Task3: Indicate whether or not the strategy would be successful


You need to assess whether or not the current backup strategy and recovery model configuration is capable of supporting the business continuity requirements. If not, explain why it would not work.

Results: After this exercise, you should have assessed the strategy.

Module 6
Lab Instructions: Backup of SQL Server 2008 R2 Databases
Contents:
Exercise 1: Investigate backup compression Exercise 2: Transaction log backup Exercise 3: Differential backup Exercise 4: Copy-only backup Challenge Exercise 5: Partial backup (Only if time permits) 2 3 3 4 5

Lab Instructions: Backup of SQL Server 2008 R2 Databases

Lab 6: Backup of SQL Server Databases

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_06_PRJ\6231B_06_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Investigate backup compression


Scenario
The size of the database backups has been increasing with the number of orders being placed. You want to investigate the amount of space that can be saved by using backup compression. In this exercise, you need to investigate the effectiveness of backup compression when backing up the MarketDev database on the Proseware instance. You will perform a full database backup with backup compression disabled. You will then perform another full database backup with backup compression enabled. You will compare the backup files produced to identify the possible space savings.

Lab Instructions: Backup of SQL Server 2008 R2 Databases

The main tasks for this exercise are as follows: 1. 2. 3. Create a database backup without compression. Create a database backup with compression. Compare the file sizes created.

Task 1: Create a database backup without compression


Using Windows Explorer create a new folder L:\SQLBackups Perform a full backup of the MarketDev database with compression disabled to the file L:\SQLBackups\MarketDev_Full_Uncompressed.BAK.

Task 2: Create a database backup with compression


Perform a full backup of the MarketDev database with compression enabled to the file L:\SQLBackups\MarketDev_Full_Compressed.BAK.

Task 3: Compare the file sizes created


Calculate the space savings provided by compression as:
SpaceSavings=(Uncompressed sizeCompressed size)*100/Uncompressed size

Results: After this exercise, you have calculated the space saved by using backup compression on the MarketDev database.

Exercise 2: Transaction log backup


Scenario
Part of the ongoing management of the MarketDev database is a series of transaction log backups to provide point in time recovery. In this exercise, you need to back up the transaction log. The main tasks for this exercise are as follows: 1. 2. Execute a script to introduce workload to the MarketDev database. Backup the transaction log on the MarketDev database.

Task 1: Execute a script to introduce workload to the MarketDev database


Open and execute the script file 61 Workload File.sql from Solution Explorer.

Task 2: Backup the transaction log on the MarketDev database


Backup the transaction log of the MarketDev database to the file L:\SQLBackups\MarketDev_Log_Compressed.BAK. Use backup compression during the backup.

Results: After this exercise, you should have completed a transaction log backup.

Exercise 3: Differential backup


Scenario
There is a concern that the data volumes in the MarketDev database will be so large that daily full backups will not be possible. In this exercise, you need to perform a differential backup to assist to manage the size of the database backups.

Lab Instructions: Backup of SQL Server 2008 R2 Databases

The main tasks for this exercise are as follows: 1. 2. Execute a script to introduce workload to the MarketDev database. Create a differential backup of the MarketDev database.

Task 1: Execute a script to introduce workload to the MarketDev database


Open and execute the script file 61 Workload File.sql from Solution Explorer.

Task 2: Create a differential backup of the MarketDev database


Create a differential backup of the MarketDev database to the file L:\SQLBackups\MarketDev_Differential_Compressed.BAK. Use backup compression during the backup. Using Windows Explorer, note the size of the Differential backup compared to the Full backup.

Task 3: Execute a script to introduce workload to the MarketDev database


Open and execute the script file 71 Workload File.sql from Solution Explorer.

Task 4: Append a differential backup to the previous differential backup file


Append a differential backup of the MarketDev database to the file L:\SQLBackups\MarketDev_Differential_Compressed.BAK. Using Windows Explorer, note that the size of the Differential backup has increased. The file now contains two backups.

Results: After this exercise, you should have completed two differential backups.

Exercise 4: Copy-only backup


Scenario
Another team periodically needs a temporary copy of the MarketDev database. It is important that these copies do not interfere with the backup strategy that is being used. In this exercise, you need to perform a copy-only backup and verify the backup. The main tasks for this exercise are as follows: 1. Create a copy-only backup of the MarketDev database, ensuring to choose to verify the backup.

Task 1: Create a copy-only backup of the MarketDev database, ensuring to choose to verify the backup
Create a copy-only backup of the MarketDev database to the file L:\SQLBackups\MarketDev_Copy_Compressed.BAK. Make sure you choose to: Verify the backup while creating it Use backup compression. Choose to create a new media set called MarketDev Copy Backup For the media set description use MarketDev Copy Backup for Integration Team.

Results: After this exercise, you should have completed a copy-only backup.

Lab Instructions: Backup of SQL Server 2008 R2 Databases

Challenge Exercise 5: Partial backup (Only if time permits)


Scenario
On the Proseware instance, there is a database called RateTracking that has two filegroups. The ARCHIVE filegroup is set to read-only and both the default filegroup USERDATA and the PRIMARY filegroup are read-write. In this exercise, you need to back up the read-write filegroups only, using T-SQL commands. The main tasks for this exercise are as follows: 1. Perform a backup of the read-write filegroups on the RateTracking database.

Task 1: Perform a backup of the read-write filegroups on the RateTracking database


Perform a backup of the read-write filegroups (USERDATA and PRIMARY) on the RateTracking database. Write the backup to the file L:\SQLBackups\RateTracking_ReadWrite.BAK. Use the CHECKSUM and INIT options.

Results: After this exercise, you should have completed a partial backup.

Module 7
Lab Instructions: Restoring SQL Server 2008 R2 Databases
Contents:
Exercise 1: Determine a restore strategy Exercise 2: Restore the database Challenge Exercise 3: Using STANDBY mode (Only if time permits) 2 3 3

Lab Instructions: Restoring SQL Server 2008 R2 Databases

Lab 7: Restoring SQL Server 2008 R2 Databases

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_07_PRJ\6231B_07_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar. Note The setup script for this module is intended to throw an error regarding missing files this is normal.

Exercise 1: Determine a restore strategy


Scenario
You need to restore a database backup from another instance to the Proseware instance. You have been provided with a backup file containing multiple full, differential, and log backups. In this exercise you

Lab Instructions: Restoring SQL Server 2008 R2 Databases

need to determine which backups are contained within the file and determine which backups need to be restored and in which order. The main tasks for this exercise are as follows: 1. 2. Review the backups contained within the backup file. Determine how the restore should be performed.

Task 1: Review the backups contained within the backup file


Use the HEADERONLY option of the RESTORE command to identify the backups that are contained within the file D:\MSSQLSERVER\MarketYields.bak.

Task 2: Determine how the restore should be performed


Determine which backup need to be restored and in which order.

Results: After this exercise, you should have identified the backups that need to be restored.

Exercise 2: Restore the database


Scenario
You have determined which backups need to be restored. You now need to restore the database MarketYields to the Proseware instance from the backups that you have decided upon. You will leave the database in STANDBY mode.The main tasks for this exercise are as follows: 1. Restore the database.

Task 1: Restore the database


Using SSMS, restore the MarketYields database using the backups that you determined were needed in Exercise 1. Make sure you use the STANDBY option with a STANDBY filename of L:\MKTG\Log_Standby.bak. You will need to move the mdf file to the folder D:\MKTG and the ldf file to the folder L:\MKTG. In Object Browser refresh the list of databases and check the status of the MarketYields database on the Proseware instance.

Results: After this exercise, you should have restored the database in STANDBY mode.

Challenge Exercise 3: Using STANDBY mode (Only if time permits)


Scenario
In this exercise, you will ensure that the STANDBY mode works as expected. You will access the database and then restore another log file to make sure the database can continue to be restored. The main tasks for this exercise are as follows: 1. 2. Execute queries against the STANDBY database to ensure it is accessible. Restore another log file, leaving the database in STANDBY mode.

Task 1: Execute queries against the STANDBY database to ensure it is accessible


Open a query window against the MarketYields database on the Proseware instance.

Lab Instructions: Restoring SQL Server 2008 R2 Databases

Select a count of the rows in the LogData table. Close the query window.

Task 2: Restore another log file, leaving the database in STANDBY mode
Restore the log file D:\MSSQLSERVER\MarketYields_log.bak. Ensure you leave the database in STANDBY mode In Object Browser refresh the list of databases and check the status of the MarketYields database on the Proseware instance.

Results: After this exercise, you should have tested the STANDBY capability.

Module 8
Lab Instructions: Importing and Exporting Data
Contents:
Exercise 1: Import the Excel spreadsheet Exercise 2: Import the CSV file Exercise 3: Create and test an extraction package Challenge Exercise 4: Compare loading performance (Only if time permits) 3 3 4 4

Lab Instructions: Importing and Exporting Data

Lab 8: Importing and Exporting Data

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_08_PRJ\6231B_08_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Supporting Documentation Exercise 1


Item Output table Output columns Description DirectMarketing.Currency CurrencyID int not null CurrencyCode nvarchar(3) not null CurrencyName nvarchar(50) not null

Lab Instructions: Importing and Exporting Data

Item Input file

Description D:\6231B_Labs\6231B_08_PRJ\6231B_08_PRJ\Currency.xls

Exercise 1: Import the Excel spreadsheet


Scenario
You need to load a file of currency codes and names from an Excel spreadsheet. In this exercise, you will use the import wizard to perform the data load. The main tasks for this exercise are as follows: 1. Import the data using the Import Wizard.

Task 1: Import the data using the Import Wizard


Import the spreadsheet Currency.xls into a table in the MarketDev database called DirectMarketing.Currency. If the table already exists, delete the table first. Refer to the Supporting Documentation for the file location and output table format. Query the DirectMarketing.Currency table to see that the data that was loaded.

Results: After this exercise, you should have imported the DirectMarketing.Currency table.

Exercise 2: Import the CSV file


Scenario
You have also been provided with a comma-delimited file of exchange rates. You need to import these exchange rates into the existing DirectMarketing.ExchangeRate table. The table should be truncated before the data is loaded. The main tasks for this exercise are as follows: 1. Import the CSV file.

Task 1: Import the CSV file


Truncate the DirectMarketing.ExchangeRate table. Review the ExchangeRates.xml format file in the Solution Explorer. Using BULK INSERT T-SQL command import the ExchangeRates.csv file into the table DirectMarketing.ExchangeRate. The ExchangeRates.csv file can be found in the following location: D:\6231B_Labs\6231B_08_PRJ\6231B_08_PRJ\ExchangeRates.csv. Use ExchangeRates.xml as the format file and a batch size of 10,000, and use the option to skip the first row as it contains headings. Note Make sure that you record how long the command takes to execute. Warning it will take several minutes to complete. Use this time to prepare for the next Exercise. Results: After this exercise, you should have imported the ExchangeRate table using T-SQL BULK INSERT statement.

Lab Instructions: Importing and Exporting Data

Exercise 3: Create and test an extraction package


Scenario
Periodically the Marketing team requires a list of prospects that have not been contacted within the last month. You need to create and test a package that will extract this information to a file for them. The main tasks for this exercise are as follows: 1. Create and test an extraction package

Task 1: Create and test an extraction package


Using the Export Wizard, export the Marketing.Prospect table to a text file in the following location: D:\MKTG\ProspectsToContact.csv. Column Names should be included in the first row. The extraction query should be as shown in the snippet below:
SELECT ProspectID, FirstName, LastName, CellPhoneNumber, WorkPhoneNumber,EmailAddress, LastestContact FROM Marketing.Prospect WHERE LastestContact < DATEADD(MONTH,-1,SYSDATETIME()) OR LastestContact IS NULL ORDER BY ProspectID;

Note Save the SSIS package that is created by the Export Wizard to SQL Server in the package root location.

Results: After this exercise, you should have created and tested an extraction package.

Challenge Exercise 4: Compare loading performance (Only if time permits)


Scenario
You are concerned about the import performance for the exchange rate file and you are considering disabling constraints and indexes on the exchange rate table during the import process. If you have time, you will test the difference in import performance. The main tasks for this exercise are as follows: 1. Re-execute load with indexes disabled.

Task 1: Re-execute load with indexes disabled


Alter your script from Exercise 2 to disable any non-clustered indexes on the DirectMarketing.ExchangeRate table before loading the data and to rebuild the indexes after the load completes. Execute your modified script and compare the duration to the value recorded in Exercise 2.

Results: After this exercise, you should have compared the load performance with indexes disabled.

Module 9
Lab Instructions: Authenticating and Authorizing Users
Contents:
Exercise 1: Create Logins Exercise 2: Correct an Application Login Issue Exercise 3: Create Database Users Challenge Exercise 4: Correct Access to Restored Database (Only if time permits) 4 4 5 5

Lab Instructions: Authenticating and Authorizing Users

Lab 9: Authenticating and Authorizing Users

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_09_PRJ\6231B_09_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Instructions: Authenticating and Authorizing Users

Supporting Documentation Existing Windows User and Group Structure


ITSupport David.Alexander Jeff.Hay Palle.Petersen Terry.Adams Darren.Parker Ray.Mike April.Reagan Jamie.Reding Darcy.Jayne Naoki.Sato Bjorn.Rettig Don.Richardson Wendy.Kahn Neil.Black Madeleine.Kelly X X X X X X X X X X X X X X X X X X SalesPeople CreditManagement HumanResources CorporateManagers X

Other Principals
SQL Login: PromoteApp SQL Login: DBMonitorApp

Pre-existing Security Configuration


The SQL Login PromoteApp has been created.

Security Requirements
1. 2. 3. The senior DBA Jeff Hay should have full access to and control of the entire Proseware server instance. All ITSupport group members should have full access to and control of the MarketDev database. Proseware uses an application called DBMonitor from Trey Research. This application requires a SQL login called DBMonitorApp, which requires the ability to read but not update all objects in the MarketDev database. All CorporateManagers group members perform periodic Strength, Weakness, Opportunity, and Threat (SWOT) analysis. For this they need to be able to both read and update rows in the DirectMarketing.Competitor table. All SalesPeople group members should be able to read data from all tables in the DirectMarketing schema, except April Reagan who is a junior work experience student. Only ITSupport group members and members of the CreditManagement group should be able to update the Marketing.CampaignBalance table directly.

4.

5. 6.

Lab Instructions: Authenticating and Authorizing Users

7. 8. 9.

Within the company members of the SalesPeople group, the CreditManagement group, and the CorporateManagers group are referred to as sales team members. All sales team members should be able to read rows in the Marketing.CampaignBalance table. All sales team members should be able to read rows in the DirectMarketing.Competitor table.

10. The Sales Manager should be able to read and update the Marketing.SalesTerritory table. 11. All HumanResources group members should be able to read and update rows in the Marketing.SalesPerson table. 12. The Sales Manager should be able to execute the Marketing.MoveCampaignBalance stored procedure. 13. All sales team members should be able to execute all stored procedures in the DirectMarketing schema.

Exercise 1: Create Logins


Scenario
You have been provided with the security requirements for the MarketDev database. In this exercise you need to create individual Windows logins, Windows group logins, and SQL logins that are required to implement the security requirementsThe main tasks for this exercise are as follows: 1. 2. Review the requirements. Create the required logins.

Task 1: Review the requirements


Review the supplied security requirements in the supporting documentation.

Task 2: Create the required logins


Create the logins that you have determined are required for the system. This will include Windows logins, Windows group logins, and SQL logins.

Results: After this exercise, you have created the required Windows and SQL logins.

Exercise 2: Correct an Application Login Issue


Scenario
The Adventure Works IT department has implemented a new web application called Promote. The Promote application requires a SQL login called PromoteApp. The SQL login needs to operate with a fixed password. The application has been operating for some time but has now stopped working. It appears the application is unable to log on to the Proseware server. You need to reset the password for the PromoteApp user and disable policy checking for the login. The main tasks for this exercise are as follows: 1. Correct an Application Login Issue.

Task 1: Correct an Application Login Issue


Reset the password for the PromoteApp SQL login to Pa$$w0rd. Disable policy checking for the application login.

Results: After this exercise, you have corrected an application login issue.

Lab Instructions: Authenticating and Authorizing Users

Exercise 3: Create Database Users


Scenario
You have created the required logins for the Proseware server as per the security requirements that you have been supplied. You need to create database users for those logins in the MarketDev database. The main tasks for this exercise are as follows: 1. 2. Review the requirements. Create the required database users.

Task 1: Review the requirements


Review the supplied security requirements in the supporting documentation.

Task 2: Create the required database users


Create the database users that you have determined are required for the MarketDev database.

Results: After this exercise, you should have created the required database users.

Challenge Exercise 4: Correct Access to Restored Database (Only if time permits)


Scenario
Terry Adams is a junior DBA and has been trying to restore the LanguageDetails database and grant access to a SQL login named LDUser. He is able to restore the database and to create the login but he is unable to create the database user. He suspects that something in the existing database is preventing this as he can create and assign other SQL logins without issue. You need to restore the LanguageDetails database, create the LDUser login, create the LDUser database user, and test that the user can access the database. The main tasks for this exercise are as follows: 1. Correct Access to a Restored Database

Task 1: Correct Access to a Restored Database


Restore the LanguageDetails database from the file D:\6231B_Labs\6231B_09_PRJ\LanguageDetails.bak to the Proseware server instance. Create the login LDUser with policy checking disabled and a password of Pa$$w0rd. Correct access to the LanguageDetails database for the LDUser database user. Test that the LDUser login can access the database and can select the rows from the dbo.Language table.

Results: After this exercise, you should have resolved the situation.

Module 10
Lab Instructions: Assigning Server and Database Roles
Contents:
Exercise 1: Assign Server Roles Exercise 2: Assign Fixed Database Roles Exercise 3: Create and Assign User-defined Database Roles Challenge Exercise 4: Check Role Assignments (Only if time permits) 4 5 5 5

Lab Instructions: Assigning Server and Database Roles

Lab 10: Assigning Server and Database Roles

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_10_PRJ\6231B_10_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Instructions: Assigning Server and Database Roles

Supporting Documentation Existing Windows User and Group Structure


CorporateM anagers X

David.Alexande r Jeff.Hay Palle.Petersen Terry.Adams Darren.Parker Ray.Mike April.Reagan Jamie.Reding Darcy.Jayne Naoki.Sato Bjorn.Rettig Don.Richardson Wendy.Kahn Neil.Black Madeleine.Kelly

ITSupport X X X X

SalesPeople

CreditManagement

HumanResources

X X X X X X X X X X X

Other Principals
SQL Login: PromoteApp SQL Login: DBMonitorApp

Pre-existing Security Configuration


The following Windows group logins and database users have been created: AdventureWorks\ITSupport AdventureWorks\SalesPeople AdventureWorks\CreditManagement AdventureWorks\HumanResources AdventureWorks\CorporateManagers

The following Windows logins and database users have been created: AdventureWorks\Jeff.Hay AdventureWorks\April.Reagan AdventureWorks\Darren.Parker

The following SQL logins have been created:

Lab Instructions: Assigning Server and Database Roles

PromoteApp DBMonitorApp

Security Requirements
1. 2. 3. The senior DBA Jeff Hay should have full access to and control of the entire Proseware server instance. All ITSupport group members should have full access to and control of the MarketDev database. Proseware uses an application called DBMonitor from Trey Research. This application requires a SQL login called DBMonitorApp, which requires the ability to read but not update all objects in the MarketDev database. All CorporateManagers group members perform periodic Strength, Weakness, Opportunity, and Threat (SWOT) analysis. For this they need to be able to both read and update rows in the DirectMarketing.Competitor table. All SalesPeople group members should be able to read data from all tables in the DirectMarketing schema, except April Reagan who is a junior work experience student. Only ITSupport group members and members of the CreditManagement group should be able to update the Marketing.CampaignBalance table directly. Within the company members of the SalesPeople group, the CreditManagement group, and the CorporateManagers group are referred to as sales team members. All sales team members should be able to read rows in the Marketing.CampaignBalance table. All sales team members should be able to read rows in the DirectMarketing.Competitor table.

4.

5. 6. 7. 8. 9.

10. The Sales Manager should be able to read and update the Marketing.SalesTerritory table. 11. All HumanResources group members should be able to read and update rows in the Marketing.SalesPerson table. 12. The Sales Manager should be able to execute the Marketing.MoveCampaignBalance stored procedure. 13. All sales team members should be able to execute all stored procedures in the DirectMarketing schema.

Exercise 1: Assign Server Roles


Scenario
You need to implement any required server roles that are needed to support the supplied security requirements.The main tasks for this exercise are as follows: 1. 2. Review the requirements. Assign any required server roles.

Task 1: Review the requirements


Review the supplied security requirements in the supporting documentation.

Task 2: Assign any required server roles


Assign any server roles that are required to support the security requirements for the MarketDev database.

Lab Instructions: Assigning Server and Database Roles

Results: After this exercise, you should have assigned any required server roles.

Exercise 2: Assign Fixed Database Roles


Scenario
You have been provided with a set of requirements detailing the access that each login needs to the MarketDev database. Some of these requirements might be met by fixed database roles but it is important to not provide permissions that are not specifically required. If you consider there is a need for user-defined database roles these will be created in the next exercise.The main tasks for this exercise are as follows: 1. 2. Review the requirements. Assign any required fixed database roles.

Task 1: Review the requirements


Review the supplied security requirements in the supporting documentation.

Task 2: Assign any required fixed database roles


Assign any fixed database roles that are required to support the security requirements for the MarketDev database.

Results: After this exercise, you have assigned fixed database roles as required.

Exercise 3: Create and Assign User-defined Database Roles


Scenario
You have been provided with a set of requirements detailing the access that each login needs to the MarketDev database. In Exercise 2, you assigned fixed database role membership. Other requirements might be best supported by user-defined database roles. In this exercise you will create and assign required user-defined database roles. The main tasks for this exercise are as follows: 1. 2. Review the requirements. Create and assign any required user-defined database roles.

Task 1: Review the requirements


Review the supplied security requirements in the supporting documentation.

Task 2: Create and assign any required user-defined database roles


Create and assign any user-defined database roles that are required to support the security requirements for the MarketDev database.

Results: After this exercise, you have created and assigned user-defined database roles as required.

Challenge Exercise 4: Check Role Assignments (Only if time permits)


Scenario
You have created logins and database users, assigned server and database roles, and created and assigned user-defined database roles. It is important to check that the role assignments are operating as expected.

Lab Instructions: Assigning Server and Database Roles

In this exercise you will use the sys.login_token and sys.user_token system viewsThe main tasks for this exercise are as follows: 1. Check the role assignments for Darren Parker.

Task 1: Check the role assignments for Darren Parker


Using the EXECUTE AS statement, change your security context to the login AdventureWorks\Darren.Parker. Query the sys.login_token and sys.user_token system functions to check the available tokens for Darren Parker. Change your security context back using the REVERT command.

Results: After this exercise, you should have tested the role assignments for Darren Parker.

Module 11
Lab Instructions: Authorizing Users to Access Resources
Contents:
Exercise 1: Assign Schema-level Permissions Exercise 2: Assign Object-level Permissions Challenge Exercise 3: Test Permissions (Only if time permits) 5 5 6

Lab Instructions: Authorizing Users to Access Resources

Lab 11: Authorizing Users to Access Resources

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_11_PRJ\6231B_11_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
You have created the SQL Server logins and Database users and assigned them to appropriate roles. You now need to grant permissions to the database users and roles so that users can access the resources they need within the MarketDev database, based on the supplied security requirements.

Lab Instructions: Authorizing Users to Access Resources

Supporting Documentation Existing Windows User and Group Structure


ITSupport David.Alexander Jeff.Hay Palle.Petersen Terry.Adams Darren.Parker Ray.Mike April.Reagan Jamie.Reding Darcy.Jayne Naoki.Sato Bjorn.Rettig Don.Richardson Wendy.Kahn Neil.Black Madeleine.Kelly X X X X X X X X X X X X X X X X X X SalesPeople CreditManagement HumanResources CorporateManagers X

Other Principals
SQL Login: PromoteApp SQL Login: DBMonitorApp

Pre-existing Security Configuration


The following Windows group logins and database users have been created: AdventureWorks\ITSupport AdventureWorks\SalesPeople AdventureWorks\CreditManagement AdventureWorks\HumanResources AdventureWorks\CorporateManagers

The following Windows logins and database users have been created:

Lab Instructions: Authorizing Users to Access Resources

AdventureWorks\Jeff.Hay AdventureWorks\April.Reagan AdventureWorks\Darren.Parker

The following SQL logins have been created: PromoteApp DBMonitorApp

The following server role assignment has been made: Jeff Hay sysadmin

The following fixed database roles member assignments have been made: AdventureWorks\ITSupport db_owner DBMonitorApp db_datareader

The following user-defined database roles member assignments have been made: AdventureWorks\SalesPeople SalesTeam AdventureWorks\CreditManagement SalesTeam AdventureWorks\CorporateManagers SalesTeam AdventureWorks\Darren.Parker SalesManagers

Security Requirements
1. 2. 3. The senior DBA Jeff Hay should have full access to and control of the entire Proseware server instance. All ITSupport group members should have full access to and control of the MarketDev database. Proseware uses an application called DBMonitor from Trey Research. This application requires a SQL login called DBMonitorApp, which requires the ability to read but not update all objects in the MarketDev database. All CorporateManagers group members perform periodic Strength, Weakness, Opportunity, and Threat (SWOT) analysis. For this they need to be able to both read and update rows in the DirectMarketing.Competitor table. All SalesPeople group members should be able to read data from all tables in the DirectMarketing schema, except April Reagan who is a junior work experience student. Only ITSupport group members and members of the CreditManagement group should be able to update the Marketing.CampaignBalance table directly. Within the company members of the SalesPeople group, the CreditManagement group, and the CorporateManagers group are referred to as sales team members. All sales team members should be able to read rows in the Marketing.CampaignBalance table. All sales team members should be able to read rows in the DirectMarketing.Competitor table.

4.

5. 6. 7. 8. 9.

10. The Sales Manager should be able to read and update the Marketing.SalesTerritory table. 11. All HumanResources group members should be able to read and update rows in the Marketing.SalesPerson table.

Lab Instructions: Authorizing Users to Access Resources

12. The Sales Manager should be able to execute the Marketing.MoveCampaignBalance stored procedure. 13. All sales team members should be able to execute all stored procedures in the DirectMarketing schema.

Exercise 1: Assign Schema-level Permissions


Scenario
You have been supplied with a list of security requirements. Some of these requirements can be met using permissions assigned at the schema level. Even though it is easy to grant substantial permissions at the schema level, you should be careful to only grant permissions that are required. The main tasks for this exercise are as follows: 1. 2. Review the security requirements that have been updated from the previous module. Assign the required permissions.

Task 1: Review the security requirements that have been updated from the previous module
Review the supplied requirements in the supporting documentation for the exercise. Determine the permissions that should be assigned at the schema level.

Task 2: Assign the required permissions


Assign the required permissions at the schema level.

Results: After this exercise, you should have assigned the required schema-level permissions.

Exercise 2: Assign Object-level Permissions


Scenario
You have been supplied with a list of security requirements. Some of these requirements need to be met using permissions assigned at the object level. In this exercise you will assign the required level object permissions. The main tasks for this exercise are as follows: 1. 2. Review the security requirements. Assign the required permissions.

Task 1: Review the security requirements


Review the supplied requirements in the supporting documentation for the exercise. Determine the permissions that should be assigned at the object level. This would include permissions on tables, views, stored procedures, and functions where required.

Task 2: Assign the required permissions


Assign the required permissions at the object level.

Results: After this exercise, you should have assigned the required object-level permissions.

Lab Instructions: Authorizing Users to Access Resources

Challenge Exercise 3: Test Permissions (Only if time permits)


Scenario
You need to test some of your permission assignments. In particular you need to test that salespeople can select rows from the Marketing.CampaignBalance table. However you will also need to test that the work experience student April Reagan cannot select rows from that table even though she is a member of the SalesPeople group. The main tasks for this exercise are as follows: 1. Design and execute a test.

Task 1: Design and execute a test


Design and execute a test to show that Darcy Jayne can select rows from the Marketing.CampaignBalance table. Design and execute a test to show that April Regan cannot select rows from the Marketing.CampaignBalance table.

Results: After this exercise, you should have tested the required permissions.

Module 12
Lab Instructions: Auditing SQL Server Environments
Contents:
Exercise 1: Determine audit configuration and create audit Exercise 2: Create server audit specifications Exercise 3: Create database audit specifications Challenge Exercise 4: Test audit functionality (Only if time permits) 3 4 4 4

Lab Instructions: Auditing SQL Server Environments

Lab 12: Auditing SQL Server Environments

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_12_PRJ\6231B_12_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
You have authorized users to access the Proseware instance. Your Compliance Department has provided you with details of the auditing requirements for both the Proseware server instance and for the MarketDev database. The auditing the requirements include the need to audit the activities against tables in the MarketDev database that contain sensitive information. In this lab, you will implement a strategy to enable appropriate auditing. If you have sufficient time, you need to test the audit strategy and write a query to extract audit records.

Lab Instructions: Auditing SQL Server Environments

Supporting Documentation Audit Requirements from the Compliance Department


1. 2. 3. 4. 5. 6. All audit records should be written to the folder C:\Audit\AuditLog. Audit records should be written as quickly as possible. A tolerance of two seconds of audit records is the maximum permitted loss in the event of failure. The server instance should not continue to operate if auditing is not occurring. The name of the audit should be Proseware Compliance Audit. There is no limit to the number of audit files that may be created however each audit file should be limited to 1 GB in size. At the server level, the following items need to be audited: 7. Failed login attempts Changes to the membership of server roles Any changes to server logins (principals) Any changes to passwords

At the MarketDev database level, the following items need to be audited: Changes to the membership of database roles Backups and restores of the database Changes to any permissions within the database Any changes to database users (principals) Any change of database ownership Any updates to the Marketing.CampaignBalance table Any executions of the Marketing.MoveCampaignBalance stored procedure

Exercise 1: Determine audit configuration and create audit


Scenario
You need to determine the configuration of a server audit, based on the business security requirements. In this exercise, you will create the required Server AuditThe main tasks for this exercise are as follows: 1. 2. Review the requirements. Create the server audit.

Task 1: Review the requirements


Review the supplied requirements in the supporting documentation for the exercise.

Task 2: Create the server audit


Determine the configuration of the required server audit. Create the server audit using SQL Server Management Studio. Enable the server audit.

Lab Instructions: Auditing SQL Server Environments

Results: After this exercise, you should have created the required server audit.

Exercise 2: Create server audit specifications


Scenario
You need to determine which of the business requirements can be met via server audit specifications. You will then determine the required Server Audit Specifications and create themThe main tasks for this exercise are as follows: 1. 2. Review the requirements. Create the server audit specifications.

Task 1: Review the requirements


Review the supplied requirements in the supporting documentation for the exercise.

Task 2: Create the server audit specifications


Determine the required server audit specifications. Create the server audit specifications using SQL Server Management Studio. Enable the server audit specifications.

Results: After this exercise, you should have created the required server audit specification.

Exercise 3: Create database audit specifications


Scenario
Some of the audit requirements will require database audit specifications to be created. In this exercise, you will determine which of the audit requirements could be met by database audit specifications. You will then create those database audit specificationsThe main tasks for this exercise are as follows: 1. 2. Review the requirements. Create the database audit specifications.

Task 1: Review the requirements


Review the requirements.

Task 2: Create the database audit specifications


Determine the required database audit specifications. Create any required database audit specifications using SQL Server Management Studio. Enable any database audit specifications that you created.

Results: After this exercise, you should have created the required database audit specifications.

Challenge Exercise 4: Test audit functionality (Only if time permits)


Scenario
You need to check that the auditing you have set up is functioning as expected. You will execute a test workload script and then review the captured audit using both the GUI is SSMS and T-SQL

Lab Instructions: Auditing SQL Server Environments

The main tasks for this exercise are as follows: 1. 2. Execute the workload script. Review the captured audit details.

Task 1: Execute the workload script


From Solution Explorer open and execute the workload script 81 Lab Exercise 4a.sql

Task 2: Review the captured audit details


Review the captured audit details using the View Audit Logs option in SQL Server Management Studio. (This is a right-click option from the Server Audit). Write a query to retrieve the audit log details using T-SQL.

Results: After this exercise, you should have checked that the auditing works as expected.

Module 13
Lab Instructions: Automating SQL Server 2008 R2 Management
Contents:
Exercise 1: Create a Data Extraction Job Exercise 2: Schedule the Data Extraction Job Challenge Exercise 3: Troubleshoot a Failing Job (Only if time permits) 3 3 3

Lab Instructions: Automating SQL Server 2008 R2

Lab 13: Automating SQL Server Management

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_13_PRJ\6231B_13_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
There are a number of routine tasks to be performed on the Proseware instance. Previously these tasks have been performed manually and the lack of consistency in performing these tasks has caused issues for the organization. On the new instance, you need to automate these tasks using SQL Server Agent. There is also a report about an existing SQL Server Agent job that is not performing as expected. If you have time, you need to resolve the issues with the job.

Lab Instructions: Automating SQL Server 2008 R2

Exercise 1: Create a Data Extraction Job


Scenario
In Module 8 you created an SSIS data extraction package. The extraction process identifies prospects that have not been contacted recently. The output of this extraction process is used for planning marketing activities during the week. You need to create a job to execute the SSIS package. The main tasks for this exercise are as follows: 1. 2. Create the required job. Test that the job executes without error.

Task 1: Create the required job


Create the required job. Call the job Extract Uncontacted Prospects. The job needs to execute the SSIS package Weekly Extract of Prospects to Contact which is located on the Proseware server instance.

Task 2: Test that the job executes without error


Using Object Explorer, start the job and make sure it executes correctly.

Results: After this exercise, you should have created the data extraction job.

Exercise 2: Schedule the Data Extraction Job


Scenario
You have created a job to perform the extraction of prospects that need to be contacted. The information provided by this job is used two times during the week. A meeting is held at 9AM each Monday morning to plan the marketing activities for the week. A second planning meeting is held at 7PM on Tuesday evenings. You need to make sure that an updated list is available shortly before each meeting. You should schedule the extraction job to run each Monday at 8:30AM and each Tuesday at 6:30PM. The main tasks for this exercise are as follows: 1. Schedule the data extraction job.

Task 1: Schedule the data extraction job


Create a new job schedule for each Monday at 8.30AM. Create a new job schedule for each Tuesday at 6.30PM. Assign the schedule to the data extraction job.

Results: After this exercise, you should have applied multiple schedules to the data extraction job.

Challenge Exercise 3: Troubleshoot a Failing Job (Only if time permits)


Scenario
On the Proseware server, a new SQL Server Agent job called Extract Long Page Loads was recently created. The job retrieves details of web pages that took a long time to load from the Marketing.WebLog table for further analysis by the web development team. The job is intended to run every Monday at 6AM. The job was implemented last week but no data retrieval appears to have occurred this week. You need to investigate and correct any issues with this job.

Lab Instructions: Automating SQL Server 2008 R2

The main tasks for this exercise are as follows: 1. Troubleshoot the failing job.

Task 1: Troubleshoot the failing job


Review the job history for the failing job and identify the cause of the failure. Correct the problem that is preventing the job from executing successfully. Test that the job now runs. Ensure that the job is correctly scheduled.

Results: After this exercise, you should have resolved the issues with the failing job.

Module 14
Lab Instructions: Configuring Security for SQL Server Agent
Contents:
Exercise 1: Troubleshoot job execution failure Exercise 2: Resolve the security issue Challenge Exercise 3: Perform further troubleshooting (Only if time permits) 3 3 4

Lab Instructions: Configuring Security for SQL Server Agent

Lab 14: Configuring Security for SQL Server Agent

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_14_PRJ\6231B_14_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
You have deployed a job that extracts details of prospects that have not been contacted recently. You have also scheduled the job to run before each of the two marketing planning meetings that occur each week. The marketing team has deployed new functionality in Promote application to improve the planning processes. Rather than having the job scheduled, it is necessary for the Promote application to execute the job on demand. The Promote application connects as a SQL login called PromoteApp. One of the other DBAs Terry Adams has attempted to configure SQL Server so that the PromoteApp login can execute the job. However he is

Lab Instructions: Configuring Security for SQL Server Agent

unable to resolve why the job still will not run. In this lab you need to troubleshoot and resolve the problem.

Supporting Documentation Actions that have already been taken by Terry Adams
1. 2. 3. 4. 5. 6. Created a database user for the PromoteApp login in the msdb database. Granted the PromoteApp database user permission to execute the msdb.dbo.sp_start_job stored procedure. Added the PromoteApp database user to the SQLAgentOperatorRole database role. Modified the Extract Uncontacted Prospects job to set the PromoteApp login as the owner of the job. Created a Windows user called ExtractUser with a password of Pa$$w0rd. Added the Windows user ExtractUser to the db_ssisoperator role within the msdb database.

Exercise 1: Troubleshoot job execution failure


Scenario
You need to review the action that Terry Adams has already taken then also review the history log for the failing job. You need to determine why the job is failing. The main tasks for this exercise are as follows: 1. Troubleshoot job execution failure.

Task 1: Troubleshoot job execution failure


Review the previous actions taken by Terry Adams as detailed in the supporting documentation for the exercise. View History log for the Extract Uncontacted Prospects job. Determine from the history the reason that the job is failing.

Results: After this exercise, you should have determined the reason that they job is failing.

Exercise 2: Resolve the security issue


Scenario
You have determined that a proxy account is required for the correct execution of the failing job step. You need to create and assign the proxy account then test to see if all issues have been resolved. The main tasks for this exercise are as follows: 1. 2. Create and assign proxy account. Test to see if all problems have been resolved.

Task 1: Create and assign proxy account


Using SQL Server Management Studio, create a SQL Server credential called ExtractIdentity that is associated with the Windows user 623XB-MIA-SQL\ExtractUser and with a password of Pa$$w0rd.

Lab Instructions: Configuring Security for SQL Server Agent

Create a SQL Server proxy account called ExtractionProxy that is associated with the ExtractIdentity credential and which is active in the SQL Server Integration Services Package subsystem. Ensure that you grant permission to the PromoteApp login to use this credential. Assign the proxy account to the Extract Uncontacted Prospects job.

Task 2: Test to see if all problems have been resolved


Attempt to execute the Extract Uncontacted Prospects job. If the job fails, continue to Exercise 3 if you have time.

Results: After this exercise, you should have corrected a security issue with a job.

Challenge Exercise 3: Perform further troubleshooting (Only if time permits)


Scenario
After creating and assigning a proxy account to the job, the initial problem where SQL Server refused to execute job steps without a proxy has been resolved. However, the job still does not operate successfully. You should attempt to resolve the final issue. The main tasks for this exercise are as follows: 1. Perform further troubleshooting.

Task 1: Perform further troubleshooting


Locate and resolve further issues that are preventing the job from running successfully. Test that the job now runs successfully.

Results: After this exercise, you should have identified and resolved the remaining issues.

Module 15
Lab Instructions: Monitoring SQL Server 2008 R2 with Alerts and Notifications
Contents:
Exercise 1: Configure Database Mail Exercise 2: Implement Notifications Challenge Exercise 3: Implement Alerts (Only if time permits) 4 4 5

Lab Instructions: Monitoring SQL Server 2008 R2 with Alerts and Notifications

Lab 15: Monitoring SQL Agent Jobs with Alerts and Notifications

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_15_PRJ\6231B_15_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
You have configured automated management tasks using SQL Server Agent and have configured security for those tasks. You now need to configure alerts and notifications for your Proseware system. The IT Support team at AdventureWorks has a defined escalation policy for SQL Server systems. As Proseware is part of the group of companies owned by AdventureWorks, you need to implement the relevant parts of this policy. The IT Support team has supplied you with details from the policy that they have determined are needed for your Proseware server. For some automated tasks, notifications need to be sent every time the tasks

Lab Instructions: Monitoring SQL Server 2008 R2 with Alerts and Notifications

are completed, whether or not the tasks work as expected. For other tasks, notifications only need to be sent if the tasks fail for some reason. Notifications at AdventureWorks are pager-based. You need to configure Database Mail within SQL Server so that SQL Server Agent can send notification emails to the pager system. There are two on-call DBAs allocated to your system from the AdventureWorks IT Support team. You need to configure these staff members as operators based on their current on-call work schedules and also configure a fail-safe operator for any time period where no team member is working. If you have enough time, you should also configure SQL Server to alert you if severe errors occur on the server.

Supporting Documentation
Database Mail Configuration Parameters Profile Name: Proseware SQL Server Agent Profile SMTP Account Main Item Account Name E-mail Address Display name Reply e-mail Server name Fail-safe Account Name E-mail Address Display name Reply e-mail Server name Value Proseware Administrator prosewaresqladmin@adventureworks.com Proseware SQL Server Administrator prosewaresqladmin@adventureworks.com mailserver.adventureworks.com AdventureWorks Administrator adventureworkssqladmin@adventureworks.com AdventureWorks SQL Server Administrator adventureworkssqladmin@adventureworks.com mailserver.adventureworks.com

Public Profiles: Configure Proseware SQL Agent Profile as public and as default Private Profiles: Configure SQL Server Agent Profile as the default profile for the SQL Server Agent service (AdventureWorks\PWService) Maximum E-mail File Size: 4MB

On-call DBA Operator Requirements


Senior DBA Jeff Hay is on-call via pager jeff.hay.pager@adventureworks.com for the entire 24 hour day seven days per week. DBA Palle Petersen is on-call via pager palle.petersen.pager@adventureworks.com for the entire 24 hour day seven days per week.

Lab Instructions: Monitoring SQL Server 2008 R2 with Alerts and Notifications

Although there should always be a DBA oncall a fail-safe pager address itsupport.pager@adventureworks.com should be configured. The IT Support operator should also be available 24 hours per day, seven days per week.

Job Notification Requirements


Backup-related jobs must send notifications on completion, not just on failure. Notifications for backup-related jobs should be sent to Jeff Hay. System jobs do not need to send any notifications. System jobs are identified by the prefix sys. All other jobs should notify on failure only. Notifications for other jobs should be sent to Palle Petersen.

Severe Error Alerting Requirements


Any error of severity 17 or 18 should be notified to all operators via pager. Error 9002 on any database should be notified to all operators via pager.

Exercise 1: Configure Database Mail


Scenario
Notifications at AdventureWorks are pager-based. You need to configure Database Mail within SQL Server so that SQL Server Agent can send notification emails to the pager system. The main tasks for this exercise are as follows: 1. 2. Configure database mail. Test that database mail operates.

Task 1: Configure database mail


Review the database mail configuration parameters in the supporting documentation for the exercise. Configure database mail as per supplied parameters.

Task 2: Test that database mail operates


Send a test email using the right-click option on the database mail node in Object Explorer. From Solution Explorer, open and execute the script file 51 Lab Exercise 1.sql to view outgoing mail items.

Results: After this exercise, you should have configured and tested database mail.

Exercise 2: Implement Notifications


Scenario
The IT Support team at AdventureWorks has a defined escalation policy for SQL Server systems. As Proseware is part of the group of companies owned by AdventureWorks, you need to implement the relevant parts of this policy. The IT Support team has supplied you with details from the policy that they have determined are needed for your Proseware server. For some automated tasks, notifications need to be sent every time the tasks are completed, whether or not the tasks work as expected. For other tasks, notifications only need to be sent if the tasks fail for some reason.

Lab Instructions: Monitoring SQL Server 2008 R2 with Alerts and Notifications

Notifications at AdventureWorks are pager-based. There are two on-call DBAs allocated to your system from the AdventureWorks IT Support team. You need to configure these staff members as operators based on their current on-call work schedules and also configure a fail-safe operator for any time period where no team member is working. The main tasks for this exercise are as follows: 1. 2. 3. 4. Review the requirements. Configure the required operators. Configure SQL Server Agent Mail. Configure and Test Notifications in SQL Server Agent Jobs.

Task 1: Review the requirements


Review the supplied requirements in the supporting documentation for the exercise. In particular, note any required operators.

Task 2: Configure the required operators


Configure the required operators that you determined were required in Task 1. The supporting documentation includes details of how the operators need to be configured.

Task 3: Configure SQL Server Agent Mail


Configure SQL Server Agent to use the mail profile that you created in Exercise 1. Configure SQL Server Agent to use the IT Support fail-safe operator that you configured in Task 2.

Task 4: Configure and Test Notifications in SQL Server Agent Jobs


Configure notifications for jobs as per the requirements in the supporting documentation. Test the notifications by executing all non-system jobs and reviewing the mail item sent.

Results: After this exercise, you should have configured SQL Server Agent operators, and job notifications.

Challenge Exercise 3: Implement Alerts (Only if time permits)


Scenario
If you have enough time, you should also configure SQL Server to alert you if severe errors occur on the server. The main tasks for this exercise are as follows: 1. Configure and Test Alerts

Task 1: Configure and Test Alerts


Review the supporting documentation for the alerting requirements. Configure the required alerts. Execute the script 71 Lab Exercise 3.sql to test the alerting functionality. Note the script will return error 9002

Lab Instructions: Monitoring SQL Server 2008 R2 with Alerts and Notifications

Results: After this exercise, you should have configured and tested SQL Server alerts.

Module 16
Lab Instructions: Performing Ongoing Database Maintenance
Contents:
Exercise 1: Check database integrity using DBCC CHECKDB Exercise 2: Correct index fragmentation Exercise 3: Create a database maintenance plan Challenge Exercise 4: Investigate table lock performance (Only if time permits) 3 4 4 5

Lab Instructions: Performing Ongoing Database Maintenance

Lab 16: Ongoing Database Maintenance

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_16_PRJ\6231B_16_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
There has been a disk failure in the I/O subsystem. The disk has been replaced but you want to check the consistency of your existing databases. You will execute DBCC CHECKDB to verify the logical and physical integrity of all databases on the Proseware instance. You have identified fragmentation in a number of tables in the MarketDev database and you are sure that performance is decreasing as the amount of fragmentation increases. You will rebuild the indexes for any of the main database tables that are heavily fragmented. You have also identified a degradation of performance in the application when proper index maintenance has not been performed. You want to ensure that there is an early detection of any consistency issues in

Lab Instructions: Performing Ongoing Database Maintenance

the MarketDev database and that the index maintenance is automatically executed on a scheduled basis. To make sure this regular maintenance occurs, you will create a Database Maintenance plan to schedule these operations on a weekly basis. While DBCC CHECKDB runs quite quickly, you are interested in the performance difference that might be achieved by using table locks instead of database snapshots during DBCC CHECKDB operations. If you have time, you will investigate the performance differences.

Supporting Documentation Database Maintenance Plan Requirements


Item Plan Name Schedule Tasks required Configuration Proseware Weekly Maintenance Once per week for all tasks at 6PM Sunday night Check Database Integrity for all databases on the Proseware server instance Rebuild indexes in the MarketDev database Notes The database integrity checks should include indexes. When indexes in the MarketDev database are rebuilt, pages in the indexes should be 90% full. As Proseware uses an Enterprise Edition license, online index rebuilds are supported and should be used. Reports should be written to the folder L:\MKTG

Exercise 1: Check database integrity using DBCC CHECKDB


Scenario
There has been a disk failure in the I/O subsystem. The disk has been replaced but you want to check the consistency of your existing databases. You will execute DBCC CHECKDB to verify the logical and physical integrity of all databases on the Proseware instance. The main tasks for this exercise are as follows: 1. 2. Check the consistency of the databases on the Proseware instance. Correct any issues found.

Task 1: Check the consistency of the databases on the Proseware instance


Execute DBCC CHECKDB against all databases on the Proseware server instance. Note any databases that have errors.

Task 2: Correct any issues found


For any databases with errors, using the DBCC option to repair while allowing data loss. (Note that this is an extreme action that should only be undertaken in emergency situations where no backups are available to be restored).

Results: After this exercise, you should have used the DBCC CHECKDB command to check consistency on all databases on the Proseware instance and corrected any issues that were found.

Lab Instructions: Performing Ongoing Database Maintenance

Exercise 2: Correct index fragmentation


Scenario
You have identified fragmentation in a number of tables in the MarketDev database and you are sure that performance is decreasing as the amount of fragmentation increases. You will rebuild the indexes for any of the main database tables that are heavily fragmented. The main tasks for this exercise are as follows: 1. 2. 3. Review the fragmentation of indexes in the MarketDev database to determine which indexes should be defragmented and which indexes should be rebuilt. Defragment indexes as determined. Rebuild indexes as determined.

Task 1: Review the fragmentation of indexes in the MarketDev database to determine which indexes should be defragmented and which indexes should be rebuilt
Write a query using sys.dm_db_index_physical_stats function to locate indexes that have more than 30% fragmentation.

Task 2: Defragment indexes as determined


Write a query to defragment the indexes that you determined had fragmentation levels above 30% but below 70%.

Task 3: Rebuild indexes as determined


Write a query to rebuild the indexes that you determined had fragmentation levels above 70%.

Results: After this exercise, you should have rebuilt or defragmented any indexes with substantial fragmentation.

Exercise 3: Create a database maintenance plan


Scenario
You have also identified a degradation of performance in the application when proper index maintenance has not been performed. You want to ensure that there is an early detection of any consistency issues in the MarketDev database and that the index maintenance is automatically executed on a schedule basis. To make sure this regular maintenance occurs, you will create a Database Maintenance plan to schedule these operations on a weekly basis. The main tasks for this exercise are as follows: 1. Create the required database maintenance plan

Task 1: Create the required database maintenance plan


Review the requirements for the exercise in the supporting documentation. Create a database maintenance plan that meets the requirements.

Results: After this exercise, you should have created the required database maintenance plan.

Lab Instructions: Performing Ongoing Database Maintenance

Challenge Exercise 4: Investigate table lock performance (Only if time permits)


Scenario
While DBCC CHECKDB runs quite quickly, you are interested in the performance difference that might be achieved by using table locks instead of database snapshots during DBCC CHECKDB operations. If you have time, you will investigate the performance differences. The main tasks for this exercise are as follows: 1. 2. Execute DBCC CHECKDB using database snapshots Execute DBCC CHECKDB using table locks

Task 1: Execute DBCC CHECKDB using database snapshots


Execute DBCC CHECKDB against all databases in the Proseware server instance using database snapshots (the default option). Record the total execution time.

Task 2: Execute DBCC CHECKDB using table locks


Execute DBCC CHECKDB against all databases in the Proseware server instance using table locks (TABLOCK option). Record the total execution time. Compare the execution time to the time recorded in Task 1.

Results: After this exercise, you should have compared the performance of DBCC CHECKDB when using database snapshots and table locks.

Module 17
Lab Instructions: Tracing Access to SQL Server 2008 R2
Contents:
Exercise 1: Capture a trace using SQL Server Profiler Exercise 2: Analyze a trace using Database Engine Tuning Advisor Challenge Exercise 3: Configure SQL Trace (Only if time permits) 3 3 4

Lab Instructions: Tracing Access to SQL Server 2008 R2

Lab 17: Tracing Access to SQL Server

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_17_PRJ\6231B_17_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
The developers for the new marketing application are concerned about the performance of their queries. When the developers were testing the application they were working with small amounts of data and performance was acceptable. The developers are unsure that they have created appropriate indexes to support the application. You will use SQL Server Profiler to capture traces of application execution. You will then analyze the traces using the Database Engine Tuning Advisor. If you have time, you will configure traces using the SQL Trace system stored procedures.

Lab Instructions: Tracing Access to SQL Server 2008 R2

Exercise 1: Capture a trace using SQL Server Profiler


Scenario
You have isolated the workload that causes the poor performance and you want to test the queries in a development environment. In this exercise, you will generate sample workload and you will capture database activity using SQL Server Profiler. The main tasks for this exercise are as follows: 1. 2. 3. Create and start a suitable SQL Server Profiler trace. Execute the workload. Stop the trace.

Task 1: Create and start a suitable SQL Server Profiler trace


Create a SQL Server Profiler trace based upon the following settings: Tuning template Filtered to the MarketDev database only Rollover files disabled Maximum trace file size is 500 MB

Start the trace.

Task 2: Execute the workload


Open and execute the file 51 Lab Exercise 1.sql which is a workload file to be analyzed. Note ensure that you configure the workload window as per the instructions at the top of the script.

Task 3: Stop the trace


When the query completes, stop the trace. Close SQL Server Profiler

Results: After this exercise, you should have captured a workload using SQL Server Profiler.

Exercise 2: Analyze a trace using Database Engine Tuning Advisor


Scenario
You want to take the results captured from the SQL Trace and identify any changes that could be made to improve performance. In this exercise you will analyze captured activity using the Database Engine Tuning Advisor. The main tasks for this exercise are as follows: 1. 2. Analyze the captured trace in Database Engine Tuning Advisor. Review the suggested modifications.

Lab Instructions: Tracing Access to SQL Server 2008 R2

Task 1: Analyze the captured trace in Database Engine Tuning Advisor


Analyze the captured trace file using Database Engine Tuning Advisor

Task 2: Review the suggested modifications


Review the suggested modifications. Close Database Engine Tuning Advisor.

Results: After this exercise, you should have analyzed the trace using Database Engine Tuning Advisor and reviewed the suggested modifications.

Challenge Exercise 3: Configure SQL Trace (Only if time permits)


Scenario
You have noticed that when SQL Profiler is running on the production server that performance is reduced. You want to capture the performance metrics and reduce the impact on the server. In this exercise, you will capture activity using the SQL Trace stored procedures to show how this can be used instead of SQL Profiler, to lessen the impact on the server. The main tasks for this exercise are as follows: 1. 2. 3. Create a script that uses SQL Trace procedures to implement the same type of capture as you performed in Exercise 1 but with a different trace name. Test that the script works as expected by using the same workload. Analyze the new captured output and note if the suggested changes are identical to those suggested in Exercise 2.

Task 1: Create a script that uses SQL Trace procedures to implement the same type of capture as you performed in Exercise 1 but with a different trace name
Create, start, and stop the same trace that you used in Exercise 1 but call the trace ProsewareTrace2. Export the trace definition to a file.

Task 2: Test that the script works as expected by using the same workload
Configure and start the saved trace definition file. Make sure that you note the trace ID. Re-execute the 51 Lab Exercise 1.sql workload file.

Task 3: Analyze the new captured output and note if the suggested changes are identical to those suggested in Exercise 2
Stop the trace. Open and review the captured trace file.

Results: After this exercise, you should have captured a trace using SQL Trace.

Module 18
Lab Instructions: Monitoring SQL Server 2008 R2
Contents:
Exercise 1: Investigating DMVs Exercise 2: Configure Management Data Warehouse Exercise 3: Configure Instances for Data Collection Challenge Exercise 4: Work with Data Collector Reports (Only if time permits) 3 3 3 4

Lab Instructions: Monitoring SQL Server 2008 R2

Lab 18: Monitoring SQL Server 2008 R2

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_18_PRJ\6231B_18_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
The earlier versions of SQL Server that you have worked with did not include dynamic management functions and views. You have recently read about these and are interested to see how they might be used for collecting performance information. Rather than collecting information separately for each SQL Server instance, you have decided to collect all the performance information to a central server. This will help when dealing with issues that were not reported to the helpdesk at the time they occurred.

Lab Instructions: Monitoring SQL Server 2008 R2

Exercise 1: Investigating DMVs


Scenario
You have been provided with a series of sample queries that can be used to provide information from Dynamic Management Views and to provide an insight into SQL Server activity. In this exercise, you will execute these queries to gain an understanding of the potential uses for DMVs. The main tasks for this exercise are as follows: 1. Investigate the use of Dynamic Management Views and Functions.

Task 1: Investigate the use of Dynamic Management Views and Functions


Open the script file 51 - Lab Exercise 1.sql and follow the instructions contained in the script file.

Results: After this exercise, you should have investigated the use of Dynamic Management Views and Functions.

Exercise 2: Configure Management Data Warehouse


Scenario
You want to be able to centrally collect performance information so that you can analyze the all the Adventure Works performance data a later stage. In this exercise, you will configure a server to hold the management data warehouse to collect the performance data. The main tasks for this exercise are as follows: 1. Create a management data warehouse for central collection of performance data.

Task 1: Create a management data warehouse for central collection of performance data.
Create a management data warehouse for central collection of performance data. Create the management data warehouse with a database name of MDW and on the Proseware instance.

Results: After this exercise, you should have created a management data warehouse.

Exercise 3: Configure Instances for Data Collection


Scenario
You want to configure each Adventure Works SQL Server instance so that it sends performance information to a central server. In this exercise, you will configure each of the SQL Server instances to send performance data to the newly configured data warehouse. The main tasks for this exercise are as follows: 1. 2. Configure data collection on each instance. Configure data collection security for the AdventureWorks instance.

Task 1: Configure data collection on each instance.


Configure data collection on the Proseware instance. Set the target for the performance data to the management data warehouse created in Exercise 2. Configure data collection on the AdventureWorks instance.

Lab Instructions: Monitoring SQL Server 2008 R2

Task 2: Configure data collection security for the AdventureWorks instance.


The service account for the AdventureWorks instance is AdventureWorks\SQLService. Currently this service account has no access to the Proseware server and would be unable to upload collection data. Create a login for the AdventureWorks\SQLService and add it to the mdw_writer database role in the MDW database.

Results: After this exercise, you should have configured both instances for data collection.

Challenge Exercise 4: Work with Data Collector Reports (Only if time permits)
Scenario
You want to create a performance report that summarizes the performance information for all of the Adventure Works SQL Server instances. In this exercise, you will review the reports provided by the data collection system. Note Performance data takes some time to begin to be collected. To assist with this exercise, you have been provided with a backup of another management data warehouse to use for testing reports. The main tasks for this exercise are as follows: 1. 2. 3. Disable data collectors on both instances. Restore a backup of the MDW database. Review the available reports.

Task 1: Disable data collectors on both instances


Disable data collection on the Proseware instance. Disable data collection on the AdventureWorks instance.

Task 2: Restore a backup of the MDW database


Restore the MDW database from the backup file D:\6231B_Labs\6231B_18_PRJ\6231B_18_PRJ\MDW.bak

Task 3: Review the available reports


Create a server activity report. Create a disk space usage report. Create a query statistics report.

Results: After this exercise, you should have worked with Management Data Warehouse Reports.

Module 19
Lab Instructions: Managing Multiple Servers
Contents:
Exercise 1: Configure CMS and execute multi-server queries Exercise 2: Deploy a data-tier application Exercise 3: Register and extract a data-tier application Challenge Exercise 4: Upgrade a data-tier application (Only if time permits) 3 3 4 4

Lab Instructions: Managing Multiple Servers

Lab 19: Managing Multiple Servers

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
You have configured a Management Data Warehouse. You need to configure a solution that allows you to easily manage multiple SQL Server instances. You have noticed that on each computer that you connect to your SQL Server network, a different set of servers has been configured. You decide to configure a central management server to provide a consistent list of server groups. Your developers have begun using Data-Tier applications for some of their development. You need to deploy one of these applications to the new server, register an existing database as a Data-Tier application and, if time permits, upgrade a Data-Tier application.

Lab Instructions: Managing Multiple Servers

Exercise 1: Configure CMS and execute multi-server queries


Scenario
You want to create a list of SQL Server instances so that each database administrator has a consistent list of SQL Server instances in SQL Server Management studio. You want to manage this list of servers centrally. In this exercise, you will configure a central management server and execute multi-server queries. The main tasks for this exercise are as follows: 1. 2. 3. Create a central management server. Create a server group within the CMS. Execute a command to find all databases on any core server in full recovery model.

Task 1: Create a central management server


Create a central management server on the Proseware instance.

Task 2: Create a server group within the CMS


Create a server group called Core Servers. Register the Proseware instance in the CoreServers group. Register the AdventureWorks instance in the CoreServers group.

Task 3: Execute a command to find all databases on any core server in full recovery model
Open a multi-server query window. Execute a multi-server query to find all databases in full recovery model. Hint Look for the value FULL in the recovery_model_desc column in the sys.databases view. Results: After this exercise, you should have created a centrally managed server group and executed a multi-server query.

Exercise 2: Deploy a data-tier application


Scenario
You want to deploy a data-tier application that has been supplied by your application development group. This data-tier application contains all of the database and instance objects used by an application. In this exercise, you will use SQL Server Management Studio to deploy a data-tier application. The main tasks for this exercise are as follows: 1. Deploy the data-tier application using SSMS.

Task 1: Deploy the data-tier application using SSMS


Deploy the data-tier application D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ\CityCode.dacpac as database name CityCode on the Proseware instance.

Lab Instructions: Managing Multiple Servers

Test the data-tier application by executing the script file 61 Lab Exercise 2.sql.

Results: After this exercise, you should have deployed a data-tier application.

Exercise 3: Register and extract a data-tier application


Scenario
You want to encapsulate all of the database and instance objects used by an existing application into a single package that you can email. In this exercise, you will register an existing database as a data-tier application. You will also extract a data-tier application to send to the development team. The main tasks for this exercise are as follows: 1. 2. Register the existing database as a data-tier application. Extract a dacpac from the database to send to the development team.

Task 1: Register the existing database as a data-tier application


Register the Research database as a data-tier application.

Task 2: Extract a dacpac from the database to send to the development team
Extract a dacpac from the Research database, to the file D:\MKTG\Research.dacpac.

Results: After this exercise, you should have registered the Research database as a data-tier application and extracted a DAC package file.

Challenge Exercise 4: Upgrade a data-tier application (Only if time permits)


Scenario
The application development group have provided you with a new version of the database schema as a data-tier application. You want to deploy this new version of the schema. In this exercise, you will upgrade the existing data-tier application. Note Two versions of the updated data-tier application have been supplied. The first (CityCode_v2) will cause an error when you attempt to deploy it. The intention is to allow you to see that the system is not left in an unknown state. The second version (CityCode_v3) should deploy successfully. The main tasks for this exercise are as follows: 1. 2. Attempt to deploy the v2 upgrade. Deploy the v3 upgrade.

Task 1: Attempt to deploy the v2 upgrade


Attempt to deploy the v2 upgrade from the file D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ\CityCode_v2.dacpac.

Lab Instructions: Managing Multiple Servers

Task 2: Deploy the v3 upgrade


Deploy the v3 upgrade from the file D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ\CityCode_v3.dacpac.

Results: After this exercise, you should have upgraded the data-tier application.

Module 20
Lab Instructions: Troubleshooting Common SQL Server 2008 R2 Administrative Issues
Contents:
Exercises 1 - 5: Troubleshoot and resolve SQL Server administrative issues 3

Lab Instructions: Troubleshooting Common SQL Server 2008 R2 Administrative Issues

Lab 20: Troubleshooting Common Issues

Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_20_PRJ\6231B_20_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Lab Scenario
You need to be able to resolve common issues with SQL Server processes and services at the time they are occurring. There are five exercises that create issues. You should attempt to troubleshoot and resolve as many of these issues as possible.

Supporting Documentation Exercise 1


Users of the Promote application are complaining that the application can no longer connect to the server. The application connects using the SQL Login PromoteApp.

Lab Instructions: Troubleshooting Common SQL Server 2008 R2 Administrative Issues

Exercise 2
A junior DBA created a backup of the production AdminDB database to send to the development team for testing. Now users of that database are complaining they can no longer connect to it.

Exercise 3
Users are complaining that the job Get File List in SQL Server Agent is failing to execute.

Exercise 4
The performance of the AdminDB database has been steadily reducing since the database was deployed. Queries that once took seconds are now taking minutes.

Exercise 5
A strange situation is occurring with the CityDetails database. Most databases work slower as more users are added. However, the CityDetails database performs the worst when only a single user connects to it. The connection time for just this database can be very long and sometimes times out. Other databases are ok.

Exercises 1 - 5: Troubleshoot and resolve SQL Server administrative issues


Scenario
A number of issues have been reported by the users of the Proseware server. You need to troubleshoot and resolve the issues. The main tasks for each exercise are as follows: 1. 2. Read the supporting documentation for the exercise. Troubleshoot and resolve the issue.

Task 1: Read the supporting documentation for the exercise


Read the supporting documentation for the exercise.

Task 2: Troubleshoot and resolve the issue


Troubleshoot the issue. Resolve the issue. If you have difficulty, check the solution in the LAK.

Results: After these exercise, you should have investigated and resolved a number of issues.

Module 1
Lab Answer Key: Introduction to SQL Server 2008 R2 and its Toolset
Contents:
Exercise 1: Verify SQL Server Component Installation Exercise 2: Alter Service Accounts for New Instance Exercise 3: Enable Named Pipes Protocol for Both Instances Exercise 4: Create Aliases for AdventureWorks and Proseware Challenge Exercise 5: Ensure SQL Browser is Disabled and Configure a Fixed TCP/IP Port (Only if time permits) 2 3 3 4 5

Lab Answer Key: Introduction to SQL Server 2008 R2 and its Toolset

Lab: Introduction to SQL Server and its Toolset


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt.

Exercise 1: Verify SQL Server Component Installation


Task 1: Check that Database Engine and Reporting Services have been installed for the MKTG instance
1. 2. 3. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, and then click SQL Server Configuration Manager. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, ensure that the following services are listed for the MKTG instance: SQL Server (MKTG) SQL Full-text Filter Daemon Launcher (MKTG) SQL Server Reporting Services (MKTG) SQL Server Agent (MKTG)

Note The SQL Full-text Filter Daemon Launcher is present and it is part of the Database Engine.

Task 2: Note the services that are installed for the default instance and that Integration Services is not installed on a per instance basis
1. 2. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, ensure that the following services are listed for the default instance: 3. SQL Server (MSSQLSERVER) SQL Full-text Filter Daemon Launcher (MSSQLSERVER) SQL Server Analysis Services (MSSQLSERVER) SQL Server Agent (MSSQLSERVER)

In the right-hand pane, note that SQL Server Integration Services 10.0 is not installed as a perinstance basis as there is no instance name shown.

Task 3: Ensure that all required services including SQL Server Agent are started and set to autostart for both instances
1. Check that all the services for the MKTG instance have a Start Mode of Automatic. Ignore the SQL Full-text Filter Daemon Launcher service at this time.

Lab Answer Key: Introduction to SQL Server 2008 R2 and its Toolset

Note 2. 3. 4. 5. 6.

The SQL Server Agent (MKTG) service is not set to autostart.

Right-click the SQL Server Agent (MKTG) service and click Properties. In the Log On tab, click Start and the SQL Server Agent service should start. In the Service tab, set the value for the Start Mode to Automatic, and then click OK. Check that all the services for the default instance have a Start Mode of Automatic. Ignore the SQL Full-text Filter Daemon Launcher service at this time. Check that the SQL Server Agent (MSSQLSERVER) service has Start Mode set to Automatic. Note The SQL Server Agent (MSSQLSERVER) service is not set to autostart.

7. 8. 9.

Right-click the SQL Server Agent (MSSQLSERVER) service and click Properties. In the Log On tab, click Start and the SQL Server Agent service should start. In the Service tab, set the value for the Start Mode to Automatic, and then click OK.

10. The SQL Server Services need to be configured as the screenshot below:

Exercise 2: Alter Service Accounts for New Instance


Task 1: Change the service account for the MKTG database engine
1. 2. 3. 4. 5. 6. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, right-click SQL Server (MTKG), and select Properties. In the Account Name text box, type AdventureWorks\PWService. In the Password text box, type Pa$$w0rd. In the Confirm Password text box, type Pa$$w0rd and click OK. In the Confirm Account Change window, click Yes.

Task 2: Change the service account for the MKTG SQL Server Agent
1. 2. 3. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, right-click SQL Server Agent (MTKG), and select Properties. In the Account Name text box, type

Lab Answer Key: Introduction to SQL Server 2008 R2 and its Toolset

AdventureWorks\PWService. 4. 5. 6. In the Password text box, type Pa$$w0rd. In the Confirm Password text box, type Pa$$w0rd and click OK. Right-click SQL Server Agent (MTKG) and select Start to restart the service.

Exercise 3: Enable Named Pipes Protocol for Both Instances


Task 1: Enable the named pipes protocol for the default instance
1. 2. 3. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Server Network Configuration and then click Protocols for MSSQLSERVER. In the right-hand pane, right-click Named Pipes and select Enable. In the Warning window, click OK.

Task 2: Enable the named pipes protocol for the MKTG instance
1. 2. 3. In the left-hand pane of the SQL Server Configuration Manager window, click Protocols for MKTG. In the right-hand pane, right-click Named Pipes and select Enable. In the Warning window, click OK.

Task 3: Restart both database engine services


1. 2. 3. 4. 5. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. Right-click SQL Server (MSSQLSERVER) and select Restart. Right-click SQL Server (MKTG) and select Restart. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the toolbar, click the Refresh icon.

Exercise 4: Create Aliases for AdventureWorks and Proseware


Task 1: Create a 32-bit alias (AdventureWorks) for the default instance
1. 2. 3. 4. 5. 6. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Native Client 10.0 Configuration (32bit) and click Client Protocols. Confirm that the Named Pipes protocol is Enabled. In the left-hand pane, right-click Aliases and select New Alias. In the Alias New window, in the Alias Name text box, type AdventureWorks. In the Protocol drop-down list box, select Named Pipes. In the Server text box, type . and click OK.

Task 2: Create a 32-bit alias (Proseware) for the MKTG instance


1. 2. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Native Client 10.0 Configuration (32bit) and click Client Protocols. Confirm that the Named Pipes protocol is Enabled.

Lab Answer Key: Introduction to SQL Server 2008 R2 and its Toolset

3. 4. 5. 6.

In the left-hand pane, right-click Aliases and select New Alias. In the Alias New window, in the Alias Name text box, type Proseware. In the Protocol drop-down list box, select Named Pipes. In the Server text box, type .\MKTG and click OK.

Task 3: Create a 64-bit alias (AdventureWorks) for the default instance


1. 2. 3. 4. 5. 6. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Native Client 10.0 Configuration and click Client Protocols. Confirm that the Named Pipes protocol is Enabled. In the left-hand pane, right-click Aliases and select New Alias. In the Alias New window, in the Alias Name text box, type AdventureWorks. In the Protocol drop-down list box, select Named Pipes. In the Server text box, type . and click OK.

Task 4: Create a 64-bit alias (Proseware) for the MKTG instance


1. 2. 3. 4. 5. 6. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Native Client 10.0 Configuration and click Client Protocols. Confirm that the Named Pipes protocol is Enabled. In the left-hand pane, right-click Aliases and select New Alias. In the Alias New window, in the Alias Name text box, type Proseware. In the Protocol drop-down list box, select Named Pipes. In the Server text box, type .\MKTG and click OK.

Task 5: Use SQL Server Management Studio to connect to both aliases to ensure they work as expected
1. 2. 3. 4. 5. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio. In the Connect to Server window, ensure that Server Type is set to Database Engine. In the Server name text box, type Proseware. In the Authentication drop-down list, select Windows Authentication, and click Connect. In Object Explorer, under Proseware expand Databases. Note The databases that are present include at least the following: System Databases, Database Snapshots, ReportServer$MKTG, and ReportServer$MKTGTempDB. 6. 7. 8. 9. In Object Explorer, click Connect, click Database Engine. In the Connect to Server window, ensure that Server Type is set to Database Engine. In the Server name text box, type AdventureWorks. In the Authentication drop-down list, select Windows Authentication, and click Connect.

Lab Answer Key: Introduction to SQL Server 2008 R2 and its Toolset

10. In Object Explorer, under AdventureWorks expand Databases. Note The databases that are present include at least the following: System Databases, Database Snapshots, AdventureWorks2008R2, and AdventureWorksDW2008R2. 11. Close SQL Server Management Studio. 12. Close SQL Server Configuration Manager.

Challenge Exercise 5: Ensure SQL Browser is Disabled and Configure a Fixed TCP/IP Port (Only if time permits)
Task 1: Configure the TCP port for the MKTG database engine instance to 51550
1. 2. 3. 4. 5. 6. 7. 8. 9. In the Virtual Machine window, click Start. From the Start menu, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, and then click SQL Server Configuration Manager. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Server Network Configuration and then click Protocols for MKTG. Right-click the TCP/IP protocol and select Properties. In the TCP/IP Properties window, click IP Addresses tab. Scroll to the bottom of the screen, under the IPAll section, clear the value for TCP Dynamic Ports. For TCP Port, type 51550, and click OK. In the Warning window, click OK. In the left-hand pane, click SQL Server Services.

10. Right-click SQL Server (MKTG) and select Restart. 11. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. 12. In the toolbar, click the Refresh icon and make sure the service starts.

Task 2: Disable the SQLBrowser service


1. 2. 3. 4. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, right-click SQL Server Browser and click Stop. Right-click the SQL Server Browser and click Properties. In the SQL Server Browser Properties window, in the Service tab, set the Start Mode to Disabled and click OK.

Module 2
Lab Answer Key: Preparing Systems for SQL Server 2008 R2
Contents:
Exercise 1: Adjust memory configuration Exercise 2: Pre-installation Stress Testing Challenge Exercise 3: Check Specific I/O Operations (Only if time permits) 2 4 5

Lab Answer Key: Preparing Systems for SQL Server 2008 R2

Lab: Preparing Systems for SQL Server


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_02_PRJ\6231B_02_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Adjust memory configuration


Task 1: Check total server memory
1. 2. Click Start, right-click Computer, and click Properties. Write down the value for Installed memory (RAM).

Task 2: Check the memory allocated to the default instance


1. 2. 3. 4. 5. 6. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In the Connect to Server window, type AdventureWorks for the Server name and click Connect. In Object Explorer, right-click the AdventureWorks server instance, and click Properties. In the Select a page pane click Memory. Write down the values for Minimum server memory (in MB) and Maximum server memory (in MB), and click Cancel. In SQL Server Management Studio, from the File menu, click Exit.

Task 3: Check the memory allocated to the MKTG instance


1. 2. 3. 4. 5. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In the Connect to Server window, type Proseware for the Server name and click Connect. In Object Explorer, right-click the Proseware server instance, and click Properties. In the Select a page pane click Memory. Write down the values for Minimum server memory (in MB) and Maximum server memory (in MB), and click Cancel.

Lab Answer Key: Preparing Systems for SQL Server 2008 R2

6.

In SQL Server Management Studio, from the File menu, click Exit.

Task 4: Decide if the memory allocation is appropriate. If not, make the required changes to the memory configuration
1. 2. Review the Required Memory Configuration from the Supporting Documentation in the Student Manual. Calculate the Maximum memory for the AdventureWorks server instance as follows. Example calculation (actual values depend upon VM configuration). Max Memory = (Server Memory 1.5GB) * 0.6 Max Memory = (4.4 1.5) * 0.6 Max Memory = 1.7 (approximate) 3. Calculate the Maximum memory for the Proseware server instance as follows. Example calculation (actual values depend upon VM configuration). Max Memory = (Server Memory 1.5GB) * 0.4 Max Memory = (4.4 1.5) * 0.4 Max Memory = 1.2 (approximate) 4. 5. 6. 7. 8. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In the Connect to Server window, type AdventureWorks for the Server name and click Connect. In Object Explorer, right-click the AdventureWorks server instance, and click Properties. In the Select a page pane click Memory. Set the Maximum server memory (in MB) to the value 1700, and click OK. Note A more accurate value for 1.7GB would have been 1741MB but the value 1700 has been used for simplicity. 9. In Object Explorer click Connect, and click Database Engine.

10. In the Connect to Server window, type Proseware for the Server name and click Connect. 11. In Object Explorer, right-click the Proseware server instance, and click Properties. 12. In the Select a page pane click Memory. 13. Set the Maximum server memory (in MB) to the value 1200, and click OK. Note A more accurate value for 1.2GB would have been 1229MB but the value 1200 has been used for simplicity.

Lab Answer Key: Preparing Systems for SQL Server 2008 R2

Exercise 2: Pre-installation Stress Testing


Task 1: Configure SQLIOSIM
1. 2. 3. 4. 5. 6. In the folder D:\6231B_Labs\6231B_02_PRJ, right-click sqliosimx64.exe and click Run as administrator. In the Microsoft SQL Server IO Simulator window, note the agreement and click Yes. In the WinZip Self-Extractor - SQLIOS~1.EXE window click Unzip. In the WinZip Self-Extractor window click OK. In the WinZip Self-Extractor - SQLIOS~1.EXE window click Close. Open Windows Explorer and navigate to the C:\SQLIOSimX64 folder. Note that two versions of SQLIOSim are supplied: a command line version and a GUI version. Right-click SQLIOSim.exe, and click Run as administrator. In the Files and Configuration window click on the line containing C:\sqliosim.mdx, then click Remove. In the Files and Configuration window click on the line containing C:\sqliosim.ldx, then click Remove. In the Files and Configuration window click on the line containing D:\sqliosim.ldx, then click Remove.

7. 8. 9.

10. In the Files and Configuration window click on the line containing L:\sqliosim.mdx, then click Remove. 11. In the Files and Configuration window click on the line containing D:\sqliosim.mdx, then in the Size (MB) change the value from 4096 to 100, also change the Max Size value from 8192 to 200, and the Increment to 20, then click Apply. 12. On the line containing L:\sqliosim.ldx, set the Size (MB) to 50, the Max Size to 100, the Increment to 10, and click Apply. 13. Change the Cycle Duration (sec) value from 300 to 60. 14. Check the Delete Files at Shutdown checkbox, and click OK to complete the configuration.

Task 2: Execute SQLIOSIM


1. 2. 3. In the SQLIOSIM window from the Simulator menu, click Start. Wait for the test to complete in about 1 minute. While the test is running, note the information that is displayed. In the SQLIOSim window click OK.

Task 3: Review the results from executing SQLIOSIM


1. 2. 3. If any errors are returned in red, review the errors. Locate the final summary for file D:\sqliosim.mdx and note the Running Average IO Duration (ms). Locate the final summary for file L:\sqliosim.ldx and note the Running Average IO Duration (ms).

Lab Answer Key: Preparing Systems for SQL Server 2008 R2

Note The value returned for each drive depends upon the speed of the hardware. A typical value for either drive would be 15. 4. In the SQLIOSim window from the File menu click Exit.

Challenge Exercise 3: Check Specific I/O Operations (Only if time permits)


Task 1: Install the SQLIO Utility
1. 2. 3. 4. 5. 6. In the folder D:\6231B_Labs\6231B_02_PRJ, right-click SQLIO.msi and click Install. In the Welcome to the SQLIO Setup Wizard window click Next. In the License Agreement window, note the agreement click the I Agree radio button, and click Next. In the Select Installation Folder window click the Everyone radio button, and click Next. In the Confirm Installation window click Next. In the Installation Complete window click Close.

Task 2: Configure and Execute the SQLIO Utility


1. 2. 3. 4. 5. 6. 7. 8. 9. Review the Supporting Documentation in the Student Manual for details of the SQLIO tests to be performed. In Windows Explorer, navigate to the C:\Program Files (x86)\SQLIO folder. Double-click the file param.txt. Place a # at the beginning of the line c:\testfile.dat. Remove the # from the line beginning d:\testfile.dat. From the File menu click Exit. In the Notepad window click Save. In Windows Explorer, double-click the file C:\Program Files (x86)\SQLIO\Using SQLIO.rtf. Note the examples and descriptions of the available parameters for SQLIO. Close the using SQLIO.rtf - WordPad window. From the Start menu, click All Programs, click Accessories, right-click Command Prompt and click Run as administrator. Type CD \Program Files (x86)\SQLIO and hit Enter.

10. Type the following command and hit Enter.


sqlio.exe -kR -s60 -fsequential -o8 b64 -LS -Fparam.txt timeout /T 60

11. Look through the output of the command, note the values returned for IOs/sec and MBs/sec. These values are commonly referred to as IOPS and throughput. Note the minimum, maximum and average latency. 12. Type the following command and hit Enter.
sqlio.exe -kW -s60 -frandom -o8 b8 -LS -Fparam.txt timeout /T 60

Lab Answer Key: Preparing Systems for SQL Server 2008 R2

13. Look through the output of the command, note the values returned for IOs/sec and MBs/sec. These values are commonly referred to as IOPS and throughput. Note the minimum, maximum and average latency. 14. Type Exit and hit Enter.

Module 3
Lab Answer Key: Installing and Configuring SQL Server 2008 R2
Contents:
Exercise 1: Review installation requirements Exercise 2: Install the SQL Server instance Exercise 3: Perform Post-installation Setup and Checks Challenge Exercise 4: Configure Server Memory (Only if time permits) 2 2 4 4

Lab Answer Key: Installing and Configuring SQL Server 2008 R2

Lab: Installing and Configuring SQL Server


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_03_PRJ\6231B_03_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Review installation requirements


Task 1: Review the supporting documentation prior to installation
1. Read the supporting documentation in the student manual.

Task 2: Create the folders that are required for the data and log files
1. Using Windows Explorer, create the following folders: D:\MKTGDEV L:\MKTGDEV

Exercise 2: Install the SQL Server instance


Task 1: Based on the requirements reviewed in exercise 1, install another instance of SQL Server
1. 2. 3. 4. On the host system, in the Virtual Machines list in Hyper-V Manager, right-click the 623XB-MIASQL virtual machine and click Settings. In the Settings for 623XB-MIA-SQL window, in the Hardware list expand IDE Controller 1, and click DVD Drive. In the DVD Drive properties pane, click Image file, and click browse. Navigate to the file C:\Program Files\Microsoft Learning\623XB\Drives\SQLFULL_ENU.iso and click Open. 5. 6. 7. In the Settings for 623XB-MIA-SQL window, click OK. In the Virtual Machine window, in the AutoPlay window (which should now have popped up) click Run SETUP.EXE and wait for SQL Server Setup to start. In the SQL Server Installation Center window, click on the Installation tab.

Lab Answer Key: Installing and Configuring SQL Server 2008 R2

8. 9.

Click New installation or add features to an existing installation from the list of available options and wait for SQL Server setup to start. In the Setup Support Rules window, click Show details and note that the list of rules that has been checked.

10. In the Setup Support Rules window, click OK. 11. In the Setup Support Files window, click Install. 12. In the the Setup Support Rules, click Show details read the installation checklist and check to make sure the Status for items have Passed. Note the two warnings that are listed and click Next. 13. In the Installation Type page, ensure the option button New installation or add shared features is selected and then click Next. 14. In the Product Key page, click Next. 15. In the License Terms page, note the Microsoft Software License Terms and check I accept the license terms. 16. Make sure that Send feature usage data to Microsoft is not selected and click Next. Note In general, you are encouraged to choose this feature as it helps Microsoft produce a better product. In this case, we are deselecting it because we are in an isolated environment without network access within the virtual machine. 17. In the Setup Role page, ensure that SQL Server Feature Installation is selected and click Next. 18. In the Feature Selection page, under the Instance Features check Database Engine Services and click Next. 19. In the Installation Rules page, click Show details, note the list of rules and the status of each rule and click Next. 20. In the Instance Configuration page, ensure that Named instance is checked and type MKTGDEV in the Named instance field and click Next. 21. In the Disk Space Requirements page, read the Disk Usage Summary and then click Next. 22. In the Server Configuration page, click Use the same account for all SQL Server services. 23. In the Use the same account for all SQL Server 2008 R2 services window, in the Account Name textbox, type AdventureWorks\PWService. 24. In the Password textbox, Pa$$w0rd and click OK. 25. In the Server Configuration page, in the Service Accounts tab, and in the Startup Type drop down list for the SQL Server Agent select Automatic. 26. Click the Collation tab, ensure that SQL_Latin1_General_CP1_CI_AS is selected and click Next. 27. In the Database Engine Configuration page, under the Account Provisioning tab, ensure that Mixed Mode (SQL Server authentication and Windows authentication) is selected. 28. In the Enter password textbox, type Pa$$w0rd. 29. In the Confirm password textbox, type Pa$$w0rd.

Lab Answer Key: Installing and Configuring SQL Server 2008 R2

30. Click Add Current User, this will add the user ADVENTUREWORKS\administrator (Administrator) to the list of Administrators. 31. Click the Data Directories tab, change the User database directory to D:\MKTGDEV. 32. Change the User database log directory to L:\MKTGDEV. 33. Change the Temp DB directory to D:\MKTGDEV. 34. Change the Temp DB log directory to L:\MKTGDEV. 35. Click the FILESTREAM tab, and ensure that Enable FILESTREAM for Transact-SQL access is not selected and click Next. 36. In the Error Reporting page, make sure that Send Windows and SQL Server Error Reports to Microsoft or your corporate report server is not checked, then click Next. 37. In the Installation Configuration Rules page, Show details, review the list of rules, and click Next. 38. In the Ready to Install page, review the summary and click Install. 39. In the Complete page, click Close. 40. Close the SQL Server Installation Center window.

Exercise 3: Perform Post-installation Setup and Checks


Task 1: Check that the services for the new SQL Server instance are running
1. 2. 3. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, and then click SQL Server Configuration Manager. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, ensure that the following services are listed as running for the MKTGDEV instance: SQL Server (MKTGDEV) SQL Server Agent (MKTGDEV)

Task 2: Configure both 32 bit and 64 bit aliases for the new instance
1. 2. 3. 4. 5. 6. 7. 8. 9. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Server Network Configuration and then click Protocols for MKTGDEV. In the right-hand pane, right-click Named Pipes and select Enable. In the Warning window, click OK. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. Right-click SQL Server (MKTGDEV) and select Restart. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the toolbar, click the Refresh icon. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Native Client 10.0 Configuration (32bit) and click Client Protocols. Confirm that the Named Pipes protocol is Enabled.

10. In the left-hand pane, right-click Aliases and select New Alias.

Lab Answer Key: Installing and Configuring SQL Server 2008 R2

11. In the Alias New window, in the Alias Name text box, type PWDev. 12. In the Protocol drop-down list box, select Named Pipes. 13. In the Server text box, type .\MKTGDEV and click OK. 14. In the left-hand pane of the SQL Server Configuration Manager window, expand SQL Native Client 10.0 Configuration and click Client Protocols. 15. Confirm that the Named Pipes protocol is Enabled. 16. In the left-hand pane, right-click Aliases and select New Alias. 17. In the Alias New window, in the Alias Name text box, type PWDev. 18. In the Protocol drop-down list box, select Named Pipes. 19. In the Server text box, type .\MKTGDEV and click OK. 20. Close SQL Server Configuration Manager.

Task 3: Connect to the new instance using SSMS


1. 2. 3. 4. 5. 6. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio. In the Connect to Server window, ensure that Server Type is set to Database Engine. In the Server name text box, type PWDev. In the Authentication drop-down list, select Windows Authentication, and click Connect. In Object Explorer, under PWDev expand Databases. Close SQL Server Management Studio.

Challenge Exercise 4: Configure Server Memory (Only if time permits)


Task 1: Review the current memory available on the server
1. 2. Click Start, right-click Computer, and click Properties. Write down the value for Installed memory (RAM).

Task 2: Determine an appropriate memory allocation for each instance


1. 2. Review the Required Memory Configuration from the Supporting Documentation in the Student Manual. Calculate the Maximum memory for the AdventureWorks server instance as follows. Example calculation (actual values depend upon VM configuration). Max Memory = (Server Memory 1.0GB) * 0.4 Max Memory = (4.4 1.0) * 0.4 Max Memory = 1.4 (approximate) 3. Calculate the Maximum memory for the Proseware server instance as follows. Example calculation (actual values depend upon VM configuration). Max Memory = (Server Memory 1.0GB) * 0.3

Lab Answer Key: Installing and Configuring SQL Server 2008 R2

Max Memory = (4.4 1.0) * 0.3 Max Memory = 1.0 (approximate) 4. Calculate the Maximum memory for the PWDev server instance as follows. Example calculation (actual values depend upon VM configuration). Max Memory = (Server Memory 1.0GB) * 0.3 Max Memory = (4.4 1.0) * 0.3 Max Memory = 1.0 (approximate)

Task 3: Configure each instance appropriately


1. 2. 3. 4. 5. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In the Connect to Server window, type AdventureWorks for the Server name and click Connect. In Object Explorer, right-click the AdventureWorks server instance, and click Properties. In the Select a page pane click Memory. Set the Maximum server memory (in MB) to the value 1400, and click OK. Note A more precise value could have been used but the value 1400 has been used for simplicity. 6. 7. 8. 9. In Object Explorer click Connect, and click Database Engine. In the Connect to Server window, type Proseware for the Server name and click Connect. In Object Explorer, right-click the Proseware server instance, and click Properties. In the Select a page pane click Memory.

10. Set the Maximum server memory (in MB) to the value 1000, and click OK. Note A more precise value for 1.0GB could have been used but the value 1000 has been used for simplicity. 11. In Object Explorer click Connect, and click Database Engine. 12. In the Connect to Server window, type PWDev for the Server name and click Connect. 13. In Object Explorer, right-click the PWDev server instance, and click Properties. 14. In the Select a page pane click Memory. 15. Set the Maximum server memory (in MB) to the value 1000, and click OK.

Lab Answer Key: Installing and Configuring SQL Server 2008 R2

Note A more accurate value for 1.0GB could have been used but the value 1000 has been used for simplicity. 16. Close SQL Server Management Studio.

Module 4
Lab Answer Key: Working with Databases
Contents:
Exercise 1: Adjust tempdb configuration Exercise 2: Create the RateTracking database Exercise 3: Attach the OldProspects database Challenge Exercise 4: Add multiple files to tempdb (Only if time permits) 2 3 4 5

Lab Answer Key: Working with Databases

Lab: Working with Databases


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_04_PRJ\6231B_04_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Adjust tempdb configuration


Task 1: Adjust the size of tempdb
1. 2. 3. Review the requirement for tempdb size in the Supporting Documentation In Object Explorer expand the Proseware server, expand Databases, and expand System Databases. Right-click the master database and click New Query. Enter the following statements and click Execute:

USE master; GO ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev, SIZE = 30MB ); GO ALTER DATABASE tempdb MODIFY FILE ( NAME = templog, SIZE = 10MB ); GO

Task 2: Check that the tempdb size is still correct after a restart
1. 2. 3. 4. 5. 6. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, and then click SQL Server Configuration Manager. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, right-click the service SQL Server (MKTG) and click restart. In Object Explorer, right-click the tempdb database and click Properties. In the Database Properties tempdb window, click Files in the Select a page pane. In the Database files list, check that the initial size of the data file is 30 and the initial size of the log file is 10.

Lab Answer Key: Working with Databases

Exercise 2: Create the RateTracking database


Task 1: Create the database
1. 2. 3. Review the supplied requirements in the supporting documentation for the exercise. In Object Explorer expand the Proseware server, expand Databases, and expand System Databases. Right-click the master database and click New Query. Enter the following statements and click Execute:

USE master; GO CREATE DATABASE RateTracking ON ( NAME = RateTracking_dat, FILENAME = 'D:\MKTG\RateTracking.mdf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 10MB ) LOG ON ( NAME = RateTracking_log, FILENAME = 'L:\MKTG\RateTracking.ldf', SIZE = 20MB, MAXSIZE = UNLIMITED, FILEGROWTH = 20MB ); GO

Task 2: Create the required filegroups and files


1. 2. 3. Review the supplied requirements in the supporting documentation for the required files and filegroups. In Object Explorer expand the Proseware server, expand Databases, and expand System Databases. Right-click the master database and click New Query. Enter the following statements and click Execute:

USE master; GO ALTER DATABASE RateTracking ADD FILEGROUP USERDATA; GO ALTER DATABASE RateTracking ADD FILE ( NAME = RateTracking_dat_1, FILENAME = 'D:\MKTG\RateTracking_1.ndf', SIZE = 20MB, MAXSIZE = 100MB, FILEGROWTH = 10MB ) TO FILEGROUP USERDATA; GO ALTER DATABASE RateTracking ADD FILE ( NAME = RateTracking_dat_2, FILENAME = 'D:\MKTG\RateTracking_2.ndf', SIZE = 20MB, MAXSIZE = 100MB,

Lab Answer Key: Working with Databases

FILEGROWTH = 10MB ) TO FILEGROUP USERDATA; GO ALTER DATABASE RateTracking ADD FILEGROUP ARCHIVE; GO ALTER DATABASE RateTracking ADD FILE ( NAME = RateTracking_dat_3, FILENAME = 'D:\MKTG\RateTracking_3.ndf', SIZE = 200MB, MAXSIZE = 500MB, FILEGROWTH = 50MB ) TO FILEGROUP ARCHIVE; GO ALTER DATABASE RateTracking ADD FILE ( NAME = RateTracking_dat_4, FILENAME = 'D:\MKTG\RateTracking_4.ndf', SIZE = 200MB, MAXSIZE = 500MB, FILEGROWTH = 50MB ) TO FILEGROUP ARCHIVE; GO

Task 3: Change the default filegroup for the database


1. 2. 3. Review the supplied requirements in the supporting documentation for the default filegroup. In Object Explorer expand the Proseware server, expand Databases, and expand System Databases. Right-click the master database and click New Query. Enter the following statements and click Execute:

USE master; GO ALTER DATABASE RateTracking MODIFY FILEGROUP USERDATA DEFAULT; GO

Exercise 3: Attach the OldProspects database


Task 1: Copy the database files
1. In Windows Explorer, copy the files as specified below: Source Folder D:\6231B_Labs\6231B_04_PRJ D:\6231B_Labs\6231B_04_PRJ Destination Folder D:\MKTG L:\MKTG Filename OldProspects.mdf OldProspects.ldf

Task 2: Attach the database to the MKTG instance


1. 2. 3. In Object Explorer, expand the Proseware server and expand Databases. Right-click Databases and click Attach. Click Add and navigate to the file D:\MKTG\OldProspects.mdf and click OK.

Lab Answer Key: Working with Databases

4. 5.

Click the ellipsis beside the Current File Path for the log entry and navigate to the file L:\MKTG\OldProspects.ldf and click OK. Click OK to attach the database and note that OldProspects now appears in the list of databases in Object Explorer.

Challenge Exercise 4: Add multiple files to tempdb (Only if time permits)


Task 1: Review the tempdb file requirements
1. In the Supporting Documentation review the tempdb Requirements From The Consultant section.

Task 2: Move existing files


1. 2. In Object Explorer expand the Proseware server, expand Databases, and expand System Databases. Right-click the master database and click New Query. Enter the following statements and click Execute:

USE master; GO ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'D:\MKTG\tempdb.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'L:\MKTG\templog.ldf'); GO

Task 3: Add new files


1. 2. In Object Explorer expand the Proseware server, expand Databases, and expand System Databases. Right-click the master database and click New Query. Enter the following statements and click Execute:

USE master; GO ALTER DATABASE tempdb ADD FILE ( NAME = N'tempdev2', FILENAME = N'D:\MKTG\tempdb_file2.ndf' , SIZE = 20MB, FILEGROWTH = 10MB, MAXSIZE = UNLIMITED ); ALTER DATABASE tempdb ADD FILE ( NAME = N'tempdev3', FILENAME = N'D:\MKTG\tempdb_file3.ndf' , SIZE = 20MB, FILEGROWTH = 10MB, MAXSIZE = UNLIMITED ); ALTER DATABASE tempdb ADD FILE ( NAME = N'tempdev4', FILENAME = N'D:\MKTG\tempdb_file4.ndf' , SIZE = 20MB, FILEGROWTH = 10MB, MAXSIZE = UNLIMITED ); GO

Lab Answer Key: Working with Databases

Task 4: Restart the server and check file locations


1. 2. 3. 4. 5. 6. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, and then click SQL Server Configuration Manager. In the left-hand pane of the SQL Server Configuration Manager window, click SQL Server Services. In the right-hand pane, right-click the service SQL Server (MKTG) and click restart. In Object Explorer, right-click the tempdb database and click Properties. In the Database Properties tempdb window, click Files in the Select a page pane. Make sure that the files listed match the requirements.

Module 5
Lab Answer Key: Understanding SQL Server 2008 R2 Recovery Models
Contents:
Exercise 1: Plan a backup strategy Exercise 2: Configure Recovery Models Challenge Exercise 3: Review recovery models and strategy (Only if time permits) 2 3 3

Lab Answer Key: Understanding SQL Server 2008 R2 Recovery Models

Lab: Understanding SQL Server Recovery Models


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_05_PRJ\6231B_05_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Plan a backup strategy


Task 1: Review the business requirements
1. Review the supplied business requirements in the supporting documentation for the exercise.

Task 2: Determine an appropriate backup strategy for each database


1. There is no one correct answer. The options provided below are an example strategy that would meet the requirements. For the MarketDev database: Full Recovery Model Type of Backup Full Log Scheduled 7:00pm Daily Every 20 minutes, starting at 8:20am and continuing till 6:00pm

Notes:
Full database backup should complete in approximately 3.4 hours (20GB/100MB per minute). This means that you cannot employ only a full database backup strategy as it would not meet the RPO. The full database backup should complete by 10:24pm which is within the available time window for backups. Each log backup should complete in approximately 3.4 minutes (1GB per hour / 3 log backups per hour /100 MB per minute). This fits within the 20 minute interval and meets the RPO. Full database restore should complete in approximately 4.3 hours (20GB/80MB per minute). Log file restore should complete in approximately 2.1 hours (10 hours * 1GB per hour /80MB per minute) and meets the RTO.

Lab Answer Key: Understanding SQL Server 2008 R2 Recovery Models

For the Research database: Simple Recovery Model Type of Backup Full Scheduled 6:30pm Daily

Notes:
Recovery to last full daily database backup complies with the RPO. Daily backup should complete in approximately 2 minutes (200MB/100MB per minute). Full restore should complete in approximately 2.5 minutes and complies with RTO (200MB/80MB per minute).

Exercise 2: Configure Recovery Models


Task 1: Review and adjust the current database recovery models
1. The recovery model for the MarketDev database is Simple and should be Full. Adjust the model by the following steps: a. b. c. d. 2. In SSMS, in Object Explorer expand the Proseware server, right-click Databases and click Refresh. Expand Databases, right-click MarketDev and click Properties. In the Select a page pane, click Options. In the right hand pane, choose Full from the Recovery model drop down list and click OK.

The recovery model for the Research database is correct and doesnt need to be modified.

Challenge Exercise 3: Review recovery models and strategy (Only if time permits)
Task 1: Review the RPO and RTO requirements for the databases
1. The supporting documentation includes details of the business continuity requirements for the databases. You need to review this documentation.

Task 2: Review the existing recovery models and backup strategies


1. The supporting documentation also includes details of the backup strategy for the databases. You need to review this documentation.

Task 3: Indicate whether or not the strategy would be successful


1. For the CreditControl database a Full backup would take approximately 3.4 hours (20GB/100MB per minute). This would not satisfy the requirements for the time window as the Wednesday 6am Full backup would not complete before office hours start. For the PotentialIssue database, the 15 minute log backups would meet the RPO. A Full restore should take approximately 24 minutes ((200MB + (7 days * 24 hours) * 10MB per hour) / 80MB per minute) which meets the RTO. The Full database backup would complete in approximately 2 minutes (200MB/100MB per minute) which means that the Full database would complete in the available time window. The backup strategy for the PotentialIssue database meets the business requirements.

2.

Module 6
Lab Answer Key: Backup of SQL Server 2008 R2 Databases
Contents:
Exercise 1: Investigate backup compression Exercise 2: Transaction log backup Exercise 3: Differential backup Exercise 4: Copy-only backup Challenge Exercise 5: Partial backup (Only if time permits) 2 3 3 4 5

Lab Answer Key: Backup of SQL Server 2008 R2 Databases

Lab: Backup of SQL Server Databases


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_06_PRJ\6231B_06_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Investigate backup compression


Task 1: Create a database backup without compression
1. 2. 3. 4. 5. 6. 7. 8. Using Windows Explorer create a new folder L:\SQLBackups. In Object Explorer, in SQL Server Management Studio, expand the Proseware server, expand Databases, right-click the MarketDev database, click Tasks, and click Back Up. In the Back Up Database MarketDev window click Remove. In the Back Up Database MarketDev window click Add. In the File name textbox type L:\SQLBackups\MarketDev_Full_Uncompressed.BAK and click OK. In the Select a page pane, click Options. In the Set backup compression drop down list, click Do not compress backup, and click OK. In the Microsoft SQL Server Management Studio window click OK.

Task 2: Create a database backup with compression


1. 2. 3. 4. 5. 6. 7. In Object Explorer, right-click the MarketDev database, click Tasks, and click Back Up. In the Back Up Database MarketDev window click Remove. In the Back Up Database MarketDev window click Add. In the File name textbox type L:\SQLBackups\MarketDev_Full_Compressed.BAK and click OK. In the Select a page pane, click Options. In the Set backup compression drop down list, click Compress backup, and click OK. In the Microsoft SQL Server Management Studio window click OK.

Lab Answer Key: Backup of SQL Server 2008 R2 Databases

Task 3: Compare the file sizes created


1. 2. In Windows Explorer, navigate to the folder L:\SQLBackups and note the size of the compress and uncompressed backup files. Calculate the space savings provided by compression as:

SpaceSavings=(Uncompressed sizeCompressed size)*100/Uncompressed size

Note

A typical value would be (233-66)*100/233 = 72% saving

Exercise 2: Transaction log backup


Task 1: Execute a script to introduce workload to the MarketDev database
1. 2. In Solution Explorer, right-click the file 61 Workload File.sql and click Open. On the Toolbar click Execute.

Task 2: Backup the transaction log on the MarketDev database


1. 2. 3. 4. 5. 6. 7. 8. In Object Explorer, right-click the MarketDev database, click Tasks, and click Back Up. In the Back Up Database MarketDev window click Remove. In the Back Up Database MarketDev window click Add. In the File name textbox type L:\SQLBackups\MarketDev_Log_Compressed.BAK and click OK. From the Backup type drop down list box, select Transaction Log. In the Select a page pane, click Options. In the Set backup compression drop down list, click Compress backup, and click OK. In the Microsoft SQL Server Management Studio window click OK.

Exercise 3: Differential backup

1. 2.

Task 1: Execute a script to introduce workload to the MarketDev database


In Solution Explorer, right-click the file 61 Workload File.sql and click Open. On the Toolbar click Execute.

Task 2: Create a differential backup of the MarketDev database


1. 2. 3. 4. 5. 6. 7. In Object Explorer, right-click the MarketDev database, click Tasks, and click Back Up. In the Back Up Database MarketDev window click Remove. In the Back Up Database MarketDev window click Add. In the File name textbox type L:\SQLBackups\MarketDev_Differential_Compressed.BAK and click OK. From the Backup type drop down list box, select Differential. In the Select a page pane, click Options. In the Set backup compression drop down list, click Compress backup, and click OK.

Lab Answer Key: Backup of SQL Server 2008 R2 Databases

8. 9.

In the Microsoft SQL Server Management Studio window click OK. Using Windows Explorer, note the size of the Differential backup compared to the Full backup. Note A typical value for the Differential backup size would be 173KB. A typical value for the Full backup size would be 66 MB.

Task 3: Execute a script to introduce workload to the MarketDev database


1. 2. In Solution Explorer, right-click the file 71 Workload File.sql and click Open. On the Toolbar click Execute.

Task 4: Append a differential backup to the previous differential backup file


1. 2. 3. 4. 5. 6. 7. 8. In Object Explorer, right-click the MarketDev database, click Tasks, and click Back Up. Ensure that the Destination shows L:\SQLBackups\MarketDev_Differential_Compressed.BAK. From the Backup type drop down list box, select Differential. In the Select a page pane, click Options. In the Overwrite media option ensure that Append to the existing backup set is selected. In the Set backup compression drop down list, click Compress backup, and click OK. In the Microsoft SQL Server Management Studio window click OK. Using Windows Explorer, note that the size of the Differential backup has increased. The file now contains two backups. Note A typical value for the backup file size would be 345KB.

Exercise 4: Copy-only backup


Task 1: Create a copy-only backup of the MarketDev database, ensuring to choose to verify the backup
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, right-click the MarketDev database, click Tasks, and click Back Up. In the Back Up Database MarketDev window click Remove. In the Back Up Database MarketDev window click Add. In the File name textbox type L:\SQLBackups\MarketDev_Copy_Compressed.BAK and click OK. From the Backup type drop down list box, select Full. Ensure that Copy-only Backup is checked. In the Select a page pane, click Options. In the Overwrite media options, select Back up to a new media set, and erase all existing backup sets. In the New media set name text box, type MarketDev Copy Backup.

10. In the New media set description text box, type MarketDev Copy Backup for Integration Team. 11. In the Reliability options, ensure that Verify backup when finished is checked.

Lab Answer Key: Backup of SQL Server 2008 R2 Databases

12. In the Set backup compression drop down list, click Compress backup, and click OK. 13. In the Microsoft SQL Server Management Studio window click OK. 14. Using Windows Explorer, note the size of the Copy backup compared to the Full backup.

Challenge Exercise 5: Partial backup (Only if time permits)


Task 1: Perform a backup of the read-write filegroups on the RateTracking database
1. 2. 3. In Solution Explorer, right-click the file 91 Lab Exercise 5.sql and click Open. Review the script. On the Toolbar click Execute.

Module 7
Lab Answer Key: Restoring SQL Server 2008 R2 Databases
Contents:
Exercise 1: Determine a restore strategy Exercise 2: Restore the database Challenge Exercise 3: Using STANDBY mode (Only if time permits) 2 3 3

Lab Answer Key: Restoring SQL Server 2008 R2 Databases

Lab: Restoring SQL Server 2008 R2 Databases


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_07_PRJ\6231B_07_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar. Note The setup script for this module is intended to throw an error regarding missing files this is normal.

Exercise 1: Determine a restore strategy


Task 1: Review the backups contained within the backup file
1. 2. 3. 4. In Solution Explorer, right-click the file 51 Lab Exercise 1 Task 1.sql and click Open. Review the script. On the Toolbar click Execute. The backups contained in the file are (in order): 1. 2. 3. 4. 5. 6. 7. Full Full Differential Log Differential Log Log

Task 2: Determine how the restore should be performed


1. Restoring a database requires: Latest full database backup (File 2) Most recent differential backup (File 5) All log file backups since the latest differential backup (Files 6,7)

Lab Answer Key: Restoring SQL Server 2008 R2 Databases

2.

With NORECOVERY should be specified on all restores.

Exercise 2: Restore the database


Task 1: Restore the database
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, right-click Databases, and click Restore Database. In the Restore Database window, in the Destination for restore options, type MarketYields in the To database textbox. In the Source for restore options, select From device then click on the ellipsis button to the right hand side of the From device textbox. In the Specify Backup window, click Add. Navigate to the file D:\MSSQLSERVER\MarketYields.bak and click OK. In the Specify Backup window, click OK. In the Select the backup sets to restore list, check the files in positions 2,5,6,7. In the Select a page pane, click Options. In the Restore the database files as list, in the row for the MarketYields data file, change the Restore As location to D:\MKTG\MarketYields.mdf.

10. In the Restore the database files as list, in the row for the MarketYields_log log file, change the Restore As location to L:\MKTG\MarketYields.ldf. 11. In the Recovery state options select Leave the database in read-only mode. 12. In the Standby file textbox, type L:\MKTG\Log_Standby.bak and click OK. 13. In the Microsoft SQL Server Management Studio window, click OK. 14. In Object Explorer expand the Proseware server, expand Databases, right-click Databases and click Refresh. 15. The MarketYields database should show as Standby / Read-Only.

Challenge Exercise 3: Using STANDBY mode (Only if time permits)


Task 1: Execute queries against the STANDBY database to ensure it is accessible
1. 2. In Object Explorer, right-click Proseware server, and click New Query. Type the following query as shown in the snippet below:

SELECT * FROM MarketYields.dbo.LogData;

3.

On the Toolbar click Execute. Note 25000 rows should be returned.

4.

Close the query window. (If prompted to Save changes click No).

Lab Answer Key: Restoring SQL Server 2008 R2 Databases

Task 2: Restore another log file, leaving the database in STANDBY mode
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand Databases, right-click the MarketYields database and click Tasks, click Restore, click Transaction Log. In the Restore source options, click From file or tape, click the ellipsis button at the right hand side of the From file or tape textbox. In the Specify Backup window, click Add. Navigate to the file D:\MSSQLSERVER\MarketYields_log.bak and click OK. In the Specify Backup window, click OK. In the Select a page pane, click Options. In the Recovery state options select Leave the database in read-only mode. In the Standby file textbox, type L:\MKTG\Log_Standby.bak and click OK. In the Microsoft SQL Server Management Studio window, click Yes.

10. In the Microsoft SQL Server Management Studio window, click OK. 11. In Object Explorer expand the Proseware server, expand Databases, right-click Databases and click Refresh. 12. The MarketYields database should show as Standby / Read-Only.

Module 8
Lab Answer Key: Importing and Exporting Data
Contents:
Exercise 1: Import the Excel spreadsheet Exercise 2: Import the CSV file Exercise 3: Create and test an extraction package Challenge Exercise 4: Compare loading performance (Only if time permits) 2 3 3 4

Lab Answer Key: Importing and Exporting Data

Lab: Importing and Exporting Data


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_08_PRJ\6231B_08_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Import the Excel spreadsheet


Task 1: Import the data using the Import Wizard
1. 2. 3. 4. 5. 6. 7. 8. 9. In SQL Server Management Studio, in Object Explorer, expand the Proseware server, expand Databases, right-click the MarketDev database, click Tasks, and click Import Data. In the SQL Server Import and Export Wizard window, click Next. In the Choose a Data Source window, select Microsoft Excel from the Data source drop down list, and click Browse. Navigate to the file D:\6231B_Labs\6231B_08_PRJ\6231B_08_PRJ\Currency.xls and click Open. In the Choose a Data Source window, make sure that the First row has column names checkbox is checked, and click Next. In the Choose a Destination window, make sure that the Server name is Proseware and the Database name is MarketDev, and click Next. In the Specify Table Copy or Query window, click Next. In the Select Source Tables and Views window, check the checkbox beside the Currency source, change the Destination to DirectMarketing.Currency and click Edit Mappings. In the Column Mappings window, check Drop and re-create destination table.

10. Change the Type for the CurrencyID row to int. 11. Uncheck the Nullable column in each row. 12. Change the Size for the CurrencyCode to 3. 13. Change the Size for the CurrencyName to 50 and click OK. 14. In the Select Source Tables and Views window, click Next. 15. In the Review Data Type Mapping window, click Next.

Lab Answer Key: Importing and Exporting Data

16. In the Save and Run Package window, click Next. 17. In the Complete the Wizard window, click Finish. Note One warning about potential data truncation and one error if the table does not already exist may occur. This is normal. 18. In the Execution is completed window, click Close. 19. In Object Explorer, right-click the MarketDev database and click New Query. 20. Type the code as shown in the snippet below:
SELECT * FROM DirectMarketing.Currency;

21. On the Toolbar, click Execute. Note 105 currencies should be returned.

Exercise 2: Import the CSV file


Task 1: Import the CSV file
1. 2. 3. 4. In Solution Explorer, right-click the file 61 Lab Exercise 2.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Wait for the query to complete and record the duration of the query. (The duration of the query is shown on the bottom right-hand side of the Status bar). Note Note that a typical execution time on the VM would be approximately 3 minutes.

Exercise 3: Create and test an extraction package


Task 1: Create and test an extraction package
1. 2. 3. 4. 5. In SQL Server Management Studio, in Object Explorer, expand the Proseware server, expand Databases, right-click the MarketDev database, click Tasks, and click Export Data. In the SQL Server Import and Export Wizard window, click Next. In the Choose a Data Source window, click Next. In the Choose a Destination window, in the Destination drop down list, choose Flat File Destination. In the File name text box navigate to the following location: D:\MKTG\ProspectsToContact.csv. 6. 7. Check the Column names in the first data row checkbox and click Next. In the Specify Table Copy or Query window, click Write a query to specify the data to transfer, and click Next.

Lab Answer Key: Importing and Exporting Data

8.

In the Provide a Source Query window, type the code as shown in the snippet below, and click Parse:

SELECT ProspectID, FirstName, LastName, CellPhoneNumber, WorkPhoneNumber,EmailAddress, LatestContact FROM Marketing.Prospect WHERE LatestContact < DATEADD(MONTH,-1,SYSDATETIME()) OR LatestContact IS NULL ORDER BY ProspectID;

9.

In the SQL Server Import or Export Wizard window, make sure that the parsing succeeded and click OK.

10. In the Provide a Source Query window, click Next. 11. In the Configure Flat File Destination window, click Next. 12. In the Save and Run Package window, make sure that Run immediately and Save SSIS Package checkboxes are checked, and that SQL Server option button is selected, and click Next. 13. In the Save SSIS Package window, type Weekly Extract of Prospects to Contact in both the Name and Description textboxes, and click Next. 14. In the Complete the Wizard window, click Finish. Note One warning about potential data truncation and one error if the table does not already exist may occur. This is normal. 15. In the Execution is completed window, click Close. 16. In Object Explorer, right-click the MarketDev database and click New Query. 17. Type the code as shown in the snippet below:
SELECT * FROM DirectMarketing.Currency;

18. On the Toolbar, click Execute. Note 105 currencies should be returned.

Challenge Exercise 4: Compare loading performance (Only if time permits)


Task 1: Re-execute load with indexes disabled
1. 2. 3. 4. In Solution Explorer, right-click the file 81 Lab Exercise 4.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Wait for the query to complete and record the duration of the query. (The duration of the query is shown on the bottom right-hand side of the Status bar).

Lab Answer Key: Importing and Exporting Data

Note

Note that a typical execution time on the VM would be approximately 1.2 minutes.

Module 9
Lab Answer Key: Authenticating and Authorizing Users
Contents:
Exercise 1: Create Logins Exercise 2: Correct an Application Login Issue Exercise 3: Create Database Users Challenge Exercise 4: Correct Access to Restored Database (Only if time permits) 2 2 2 3

Lab Answer Key: Authenticating and Authorizing Users

Lab: Authenticating and Authorizing Users


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_09_PRJ\6231B_09_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Create Logins


Task 1: Review the requirements
1. Review the supplied security requirements in the supporting documentation. Determine the required Windows logins, Windows group logins and SQL logins.

Task 2: Create the required logins


1. 2. 3. In Solution Explorer, right-click the file 51 Lab Exercise 1.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 2: Correct an Application Login Issue


Task 1: Correct an Application Login Issue
1. 2. 3. In Solution Explorer, right-click the file 61 Lab Exercise 2.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 3: Create Database Users


Task 1: Review the requirements
Review the supplied security requirements in the supporting documentation. Determine the required Windows logins, Windows group logins and SQL logins.

Task 2: Create the required database users


1. 2. In Solution Explorer, right-click the file 71 Lab Exercise 3.sql and click Open. Review the T-SQL script.

Lab Answer Key: Authenticating and Authorizing Users

3.

On the Toolbar click Execute.

Challenge Exercise 4: Correct Access to Restored Database (Only if time permits)


Task 1: Correct Access to a Restored Database
1. 2. 3. In Solution Explorer, right-click the file 81 Lab Exercise 4.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Module 10
Lab Answer Key: Assigning Server and Database Roles
Contents:
Exercise 1: Assign Server Roles Exercise 2: Assign Fixed Database Roles Exercise 3: Create and Assign User-defined Database Roles Challenge Exercise 4: Check Role Assignments (Only if time permits) 2 2 2 3

Lab Answer Key: Assigning Server and Database Roles

Lab: Assigning Server and Database Roles


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_10_PRJ\6231B_10_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Assign Server Roles


Task 1: Review the requirements
1. Review the supplied security requirements in the supporting documentation.

Task 2: Assign any required server roles


1. 2. 3. In Solution Explorer, right-click the file 51 Lab Exercise 1.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 2: Assign Fixed Database Roles


Task 1: Review the requirements
1. Review the supplied security requirements in the supporting documentation.

Task 2: Assign any required fixed database roles


1. 2. 3. In Solution Explorer, right-click the file 61 Lab Exercise 2.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 3: Create and Assign User-defined Database Roles


Task 1: Review the requirements
1. Review the supplied security requirements in the supporting documentation.

Task 2: Create and assign any required user-defined database roles


1. In Solution Explorer, right-click the file 71 Lab Exercise 3.sql and click Open.

Lab Answer Key: Assigning Server and Database Roles

2. 3.

Review the T-SQL script. On the Toolbar click Execute.

Challenge Exercise 4: Check Role Assignments (Only if time permits)


Task 1: Check the role assignments for Darren Parker
1. 2. 3. In Solution Explorer, right-click the file 81 Lab Exercise 4.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Module 11
Lab Answer Key: Authorizing Users to Access Resources
Contents:
Exercise 1: Assign Schema-level Permissions Exercise 2: Assign Object-level Permissions Challenge Exercise 3: Test Permissions (Only if time permits) 2
2

Lab Answer Key: Authorizing Users to Access Resources

Lab: Authorizing Users to Access Resources


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_11_PRJ\6231B_11_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Assign Schema-level Permissions


Task 1: Review the security requirements that have been updated from the previous
module
1. 2. Review the supplied security requirements in the supporting documentation. Determine the permissions that should be assigned at the schema level. (Note: that a sample solution is shown in Task 2).

Task 2: Assign the required permissions


1. 2. 3. In Solution Explorer, right-click the file 51 Lab Exercise 1.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 2: Assign Object-level Permissions


Task 1: Review the security requirements
1. 2. Review the supplied security requirements in the supporting documentation. Determine the permissions that should be assigned at the object level. (Note: that a sample solution is shown in Task 2).

Task 2: Assign the required permissions


1. 2. 3. In Solution Explorer, right-click the file 61 Lab Exercise 2.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Lab Answer Key: Authorizing Users to Access Resources

Challenge Exercise 3: Test Permissions (Only if time permits)


Task 1: Design and execute a test
1. 2. 3. 4. 5. 6. In Solution Explorer, right-click the file 71 Lab Exercise 3a.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. In Solution Explorer, right-click the file 72 Lab Exercise 3b.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Note An error is returned as April.Reagan does not have permission to select the rows from the DirectMarketing.Competitor table.

Module 12
Lab Answer Key: Auditing SQL Server Environments
Contents:
Exercise 1: Determine audit configuration and create audit Exercise 2: Create server audit specifications Exercise 3: Create database audit specifications Challenge Exercise 4: Test audit functionality (Only if time permits) 2 3 3 5

Lab Answer Key: Auditing SQL Server Environments

Lab: Auditing SQL Server Environments


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_12_PRJ\6231B_12_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Determine audit configuration and create audit


Task 1: Review the requirements
1. Review the supplied requirements in the supporting documentation for the exercise, noting requirements that relate to server audits.

Task 2: Create the server audit


1. 2. 3. 4. 5. 6. 7. 8. 9. Determine the configuration of the required server audit. Using Windows Explorer create a folder C:\Audit. Using Windows Explorer create a folder C:\Audit\AuditLog. In Object Explorer, expand the Proseware server, and expand Security. Right-click Audits and click New Audit. In the Create Audit window, type Proseware Compliance Audit in the Audit name textbox. In the Queue delay (in milliseconds) textbox type 2000. Check the Shut down server on audit log failure checkbox. In the File path textbox, type C:\Audit\AuditLog.

10. Uncheck the Unlimited checkbox for Maximum file size. 11. In the Maximum file size drop down list type 1. 12. Click GB option button for Maximum file size and click OK. 13. In Object Explorer, right-click Proseware Compliance Audit and click Enable Audit. 14. In the Enable Audit window, click Close.

Lab Answer Key: Auditing SQL Server Environments

Exercise 2: Create server audit specifications


Task 1: Review the requirements
1. Review the supplied requirements in the supporting documentation for the exercise, noting requirements that relate to server audit specifications.

Task 2: Create the server audit specifications


1. 2. 3. 4. 5. 6. 7. 8. 9. Determine the configuration of the required server audit specifications. In Object Explorer, right-click Server Audit Specifications, and click New Server Audit Specifications. In the Create Server Audit Specification window, type Proseware Compliance Server Audit Specification in the Name textbox. From the Audit drop down list, select Proseware Compliance Audit. In the Actions list, in row 1, click the Audit Action Type drop down, and click FAILED_LOGIN_GROUP. In the Actions list, in row 2, click the Audit Action Type drop down, and click SERVER_PRINCIPAL_CHANGE_GROUP. In the Actions list, in row 3, click the Audit Action Type drop down, and click SERVER_ROLE_MEMBER_CHANGE_GROUP. In the Actions list, in row 4, click the Audit Action Type drop down, and click LOGIN_CHANGE_PASSWORD_GROUP, and click OK. In Object Explorer, right-click Proseware Compliance Server Audit Specification, and click Enable Server Audit Specification.

10. In the Enable Server Audit Specification, click Close.

Exercise 3: Create database audit specifications


Task 1: Review the requirements
1. Review the supplied requirements in the supporting documentation for the exercise, noting requirements that relate to database audit specifications.

Task 2: Create the database audit specifications


1. 2. 3. 4. 5. 6. Determine the configuration of the required database audit specifications. In Object Explorer, expand the Proseware server, expand Databases, expand the MarketDev database, expand Security, and expand Database Audit Specifications. Right-click Database Audit Specifications, and click New Database Audit Specifications. In the Create Database Audit Specification window, type Proseware Compliance MarketDev Audit Specification in the Name textbox. From the Audit drop down list, select Proseware Compliance Audit. In the Actions list, in row 1, click the Audit Action Type drop down, and click BACKUP_RESTORE_GROUP.

Lab Answer Key: Auditing SQL Server Environments

7. 8. 9.

In the Actions list, in row 2, click the Audit Action Type drop down, and click DATABASE_OWNERSHIP_CHANGE_GROUP. In the Actions list, in row 3, click the Audit Action Type drop down, and click DATABASE_PERMISSION_CHANGE_GROUP. In the Actions list, in row 4, click the Audit Action Type drop down, and click DATABASE_PRINCIPAL_CHANGE_GROUP.

10. In the Actions list, in row 5, click the Audit Action Type drop down, and click DATABASE_ROLE_MEMBER_CHANGE_GROUP. 11. In the Actions list, in row 6, click the Audit Action Type drop down, and click EXECUTE. 12. In row 6, click the Object Class drop down list and click OBJECT. 13. In row 6, click the ellipsis in the Object Name column. 14. In the Select Objects window, click Browse. 15. In the Matching Objects pane, check the box beside [Marketing].[MoveCampaignBalance], and click OK. 16. In the Select Objects window, click OK. 17. In row 6, click the ellipsis in the Principal Name column. 18. In the Select Objects window, click Browse. 19. In the Matching Objects pane, check the box beside [public], and click OK. 20. In the Select Objects window, click OK. 21. In the Actions list, in row 7, click the Audit Action Type drop down, and click UPDATE. 22. In row 7, click the Object Class drop down list and click OBJECT. 23. In row 7, click the ellipsis in the Object Name column. 24. In the Select Objects window, click Browse. 25. In the Matching Objects pane, check the box beside [Marketing].[CampaignBalance], and click OK. 26. In the Select Objects window, click OK. 27. In row 7, click the ellipsis in the Principal Name column. 28. In the Select Objects window, click Browse. 29. In the Matching Objects pane, check the box beside [public], and click OK. 30. In the Select Objects window, click OK. 31. In the Create Database Audit Specification window, click OK. 32. In Object Explorer, right-click Proseware Compliance MarketDev Audit Specification and click Enable Database Audit Specification. 33. In the Enable Database Audit Specification, click Close.

Lab Answer Key: Auditing SQL Server Environments

Challenge Exercise 4: Test audit functionality (Only if time permits)


Task 1: Execute the workload script
1. 2. 3. In Solution Explorer, right-click the file 81 Lab Exercise 4a.sql and click Open. Review the T-SQL script. Note any actions that you would expect to be audited. In Task 2 you will see the actual list of audited actions. On the Toolbar click Execute.

Task 2: Review the captured audit details


1. 2. 3. 4. 5. 6. 7. 8. In Object Explorer, expand the Proseware server, expand Security, expand Audits. Right-click the Proseware Compliance Audit, and click View Audit Logs. In the Log File Viewer proseware window, review the captured events and compare them to your list of expected events from Task 1. Note make sure you scroll to the list of events to the right to see all available columns. In the Log File Viewer proseware window click Close. In Solution Explorer, right-click the file 82 Lab Exercise 4b.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. A list of audited events will be returned.

Module 13
Lab Answer Key: Automating SQL Server 2008 R2 Management
Contents:
Exercise 1: Create a Data Extraction Job Exercise 2: Schedule the Data Extraction Job Challenge Exercise 3: Troubleshoot a Failing Job (Only if time permits) 2 3 3

Lab Answer Key: Automating SQL Server 2008 R2 Management

Lab: Automating SQL Server Management


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_13_PRJ\6231B_13_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Create a Data Extraction Job


Task 1: Create the required job
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand SQL Server Agent, right-click Jobs and click New Job. In New Job window, in the Name textbox type Extract Uncontacted Prospects. In the Select a page pane, click Steps, and then click New. In the Step name textbox, type Execute Prospect Extraction Package. From the Type drop down list, select SQL Server Integration Services Package. In the General tab, in the Server textbox type Proseware, and click the ellipsis beside the Package textbox. In the Select an SSIS Package window, click Weekly Extract of Prospects to Contact and click OK. In the New Job Step window, click OK. In the New Job window, click OK.

Task 2: Test that the job executes without error


1. 2. 3. 4. In Object Explorer, expand the Proseware server, expand SQL Server Agent, and expand Jobs. Right-click Jobs and click Refresh. Right-click Extract Uncontacted Prospects, and click Start Job at Step. In the Start Jobs - Proseware window, make sure that the job succeeds and click Close.

Lab Answer Key: Automating SQL Server 2008 R2 Management

Exercise 2: Schedule the Data Extraction Job


Task 1: Schedule the data extraction job
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand SQL Server Agent, and expand Jobs. Right-click Jobs and click Refresh. Right-click Extract Uncontacted Prospects, and click Properties. On the Select a page pane, click Schedules, and then click New. In the New Job Schedule window, in the Name textbox type Each Monday Morning at 8:30AM. Check the Monday checkbox, uncheck the Sunday checkbox. In the Occurs once at textbox, change the time to 8:30:00AM and hit the Tab key. Note the contents of the Description textbox and click OK. In the Job Properties Extract Uncontacted Prospects window, click New. In the New Job Schedule window, in the Name textbox type Each Tuesday Evening at 6:30PM.

10. Check the Tuesday checkbox, uncheck the Sunday checkbox. 11. In the Occurs once at textbox, change the time to 6:30:00PM and hit the Tab key. Note the contents of the Description textbox and click OK. 12. In the Job Properties Extract Uncontacted Prospects window, click OK.

Challenge Exercise 3: Troubleshoot a Failing Job (Only if time permits)


Task 1: Troubleshoot the failing job
1. 2. 3. 4. 5. In Object Explorer, expand the Proseware server, expand SQL Server Agent, and expand Jobs. Right-click Jobs and click Refresh. Right-click Extract Long Page Loads, and click View History. In the Log File Viewer Proseware window, click the plus sign in a row that has a failing execution to expand the job steps. Note that step ID 2 has failed. Click on the row for step ID 2, and scroll through the Selected row details pane to find the error. Note that the error is caused by a reference to an invalid object name Marketing.RecentLongPageLoads. Click Close to close the Log File Viewer Proseware window. Right-click Extract Long Page Loads, and click Properties. In the Select a page pane, click Steps. In the Job step list, click the row for Step 2 and click Edit.

6. 7. 8. 9.

10. Review the command that is being executed and note that Marketing.RecentLongPageLoads appears to be a table or view that the web log rows are being inserted into. 11. In Object Explorer, expand Databases, expand MarketDev, and expand Tables. Note that the name of the table should be Marketing.RecentLongPageLoad.

Lab Answer Key: Automating SQL Server 2008 R2 Management

12. In the Job Step Properties Copy Recent Long Page Loads window change the name of the table in the Command textbox from Marketing.RecentLongPageLoads to Marketing.RecentLongPageLoad and click OK. 13. In the Job Properties Extract Long Page Loads window, click OK. 14. In Object Explorer, right-click the Extract Long Page Loads job and click Start Job at Step. 15. In the Start Job on Proseware window, click Start. 16. In the Start Job on Proseware window, make sure the job executed successfully and click Close. 17. In Object Explorer, right-click Extract Long Page Loads, and click Properties. 18. In the Select a page pane, click Schedules and note the difference between the name of the schedule and the description of the schedule, then click Edit. 19. From the Occurs drop down list box, click Weekly. 20. Check the Monday checkbox and review the remaining settings, then click OK. 21. In the Schedule list, note that the schedule name now relates to the schedule description. 22. In the Job Properties Extract Long Page Loads window, click OK.

Module 14
Lab Answer Key: Configuring Security for SQL Server Agent
Contents:
Exercise 1: Troubleshoot job execution failure Exercise 2: Resolve the security issue Challenge Exercise 3: Perform further troubleshooting (Only if time permits) 2 2 3

Lab Answer Key: Configuring Security for SQL Server Agent

Lab: Configuring Security for SQL Server Agent


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_14_PRJ\6231B_14_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Troubleshoot job execution failure


Task 1: Troubleshoot job execution failure
1. 2. 3. 4. Review the previous actions taken by Terry Adams as detailed in the supporting documentation for the exercise. In Object Explorer, expand the Proseware server, expand SQL Server Agent, expand Jobs, rightclick Extract Uncontacted Prospects and click View History. In the Log File Viewer Proseware window, click the plus sign in a failing row to expand the job steps. Click the row for Step ID 1. In the Selected row details pane, scroll the pane until you locate the error. Note the error indicates that Non-SysAdmins have been denied permission to run DTS Execution job steps without a proxy account. The step failed. 5. You have determined that a proxy account is needed for the job step. Close the Log File Viewer Proseware window.

Exercise 2: Resolve the security issue


Task 1: Create and assign proxy account
1. 2. 3. In Object Explorer, expand the Proseware server, expand Security, and expand Credentials. Right-click Credentials and click New Credential. In the New Credential window, in the Credential name text box type ExtractIdentity.

Lab Answer Key: Configuring Security for SQL Server Agent

4. 5. 6. 7. 8. 9.

In the Identity textbox type 623XB-MIA-SQL\ExtractUser. In the Password and Confirm password textboxes, type Pa$$w0rd, and click OK. In Object Explorer, expand SQL Server Agent, right-click Proxies, and click New Proxy. In the New Proxy Account window, in the Proxy name textbox type ExtractionProxy. In the Credential name textbox type ExtractIdentity. In the Active to the following subsystems list, check the box beside SQL Server Integration Services Package.

10. In the Select a page pane, click Principals, and click Add. 11. In the Available principals list, check the box beside PromoteApp login, and click OK. 12. In the New Proxy Account window, click OK. 13. In Object Explorer, expand Jobs, right-click Extract Uncontacted Prospects and click Properties. 14. In the Job Properties - Extract Uncontacted Prospects window, in the Select a page pane click Steps, then click Edit. 15. In the Run as drop down list, click ExtractionProxy, and click OK. 16. In the Job Properties - Extract Uncontacted Prospects window, click OK.

Task 2: Test to see if all problems have been resolved


1. 2. 3. 4. 5. In Object Explorer, right-click the Extract Uncontacted Prospects job, and click Start Job at Step. In the Start Jobs proseware window, note that the job still fails, and click Close. In Object Explorer, right-click the Extract Uncontacted Prospects job, and click View History. In the Log File Viewer proseware window, click the plus sign beside the top entry in the list to expand the job steps. Click in the row for Step ID 1, in the Selected row details pane, scroll down to find the error. Note 6. that a SQL Statement is now failing because of a login issue.

You have resolved the original problem. If you have time you should continue to Exercise 3 to resolve the remaining problem.

Challenge Exercise 3: Perform further troubleshooting (Only if time permits)


Task 1: Perform further troubleshooting
1. In the Log File Viewer proseware window, in the Select row details pane, read the detail of the error message, determine the cause of the error and close the window. Note The most important error is Login failed for user 623XB-MIA-SQL\ExtractUser. Even though a Windows credential is required for the SSIS job to access the file system to write the extracted file, the credential also needs to be able to connect to SQL Server to retrieve the data from the Marketing.Prospects table. You need to create a login for the Windows

Lab Answer Key: Configuring Security for SQL Server Agent

user, create a database user for the login and then assign SELECT permission on the Marketing.Prospects table to the credential. 2. 3. 4. 5. 6. In Solution Explorer, right-click the file 71 Lab Exercise 3.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. In Object Explorer, right-click the Extract Uncontacted Prospects job, and click Start Job at Step. In the Start Jobs proseware window, note that the job now completes succcessfully, and click Close.

Module 15
Lab Answer Key: Monitoring SQL Server 2008 R2 with Alerts and Notifications
Contents:
Exercise 1: Configure Database Mail Exercise 2: Implement Notifications Challenge Exercise 3: Implement Alerts (Only if time permits) 2 3 5

Lab Answer Key: Monitoring SQL Server 2008 R2 with Alerts and Notifications

Lab: Monitoring SQL Server 2008 R2 with Alerts and Notifications


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_15_PRJ\6231B_15_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Configure Database Mail


Task 1: Configure database mail
1. 2. 3. 4. 5. 6. 7. 8. 9. Review the database mail configuration parameters in the supporting documentation for the exercise. In Object Explorer, expand the Proseware server, expand Management, right-click Database Mail, and click Configure Database Mail. In the Welcome to Database Mail Configuration Wizard window, click Next. In the Select Configuration Task window, click Next. In the Microsoft SQL Server Management Studio window, click Yes. In the New Profile window, in the Profile name textbox type Proseware SQL Server Agent Profile, and click Add. In New Database Mail Account window, in the Account name textbox, type Proseware Administrator. In the E-mail address textbox, type prosewaresqladmin@adventureworks.com. In the Display name textbox, type Proseware SQL Server Administrator.

10. In the Reply e-mail textbox, type prosewaresqladmin@adventureworks.com. 11. In the Server name textbox type mailserver.adventureworks.com, and click OK. 12. In the New Profile window, click Add. 13. In New Database Mail Account window, in the Account name textbox, type AdventureWorks Administrator. 14. In the E-mail address textbox, type adventureworkssqladmin@adventureworks.com.

Lab Answer Key: Monitoring SQL Server 2008 R2 with Alerts and Notifications

15. In the Display name textbox, type AdventureWorks SQL Server Administrator. 16. In the Reply e-mail textbox, type adventureworkssqladmin@adventureworks.com. 17. In the Server name textbox type mailserver.adventureworks.com, and click OK. 18. In the New Profile window, click Next. 19. In the Manage Profile Security window, check the box in the Public column and change the value in the Default Profile column to Yes. 20. Click on the Private Profiles tab, and from the User name drop down list, select ADVENTUREWORKS\PWService. 21. Check the box in the Access column, and change the value in the Default Profile column to Yes, then click Next. 22. In the Configure System Parameters window, change the Maximum File Size (Bytes) to 4194304, and click Next. 23. In the Complete the Wizard window, click Finish. 24. In the Configuring window, click Close.

Task 2: Test that database mail operates


1. 2. 3. 4. 5. 6. In Object Explorer, right-click Database Mail and click Send Test E-Mail. In the Send Test E-Mail from 623XB-MIA-SQL\MKTG window, in the To textbox type prosewaresqladmin@adventureworks.com, and click Send Test E-Mail. In the Database Mail Test E-Mail window, note the description and click OK. In Solution Explorer, right-click the file 51 -- Lab Exercise 1.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Note An email with the subject Database Mail Test should be returned by the query.

Exercise 2: Implement Notifications


Task 1: Review the requirements
1. Review the supplied requirements in the supporting documentation for the exercise. In particular, note any required operators.

Task 2: Configure the required operators


1. 2. 3. 4. In Object Explorer, expand SQL Server Agent, right-click Operators and click New Operator. In the New Operator window, in the Name textbox, type IT Support Fail-safe Operator. In the Pager e-mail name type, itsupport.pager@adventureworks.com. In the Pager on duty schedule, check Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. Change the Workday begin time to 12:00:00 AM and Workday end to 11:59:59 PM for every row, and click OK. In Object Explorer, right-click Operators and click New Operator.

5.

Lab Answer Key: Monitoring SQL Server 2008 R2 with Alerts and Notifications

6. 7. 8.

In the New Operator window, in the Name textbox, type Jeff Hay. In the Pager e-mail name type, jeff.hay.pager@adventureworks.com. In the Pager on duty schedule, check Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. Change the Workday begin time to 12:00:00 AM and Workday end to 11:59:59 PM for every row, and click OK. In Object Explorer, right-click Operators and click New Operator.

9.

10. In the New Operator window, in the Name textbox, type Palle Petersen. 11. In the Pager e-mail name type, palle.petersen.pager@adventureworks.com. 12. In the Pager on duty schedule, check Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. Change the Workday begin time to 12:00:00 AM and Workday end to 11:59:59 PM for every row, and click OK.

Task 3: Configure SQL Server Agent Mail


1. 2. 3. 4. 5. 6. 7. 8. In Object Explorer, right-click SQL Server Agent, and click Properties. In the Select a page pane click Alert System. In the Mail session options, click Enable mail profile. In the Fail-safe operator options, check Enable fail-safe operator. In the Operator drop down list, select IT Support Fail-safe Operator. In the Notify using options, check Pager, and click OK. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, click click SQL Server Configuration Manager. In the List of Services, right-click SQL Server Agent (MKTG), and click Restart. Close the SQL Server Configuration Manager window.

Task 4: Configure and Test Notifications in SQL Server Agent Jobs


1. 2. 3. 4. 5. 6. 7. 8. 9. In SQL Server Management Studio, in Object Explorer, expand SQL Server Agent, expand Jobs, right-click Backup Log TestAlertDB and click Properties. In the Select a page pane, click Notifications. In the Actions to perform when the job completes option, check Page. In the Page drop down list, select Jeff Hay. In the Page actions drop down list, select When the job completes, and click OK. In Object Explorer, right-click Job that Fails and click Properties. In the Select a page pane, click Notifications. In the Actions to perform when the job completes option, check Page. In the Page drop down list, select Palle Petersen.

10. In the Page actions drop down list, select When the job fails, and click OK. 11. In Object Explorer, right-click Job that Succeeds and click Properties. 12. In the Select a page pane, click Notifications. 13. In the Actions to perform when the job completes option, check Page.

Lab Answer Key: Monitoring SQL Server 2008 R2 with Alerts and Notifications

14. In the Page drop down list, select Palle Petersen. 15. In the Page actions drop down list, select When the job fails, and click OK. 16. In Object Explorer, right-click Backup Log TestAlertDB and click Start Job at Step. 17. In the Start Jobs -- proseware window click Close. 18. In Object Explorer, right-click Job That Fails, and click Start Job at Step. 19. In the Start Jobs -- proseware window, note that the job failed and click Close. 20. In Object Explorer, right-click Job That Succeeds and click Start Job at Step. 21. In the Start Jobs -- proseware window click Close. 22. In Solution Explorer, right-click the file 51 -- Lab Exercise 1.sql and click Open. 23. Review the T-SQL script. 24. On the Toolbar click Execute. Note Two additional emails should now appear in the list, an email from the backup job sent to Jeff Hay and an email from the job that fails sent to Palle Petersen. No email should be sent for the job that succeeds.

Challenge Exercise 3: Implement Alerts (Only if time permits)


Task 1: Configure and Test Alerts
1. 2. 3. 4. 5. 6. 7. 8. 9. Review the supporting documentation for the alerting requirements. In Object Explorer, right-click Alerts and click New Alert. In the New Alert window, in the Name textbox, type Error Severity 17 Alert. In the Severity drop down list, click 017 -- Insufficient Resources. In the Select a page pane, click Response. Check Notify operators, check all checkboxes in the Pager column and click OK. In Object Explorer, right-click Alerts and click New Alert. In the New Alert window, in the Name textbox, type Error Severity 18 Alert. In the Severity drop down list, click 018 -- Nonfatal Internal Error. -

10. In the Select a page pane, click Response. 11. Check Notify operators, check all checkboxes in the Pager column and click OK. 12. In Object Explorer, right-click Alerts and click New Alert. 13. In the New Alert window, in the Name textbox, type Transaction Log Full Alert. 14. Click the Error number option, and in the Error number textbox type 9002. 15. In the Select a page pane, click Response. 16. Check Notify operators, check all checkboxes in the Pager column and click OK. 17. In Solution Explorer, right-click the file 71 -- Lab Exercise 3.sql and click Open. -

Lab Answer Key: Monitoring SQL Server 2008 R2 with Alerts and Notifications

18. Review the T-SQL script. 19. On the Toolbar click Execute. Note Executing this script will result in an error, indicating message 9002.

20. In Solution Explorer, right-click the file 51 -- Lab Exercise 1.sql and click Open. 21. Review the T-SQL script. 22. On the Toolbar click Execute. Note Additional emails should be listed related to the SQL Server alert system.

Module 16
Lab Answer Key: Performing Ongoing Database Maintenance
Contents:
Exercise 1: Check database integrity using DBCC CHECKDB Exercise 2: Correct index fragmentation Exercise 3: Create a database maintenance plan Challenge Exercise 4: Investigate table lock performance (Only if time permits) 2 2 3 4

Lab Answer Key: Performing Ongoing Database Maintenance

Lab: Performing Ongoing Database Maintenance


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_16_PRJ\6231B_16_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Check database integrity using DBCC CHECKDB


Task 1: Check the consistency of the databases on the Proseware instance
1. 2. 3. In Solution Explorer, right-click the file 51 Lab Exercise 1a.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Note Errors will be returned from the CoreAdmin database.

Task 2: Correct any issues found


1. 2. 3. In Solution Explorer, right-click the file 52 Lab Exercise 1b.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 2: Correct index fragmentation


Task 1: Review the fragmentation of indexes in the MarketDev database to determine which indexes should be defragmented and which indexes should be rebuilt
1. 2. 3. In Solution Explorer, right-click the file 61 Lab Exercise 2a.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Lab Answer Key: Performing Ongoing Database Maintenance

Task 2: Defragment indexes as determined


1. 2. 3. In Solution Explorer, right-click the file 62 Lab Exercise 2b.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Task 3: Rebuild indexes as determined


1. 2. 3. In Solution Explorer, right-click the file 63 Lab Exercise 2c.sql and click Open. Review the T-SQL script. On the Toolbar click Execute.

Exercise 3: Create a database maintenance plan


Task 1: Create the required database maintenance plan
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand Proseware, expand Management, right-click Maintenance Plans, and click Maintenance Plan Wizard. In the Maintenance Plan Wizard window, click Next. In the Select Plan Properties window, in the Name textbox type Proseware Weekly Maintenance. Note the available scheduling options and click Change. In the Job Schedule Properties Proseware Weekly Maintenance window, in the Name textbox type 6PM Every Sunday. In the Occurs once at textbox, change the time to 6PM, and click OK. In the Select Plan Properties window, click Next. Review the available options and check Rebuild index and Check Database Integrity, and then click Next. In the Select Maintenance Task Order window, click Next. In the Define Database Check Integrity Task window, from the Databases drop down list, select All databases, and click OK then click Next.

10. In the Define Rebuild Index Task window, from the Databases drop down list, check the MarketDev database, and click OK. 11. In the Free space options, click Change free space per page percentage to. 12. In the Change free space per page percentage to textbox, type 10. 13. Check Keep index online while reindexing, and click Next. 14. In the Select Report Options window, in the folder location textbox, type L:\MKTG, and click Next. 15. In the Complete the Wizard window, click Finish. 16. In the Maintenance Plan Wizard Progress window, click Close.

Lab Answer Key: Performing Ongoing Database Maintenance

Challenge Exercise 4: Investigate table lock performance (Only if time permits)


Task 1: Execute DBCC CHECKDB using database snapshots
1. 2. 3. In Solution Explorer, right-click the file 81 Lab Exercise 4a.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Note the time taken to execute. A typical duration would be 19 seconds.

Task 2: Execute DBCC CHECKDB using table locks


1. 2. 3. In Solution Explorer, right-click the file 82 Lab Exercise 4b.sql and click Open. Review the T-SQL script. On the Toolbar click Execute. Note the time taken to execute. A typical duration would be 3 seconds.

Module 17
Lab Answer Key: Tracing Access to SQL Server 2008 R2
Contents:
Exercise 1: Capture a trace using SQL Server Profiler Exercise 2: Analyze a trace using Database Engine Tuning Advisor Challenge Exercise 3: Configure SQL Trace (Only if time permits) 2 3 3

Lab Answer Key: Tracing Access to SQL Server 2008 R2

Lab: Tracing Access to SQL Server


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_17_PRJ\6231B_17_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Capture a trace using SQL Server Profiler


Task 1: Create and start a suitable SQL Server Profiler trace
1. 2. 3. 4. 5. 6. 7. 8. 9. In Microsoft SQL Server Management Studio, on the Tools menu, click SQL Server Profiler. In the Connect to Server window, click Connect. In the Trace name type Proseware Trace. In the Use the template drop-down, select Tuning. Check the Save to file option. In the Save As window, navigate to the desktop, and click Save. Uncheck the Enable file rollover option. Change the Set maximum file size (MB) option to 500. Click the Events Selection tab. Note the selected events.

10. Click on the Database Name column heading to create a filter. 11. Expand the Like node and enter MarketDev and click OK. 12. In the Trace Properties window, click Run. 13. From the Window menu, uncheck Auto scroll.

Task 2: Execute the workload


1. 2. 3. In Solution Explorer, right-click the file 51 Lab Exercise 1.sql and click Open. Review the T-SQL script. From the Query menu, select Query Options.

Lab Answer Key: Tracing Access to SQL Server 2008 R2

4. 5. 6. 7.

In the Query Options window, click Grid. In the Grid options, check Discard results after execution. Click OK to close the Query Options window. On the Toolbar click Execute. Wait for the query to complete. Note The query is complete when Query executed successfully appears below the Messages tab. No output messages will be seen.

Task 3: Stop the trace


1. In SQL Server Profiler, on the Toolbar, click the Stop Selected Trace icon, and close SQL Server Profiler.

Exercise 2: Analyze a trace using Database Engine Tuning Advisor


Task 1: Analyze the captured trace in Database Engine Tuning Advisor
1. 2. 3. 4. 5. 6. 7. 8. In Microsoft SQL Server Management Studio, from the Tools menu, click Database Engine Tuning Advisor. In the Connect to Server window, click Connect. Maximize the Database Engine Tuning Advisor window. In the Workload group box, ensure that File is selected, and click the Browse for a Workload File button. Browse to the Desktop folder, select the Proseware Trace.trc file and click Open. In the Database for workload analysis dropdown, select MarketDev. In the Select databases and tables to tune list, check the MarketDev database. From the Toolbar, click the Start Analysis button to start the tuning analysis.

Task 2: Review the suggested modifications


1. Observe the tuning progress and when the analysis is complete, note the recommendations. The exact recommendations will vary but it is likely you will see both index and statistics recommendations. Scroll the recommendations output to the right and note the hyperlinks to sample code. Click each of the recommendations in turn and note the suggested index or statistics structures. Close Database Engine Tuning Advisor.

2. 3. 4.

Challenge Exercise 3: Configure SQL Trace (Only if time permits)


Task 1: Create a script that uses SQL Trace procedures to implement the same type of capture as you performed in Exercise 1 but with a different trace name
1. 2. In Microsoft SQL Server Management Studio, from the Tools menu, click SQL Server Profiler. In the Connect to Server window, click Connect.

Lab Answer Key: Tracing Access to SQL Server 2008 R2

3. 4. 5. 6. 7. 8. 9.

In the Trace name type ProsewareTrace2. In the Use the template drop-down, select Tuning. Check the Save to file option. In the Save As window, navigate to the desktop, and click Save. Uncheck the Enable file rollover option. Change the Set maximum file size (MB) option to 500. Click the Events Selection tab. Note the selected events.

10. Click on the Database Name column heading to create a filter. 11. Expand the Like node and enter MarketDev and click OK. 12. In the Trace Properties window, click Run. 13. From the Toolbar, click the Stop Selected Trace icon. 14. From the File menu, click Export, click Script Trace Definition, click For SQL Server 2005 2008 R2. 15. Navigate to the Desktop and in the File name text box, type ProsewareTrace2 and click Save. 16. In the SQL Server Profiler window, click OK. 17. Close SQL Server Profiler.

Task 2: Test that the script works as expected by using the same workload
1. 2. 3. 4. In Solution Explorer, from the File menu, click Open, click File. In the Open File window, navigate to the Desktop, click Proseware Trace2.sql and click Open. In the first row that begins with an exec command, change the string InsertFileNameHere to D:\MKTG\ProsewareTrace2. On the Toolbar click Execute to start the trace. Note 5. 6. 7. 8. 9. Record the Trace ID value that is returned.

In Solution Explorer, right-click the file 51 Lab Exercise 1.sql and click Open. Review the T-SQL script. From the Query menu, select Query Options. In the Query Options window, click Grid. In the Grid options, check Discard results after execution. Click OK to close the Query Options window.

10. On the Toolbar click Execute. 11. Wait for the query to complete. Note The query is complete when Query executed successfully appears below the

Lab Answer Key: Tracing Access to SQL Server 2008 R2

Messages tab. No output messages will be seen. 12. In Solution Explorer, right-click the file 71 Lab Exercise 3.sql and click Open. 13. Review the T-SQL script and replace the value of the @TraceID variable with the value you recorded earlier in this task. 14. On the Toolbar click Execute.

Task 3: Analyze the new captured output and note if the suggested changes are identical to those suggested in Exercise 2
1. 2. 3. 4. 5. 6. 7. 8. 9. In Microsoft SQL Server Management Studio, from the Tools menu, click Database Engine Tuning Advisor. In the Connect to Server window, click Connect. Maximize the Database Engine Tuning Advisor window. In the Workload group box, ensure that File is selected, and click the Browse for a Workload File button. Browse to the D:\MKTG folder, select the ProsewareTrace2.trc file and click Open. In the Database for workload analysis dropdown, select MarketDev. In the Select databases and tables to tune list, check the MarketDev database. From the Toolbar, click the Start Analysis button to start the tuning analysis. When the analysis is complete, compare the results to the results you saw earlier in Exercise 2. Note The results should be identical.

Module 18
Lab Answer Key: Monitoring SQL Server 2008 R2
Contents:
Exercise 1: Investigating DMVs Exercise 2: Configure Management Data Warehouse Exercise 3: Configure Instances for Data Collection Challenge Exercise 4: Work with Data Collector Reports (Only if time permits) 2 2 3 4

Lab Answer Key: Monitoring SQL Server 2008 R2

Lab: Monitoring SQL Server 2008 R2


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_18_PRJ\6231B_18_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Investigating DMVs


Task 1: Investigate the use of Dynamic Management Views and Functions.
1. 2. In Solution Explorer, right-click the file 51 Lab Exercise 1.sql and click Open. Follow the instructions in the T-SQL script.

Exercise 2: Configure Management Data Warehouse


Task 1: Create a management data warehouse for central collection of performance data.
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand Management, right-click Data Collection, and click Configure Management Data Warehouse. In the Configure Management Data Warehouse window, click Next. In the Select Configuration task window, click Next. In the Configure Management Data Warehouse Storage window, in the Server name textbox ensure Proseware has been entered, and click New. In the New Database window, in the Database name textbox type MDW, and click OK. In the Management Data Warehouse Storage window, click Next. In the Map Logins and Users window, review the options and click Next. In the Complete the Wizard window, click Finish. In the Configure Data Collection Wizard Progress window, click Close.

Lab Answer Key: Monitoring SQL Server 2008 R2

Exercise 3: Configure Instances for Data Collection


Task 1: Configure data collection on each instance.
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand Management, right-click Data Collection, and click Configure Management Data Warehouse. In the Configure Management Data Warehouse window, click Next. In the Select Configuration task window, click Set up data collection, and click Next. In the Configure Management Data Warehouse Storage window, click the ellipsis button beside the Server name textbox. In the Connect to Server window, in the Server name textbox, type Proseware, and click Connect. In the Database name drop down list, select MDW, and click Next. In the Complete the Wizard window, click Finish. In the Configure Data Collection Wizard Progress window, click Close. In Object Explorer, click Connect, then click Database Engine. In the Connect to Server window, in the Server name textbox type AdventureWorks, and click Connect.

10. In Object Explorer, expand the AdventureWorks server, expand Management, right-click Data Collection, and click Configure Management Data Warehouse. 11. In the Configure Management Data Warehouse window, click Next. 12. In the Select Configuration task window, click Set up data collection, and click Next. 13. In the Configure Management Data Warehouse Storage window, click the ellipsis button beside the Server name textbox. 14. In the Connect to Server window, in the Server name textbox, type Proseware, and click Connect. 15. In the Database name drop down list, select MDW, and click Next. 16. In the Complete the Wizard window, click Finish. 17. In the Configure Data Collection Wizard Progress window, click Close.

Task 2: Configure data collection security for the AdventureWorks instance.


1. 2. 3. 4. 5. In Object Explorer, expand the Proseware server, expand Security, and expand Logins. Right-click Logins and click New Login. In the Login New window, in the Login name textbox type ADVENTUREWORKS\SQLService. In the Select a page pane, click User Mapping. In the Users mapped to this login list, check the box in the Map column for the MDW database. In the Database role membership for MDW, check the mdw-writer role, and click OK.

Lab Answer Key: Monitoring SQL Server 2008 R2

Challenge Exercise 4: Work with Data Collector Reports (Only if time permits)
Task 1: Disable data collectors on both instances
1. 2. In Object Explorer, expand the Proseware server, expand Management, right-click Data Collection, and click Disable Data Collection. If a confirmation window appears, click Close. In Object Explorer, expand the AdventureWorks server, expand Management, right-click Data Collection, and click Disable Data Collection. If a confirmation window appears, click Close.

Task 2: Restore a backup of the MDW database


1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, right-click Databases, and click Restore Database. In the Restore Database window, in the Destination for restore options, from the To database dropdown list, select MDW. In the Source for restore options, select From device then click on the ellipsis button to the right hand side of the From device textbox. In the Specify Backup window, click Add. Navigate to the file D:\6231B_Labs\6231B_18_PRJ\6231B_18_PRJ\MDW.bak and click OK. In the Specify Backup window, click OK. In the Select the backup sets to restore list, check the box in the Restore column. In the Select a page pane, click Options. In the Restore options, check Overwrite the existing database (WITH REPLACE), and click OK.

10. In the Microsoft SQL Server Management Studio window, click OK.

Task 3: Review the available reports


1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand Proseware server, expand Databases. Right-click the MDW database, click Reports, click Management Data Warehouse, and click Management Data Warehouse overview. Review the Disk Usage Report for 623XB-MIA-SQL\MKTG. Close the report window. Right-click the MDW database, click Reports, click Management Data Warehouse, and click Management Data Warehouse overview. Review the Server Activity Report for 623XB-MIA-SQL\MKTG. Close the report window. Right-click the MDW database, click Reports, click Management Data Warehouse, and click Management Data Warehouse overview. Review the Query Statistics Report for 623XB-MIA-SQL\MKTG. Close the report window.

Module 19
Lab Answer Key: Managing Multiple Servers
Contents:
Exercise 1: Configure CMS and execute multi-server queries Exercise 2: Deploy a data-tier application Exercise 3: Register and extract a data-tier application Challenge Exercise 4: Upgrade a data-tier application (Only if time permits) 2 3 3 4

Lab Answer Key: Managing Multiple Servers

Lab: Managing Multiple Servers


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercise 1: Configure CMS and execute multi-server queries


Task 1: Create a central management server
1. 2. 3. 4. From the View menu in SQL Server Management Studio, click Registered Servers. In Registered Servers, expand Database Engine. Right-click Central Management Servers, and click Register Central Management Server. In the New Server Registration window, in the Server name textbox, type Proseware and click Save.

Task 2: Create a server group within the CMS


1. 2. 3. 4. 5. 6. 7. In SQL Server Management Studio, in Registered Servers, expand Central Management Servers. Right-click Proseware and click New Server Group. In the New Server Group Properties window, in the Group name textbox, type Core Servers and click OK. In Registered Servers, right-click Core Servers and click New Server Registration. In the New Server Registration window, in the Server name textbox, type Proseware and click Save. In Registered Servers, right-click Core Servers and click New Server Registration. In the New Server Registration window, in the Server name textbox, type AdventureWorks and click Save.

Task 3: Execute a command to find all databases on any core server in full recovery model
1. In Registered Servers, right-click Core Servers and click New Query.

Lab Answer Key: Managing Multiple Servers

2.

Type the following code into the new query window:

SELECT * FROM sys.databases WHERE recovery_model_desc = FULL;

3.

From the Toolbar, click Execute. Note A list of databases in full recovery model is returned.

Exercise 2: Deploy a data-tier application


Task 1: Deploy the data-tier application using SQL Server Management Studio
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand Management, right-click Data-tier Applications, and click Deploy Data-tier Application. In the Introduction window, click Next. In the Select Package window, enter or select the Path D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ\CityCode.dacpac, and click Next. In the Review Policy window, click Next. In the Update Configuration window, click Next. In the Summary window, click Next. In the Deploy DAC window, click Finish. In Solution Explorer, right-click the file 61 -- Lab Exercise 2.sql and click Open. Review the T-SQL script.

10. On the Toolbar click Execute.

Exercise 3: Register and extract a data-tier application


Task 1: Register the existing database as a data-tier application
1. 2. 3. 4. 5. In Object Explorer, expand the Proseware server, expand Databases, right-click the Research database, click Tasks, and click Register a Data-tier Application. In the Introduction window, click Next. In the Set Properties window, click Next. In the Validation and Summary window, click Next. In the Register DAC window, click Finish.

Task 2: Extract a dacpac from the database to send to the development team
1. 2. 3. 4. In Object Explorer, expand the Proseware server, expand Databases, right-click the Research database, click Tasks, and click Extract Data-tier Application. In the Introduction window, click Next. In the Set Properties window, in the Save to DAC package file textbox, type D:\MKTG\Research.dacpac, and click Next. In the Validation and Summary window, click Next.

Lab Answer Key: Managing Multiple Servers

5.

In the Build Package window, click Finish.

Challenge Exercise 4: Upgrade a data-tier application (Only if time permits)


Task 1: Attempt to deploy the v2 upgrade
1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand Management, expand Data-tier Applications, right-click CityCode, and click Upgrade Data-tier Application. In the Introduction window, click Next. In the Select Package window, enter or select the Path D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ\CityCode_v2.dacpac, and click Next. In the Review Policy window, click Next. In the Detect Change window, click Next. In the Summary window, click Next. In the Upgrade DAC window, notice the failure and click Finish. In Object Explorer, right-click Data-tier Applications, and click Refresh. In Object Explorer, right-click Databases, and click Refresh. Note All databases and data-tier applications have been left unchanged.

Task 2: Deploy the v3 upgrade


1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand Management, expand Data-tier Applications, right-click CityCode, and click Upgrade Data-tier Application. In the Introduction window, click Next. In the Select Package window, enter or select the Path D:\6231B_Labs\6231B_19_PRJ\6231B_19_PRJ\CityCode_v3.dacpac, and click Next. In the Review Policy window, click Next. In the Detect Change window, click Next. In the Summary window, click Next. In the Upgrade DAC window, click Finish. In Object Explorer, right-click Data-tier Applications, and click Refresh. In Object Explorer, right-click Databases, and click Refresh. Note The data-tier application is upgraded. The original database has been retained with a new name.

Module 20
Lab Answer Key: Troubleshooting Common SQL Server 2008 R2 Administrative Issues
Contents:
Exercises 1 - 5: Troubleshoot and resolve SQL Server administrative issues 2

Lab Answer Key: Troubleshooting Common SQL Server 2008 R2 Administrative Issues

Lab: Troubleshooting Common Issues


Lab Setup
For this lab, you will use the available virtual machine environment. Before you begin the lab, you must complete the following steps: 1. 2. 3. 4. 5. 6. 7. Revert the virtual machines as per the instructions in D:\6231B_Labs\Revert.txt. In the virtual machine, click Start, click All Programs, click Microsoft SQL Server 2008 R2, and click SQL Server Management Studio. In Connect to Server window, type Proseware in the Server name text box. In the Authentication drop-down list box, select Windows Authentication and click Connect. In the File menu, click Open, and click Project/Solution. In the Open Project window, open the project D:\6231B_Labs\6231B_20_PRJ\6231B_20_PRJ.ssmssln. In Solution Explorer, double-click the query 00-Setup.sql. When the query window opens, click Execute on the toolbar.

Exercises 1 5: Troubleshoot and resolve SQL Server administrative issues


Exercise 1 Issue 1 Task 1: Read the supporting documentation for the exercise
1. Read the supporting documentation for the exercise.

Task 2: Troubleshoot and resolve the issue


1. 2. 3. 4. 5. In Object Explorer, expand the Proseware server, expand Security, and expand Logins. Beside the PromoteApp user, note the icon with a red down arrow, the login is disabled. Right-click PromoteApp, and click Properties. In the Select a page pane, click Status, click Enabled, and click OK. In Object Explorer, right-click Logins, and click Refresh. Note that the login is now enabled.

Exercise 2 Issue 2 Task 1: Read the supporting documentation for the exercise
1. Read the supporting documentation for the exercise.

Task 2: Troubleshoot and resolve the issue


1. In Object Explorer, expand the Proseware server, expand Databases, and note the status of the AdminDB database. The database is in a restoring state, the junior DBA may have performed a taillog backup. In Object Explorer, right-click the AdminDB database, click Tasks, click Restore, and click Transaction Log. In the Restore Transaction Log AdminDB window, click From file or tape, and click OK.

2. 3.

Lab Answer Key: Troubleshooting Common SQL Server 2008 R2 Administrative Issues

4.

In the Microsoft SQL Server Management Studio window, click OK.

Exercise 3 Issue 2 Task 1: Read the supporting documentation for the exercise
1. Read the supporting documentation for the exercise.

Task 2: Troubleshoot and resolve the issue


1. 2. 3. 4. 5. 6. 7. 8. 9. In Object Explorer, expand the Proseware server, expand SQL Server Agent, and expand Jobs. Right-click the Get File List job, and click Start Job at Step. In the Start Jobs Proseware window, note the failure, and click Close. In Object Explorer, right-click the Get File List job, and click View History. In the Log File Viewer Proseware window, click on the plus sign in a failing row to expand the job steps. Click on the row for Step ID 1. In the Selected row details pane, scroll down to find the error (Logon failure: unknown user name or bad password). Note when using the proxy for David.Alexander. In the Log File Viewer Proseware window, click Close. In Object Explorer, expand Security, expand Credentials, right-click DavidAlexanderCredential, and click Properties.

10. In the Credential Properties DavidAlexanderCredential window, in the Password textbox, and the Confirm password textbox, type Pa$$w0rd, and click OK. 11. In Object Explorer, right-click the Get File List job, and click Start Job at Step. 12. In the Start Jobs Proseware window, note that the job now works, and click Close.

Exercise 4 Issue 2 Task 1: Read the supporting documentation for the exercise
1. Read the supporting documentation for the exercise.

Task 2: Troubleshoot and resolve the issue


1. 2. 3. 4. 5. In Object Explorer, expand the Proseware server, expand Databases, right-click AdminDB database, and click Properties. In the Select a page pane, click Options. Review the options related to statistics. Change the Auto Create Statistics to True. Change the Auto Update Statistics to True, and click OK. Note the following steps cause statistics to be updated immediately rather than waiting for autostats to correct the situation. 6. In Object Explorer, right-click AdminDB, and click New Query.

Lab Answer Key: Troubleshooting Common SQL Server 2008 R2 Administrative Issues

7.

In the Query window, type the following command:

EXEC sp_updatestats;

8.

On the Toolbar, click Execute.

Exercise 5 Issue 2 Task 1: Read the supporting documentation for the exercise
1. Read the supporting documentation for the exercise.

Task 2: Troubleshoot and resolve the issue


1. 2. 3. 4. In Object Explorer, expand the Proseware server, expand Databases, right-click CityDetails database, and click Properties. In the Select a page pane, click Options. Review the options related to statistics. Change the Auto Close option to False and click OK.

You might also like