Security, Troubleshooting, and Optimization for Microsoft SQL Server 2005 DataBase

Four days; Instructor-Led

 

Course 2787 - (2790 Below)

Introduction

This two-day instructor-led course enables database administrators who work with enterprise environments to design security for database systems using Microsoft SQL ServerT 2005. The course emphasizes that students should think about the whole environment, which includes business needs, regulatory requirements, network systems, and database considerations during design. Students will also learn how to monitor security and respond to threats.

Audience

This course is intended for current professional database administrators who have three or more years of on-the-job experience administering SQL Server database solutions in an enterprise environment.

Prerequisites

Before attending this course, students must:

Have basic knowledge of security protocols and how they work. For example, Windows NT LAN Manager (NTLM) or Kerberos.
Have basic knowledge of public key infrastructure (PKI) systems. For example, how public and private keys work, strengths and weaknesses, and what they are used for.
Have working knowledge of network architectures and technologies. For example, how a firewall works, how IPSec works in a networking context, and common vulnerability points.
Have working knowledge of Active Directory directory service. For example, security models, policies, group policy objects (GPOs), and organizational units (OUs).
Be able to design a database to third normal form (3NF) and know the tradeoffs when backing out of the fully normalized design (denormalization) and designing for performance and business requirements in addition to being familiar with design models, such as Star and Snowflake schemas.
Have strong monitoring and troubleshooting skills.
Have experience creating Microsoft Office Visio drawings or have equivalent knowledge.
Have strong knowledge of the operating system and platform. That is, how the operating system integrates with the database, what the platform or operating system can do, interaction between the operating system and the database.
Have basic knowledge of application architecture. That is, different methods of implementing security in an application, how applications can be designed in three layers, what applications can do, the interaction between applications and the database, and interactions between the database and the platform or operating system.
Have knowledge about network security tools. For example, sniffer and port scanning. Must understand how they should be used.
Be able to use patch management systems.
Have knowledge of common attack methods. For example, buffer overflow, and replay attacks.
Be familiar with SQL Server 2005 features, tools, and technologies.
Have a Microsoft Certified Technology Specialist: Microsoft SQL Server 2005 credential or equivalent experience.

In addition, it is recommended, but not required, that students have completed:

Course 2778: Writing Queries Using Microsoft SQL Server 2005 Transact-SQL.
Course 2779: Implementing a Microsoft SQL Server 2005 Database.
Course 2780: Maintaining a Microsoft SQL Server 2005 Database.

Next Step

To continue in your technology training, we recommend that you take the following course after successfully completing this Microsoft course:

Course Outline

Module 1: Introduction to Designing SQL Server Security

This module introduces the principles and methodology of designing SQL Server security. This module also explains the benefits of having a security policy in place and the process of creating a security policy. In addition, this module teaches you the importance of monitoring the security of SQL Server.

Lessons

Principles of Database Security
Methodology for Designing a SQL Server Security Policy
Monitoring SQL Server Security

After completing this module, students will be able to:

Explain the principles of SQL Server security.
Describe the methodology to design a SQL Server security policy.
Explain the importance of monitoring SQL Server security.

 

Module 2: Designing a SQL Server Systems Infrastructure Security Policy

This module provides the guidelines for implementing server-level security using authentication methods. This module also provides the knowledge required to develop a Microsoft Windows server-level security policy. To enable you to do this, this module provides the guidelines to create password policy and determine service accounts permissions. In addition, this module explains how to select an appropriate encryption method to develop a secure communication policy. This module also explains the monitoring standards for SQL Server.

Lessons

Integrating with Enterprise Authentication Systems
Developing Windows Server-Level Security Policies
Developing a Secure Communication Policy
Defining SQL Server Security Monitoring Standards

Lab 2A: Designing a SQL Server Systems Infrastructure Security Policy

Developing Microsoft Windows Server-Level Security Policies
Developing a Secure Communication Policy
Integrating SQL Server Security Within the Active Directory Environment
Integrating SQL Server Security With Firewall Configurations
Discussing Systems Infrastructure Security Integration

Lab 2B: Creating an Infrastructure Security Inventory

Auditing the SQL Server Logins
Auditing the Windows Local Password Policy
Auditing SQL Server Service Accounts
Monitoring Security at the Enterprise and Server Levels

After completing this module, students will be able to:

Integrate SQL Server security with enterprise-level authentication systems.
Develop Windows server-level security policies.
Develop a secure communication policy.
Define security monitoring standards for SQL Server at the enterprise and server level.

 

Module 3: Designing Security Policies for Instances and Databases

This module explains how to design SQL Server instance-level, database-level, and object-level security policies. This module teaches the security monitoring standards for instances and databases.

Lessons

Designing an Instance-Level Security Policy
Designing a Database-Level Security Policy
Designing an Object-Level Security Policy
Defining Security Monitoring Standards for Instances and Databases

Lab 3A: Designing Security Policies for Instances and Databases

Designing an Instance-Level Security Policy
Designing a Database-Level Security Policy
Designing an Object-Level Security Policy
Discussing Database Security Exceptions

Lab 3B: Validating Security Policies for Instances and Databases

Auditing Existing Server Logins
Auditing SQL Server Roles Membership
Analyzing Existing Object Permissions
Monitoring Security at the Instance and Database Level

After completing this module, students will be able to:

Design a SQL Server instance-level security policy.
Design a database-level security policy.
Design an object-level security policy.
Define security monitoring standards for instances and databases.

 

Module 4: Integrating Data Encryption into a Database Security Design

This module provides the guidelines and considerations for security data using encryption and certificates. This module also describes various data encryption policies. Finally, this module shows how to determine a key storage method.

Lessons

Securing Data by Using Encryption and Certificates
Designing Data Encryption Policies
Determining a Key Storage Method

 

Lab 4: Integrating Data Encryption into a Database Security Design

Selecting a Data Security Method
Designing a Data Encryption Security Policy
Selecting a Key Storage Method

After completing this module, students will be able to:

Secure data by using encryption and certificates.
Design data encryption policies.
Determine a key storage method.

 

Module 5: Designing a Security Exceptions Policy

This module provides guidelines for gathering business and regulatory requirements and comparing them with existing policy. This module also covers how to determine the exceptions and their impact on security.

Lessons

Analyzing Business and Regulatory Requirements
Determining the Exceptions and their Impact

Lab 5: Designing a Security Exceptions Policy

Identifying Variations from the Security Policy
Obtaining Approval of the Security Policy
Discussing the Results of Policy Approval Presentations

After completing this module, students will be able to:

Analyze business and regulatory requirements.
Determine the exceptions and their impact on security.

 

Module 6: Designing a Response Strategy for Threats and Attacks

This module provides guidelines to respond to virus and worm attacks, denial-of-service attacks, and injection attacks.

Lessons

Designing a Response Policy for Virus and Worm Attacks
Designing a Response Policy for Denial-of-Service Attacks
Designing a Response Policy for Internal and SQL Injection Attacks

Lab 6: Designing a Response Strategy for Threats and Attacks

Designing a Response Policy for Virus and Worm Attacks
Designing a Response Policy for Denial-of-Service Attacks
Designing a Response Policy for Internal Attacks
Validating a Security Policy

After completing this module, students will be able to:

Design a response policy for virus and worm attacks.
Design a response policy to handle the denial-of-service attacks.
Design a response policy to prevent internal and SQL injection attacks.

 

Introduction

Elements of this syllabus are subject to change.

The purpose of this two-day workshop is to teach database administrators working in enterprise environments how to determine and troubleshoot performance issues using Microsoft SQL Server 2005. The primary focus of this workshop is to teach the overall process of troubleshooting. It includes establishing monitoring standards and baselines, determining performance thresholds, and focusing the investigation on specific issues.

Audience

This course is intended for current professional database administrators who have three or more years of on-the-job experience administering SQL Server database solutions in an enterprise environment.

Prerequisites

Before attending this course, students must have:

Working knowledge of SQL Server 2005 architecture including indexing, SQL execution plans, and SQL Server basic configuration.
Basic monitoring and troubleshooting skills. For example, students should have used Sysmon and Perfmon on the job.
Working knowledge of the operating system and platform. Students should understand how the operating system integrates with the database, what the platform or operating system can do, and the interaction between the operating system and the database.
Basic understanding of server architecture such as CPU and memory utilization and disk input/output (I/O).
Basic knowledge of application architecture. Students should know how applications can be designed in three layers, what applications can do, the interaction between applications and the database, and the interaction between the database and the platform or operating system.
Understanding of Transact-SQL syntax and programming logic.
Basic knowledge of Microsoft Windows networking. Students should understand how Domain Name Service (DNS) operates and how servers communicate between domains.
Familiarity with SQL Server 2005 features, tools, and technologies.
Microsoft Certified Technology Specialist: Microsoft SQL Server 2005 credential or equivalent experience.

In addition, it is recommended, but not required, that students have completed:

Course 2778, Writing Queries Using Microsoft SQL Server 2005 Transact-SQL.
Course 2779, Implementing a Microsoft SQL Server 2005 Database.
Course 2780, Maintaining a Microsoft SQL Server 2005 Database.

Course Outline

Unit 1: Building a Monitoring Solution for SQL Server Performance Issues

This unit provides an opportunity for the student to build a monitoring solution that will help to identify SQL Server performance issues. Students will design a baseline performance monitoring solution.

Lessons

Narrowing Down a Performance Issue to an Environment Area
Guidelines for Monitoring Database Servers and Instances by Using Profiler and Sysmon
Guidelines for Auditing and Comparing Test Results

Lab: Building a Monitoring Solution for SQL Server Performance Issues

Determining Which Indicators to Monitor
Implementing a Monitoring Solution
Auditing Monitoring Results to Identify Problem Areas

After completing this unit, students will be able to:

Explain the methodology of narrowing down a performance issue to a particular database environment area.
Apply the guidelines for monitoring database servers and instances by using Profiler and Sysmon.
Apply the guidelines for auditing and comparing test results.
Determine which indicators to monitor.
Implement a monitoring solution.
Audit monitoring results to identify problem areas.

 

Unit 2: Troubleshooting Database and Database Server Performance Issues

This unit provides an opportunity for students to troubleshoot SQL Server performance issues. Students analyze the sample monitoring output to determine the issue. This unit includes information on a new feature in SQL Server 2005 which allows students to automatically sync a Sysmon log and Profiler trace. It also allows students to load and perform analysis against a Profiler trace using SQL Server queries. Finally, it allows students to run SQLdiag.exe as an additional troubleshooting tool.

Lessons

Narrowing Down a Performance Issue to a Database Object
How Profiler Can Help Narrow a Search to a Specific Issue
How the SQLdiag Tool Can Be Used to Analyze Outputs

Lab: Troubleshooting Database and Database Server Performance Issues

Analyzing Sysmon and Profiler Traces
Analyzing a Profiler Trace by Using SQL Server Queries
Determining Database Server Issues by Using SQLdiag.exe

After completing this unit, students will be able to:

Explain the methodology of narrowing down a performance issue to a particular database environment object.
Explain the use of SQLdiag tool to analyze outputs.
Explain the use of Profiler to narrow a troubleshooting search to a specific issue.
Analyze Sysmon and Profiler traces.
Analyze Profiler traces using SQL Server queries.
Determine performance issues by using SQLdiag.exe.

 

Unit 3: Optimizing the Query Performance Environment

This unit gives students an opportunity to determine the database-level reasons for poor query performance, like bad indexes and outdated index column statistics. Students are provided with samples from a Profiler trace or a listing of poorly performing queries and directed to investigate possible reasons.

Lessons

The Methodology of Optimizing a Query Environment
The Query Performance Troubleshooting Process

Lab: Optimizing the Query Performance Environment

Reviewing an Execution Plan for Clues to Poor Performance
Performing Index Analysis by Using the Database Tuning Advisor (DTA)

After completing this unit, students will be able to:

Explain the methodology of optimizing the query environment.
Describe the query performance troubleshooting process.
Explain how Database Tuning Advisor can be used to troubleshoot the query environment.
Review an execution plan for clues to poor performance.
Perform index analysis by using DTA.

 

Unit 4: Troubleshooting SQL Server Connectivity Issues

This unit explains the troubleshooting of common SQL Server problems. Examples include DNS issues, network authentication issues, and SQL Server 2005 endpoint issues.

Lessons

The Methodology of Troubleshooting SQL Server Connectivity Issues.
Areas to Troubleshoot for Common Connectivity Issues.
What Are SQL Server 2005 Endpoints?

Lab: Troubleshooting SQL Server Connectivity Issues

Troubleshooting Server-Not-Found Issues.
Troubleshooting an Authentication Error Message.
Troubleshooting Endpoint Issues.

After completing this unit, students will be able to:

Explain the methodology of troubleshooting connectivity issues.
Describe the areas to audit for common connectivity issues.
Explain the SQL Server 2005 endpoints.
Troubleshoot Server-Not-Found issues.
Troubleshoot an authentication error message.
Troubleshoot endpoint issues.

 

Unit 5: Troubleshooting SQL Server Data Issues

This unit lets students troubleshoot issues at a data level. One exercise will be used to identify and recover a torn page. The second exercise is a business unit report which contains invalid data. The goal is for the Database Administrator to track down the reasons for the invalid data.

Lessons

The Methodology of Troubleshooting SQL Server Data Issues
The Process of Troubleshooting Data Integrity Issues
How Torn Pages Can be Resolved Using a Single-Page Restore

Lab: Troubleshooting SQL Server Data Issues

Troubleshooting and Repairing Torn Pages
Troubleshooting a Data Issue

After completing this unit, students will be able to:

Explain the methodology of troubleshooting data issues.
Explain the process of troubleshooting data integrity issues.
Explain how torn pages can be resolved using a single-page restore.
Troubleshoot and repair torn pages.
Troubleshoot data integrity issues.

 

Unit 6: Troubleshooting SQL Server Data Concurrency Issues

This module lets the students identify the offending objects that cause concurrency issues. The first exercise shows students how to determine stored procedures involved in a deadlocked situation. The second exercise shows students how to determine the source of a blocking issue. The third exercise shows students how to evaluate wait types and latches.

Lessons

The Methodology of Troubleshooting Concurrency Issues
What Are SQL Server Latches?
Activity: Choosing a Blocking Monitoring Solution

Lab: Troubleshooting SQL Server Data Concurrency Issues

Identifying the Objects Involved in a Deadlock
Identifying the Objects Involved in a Blocking Issue
Determining Concurrency Issues by Using Latch Wait Types

After completing this unit, students will be able to:

Explain the methodology of troubleshooting concurrency issues.
Explain what latches are and how they can be useful in troubleshooting long wait times.
Choose a blocking monitoring solution.
Identify the objects involved in a deadlock issue.
Identify the objects involved in a blocking issue.
Determine concurrency issues by using latch wait types.
 
© 2006 Microsoft Corporation.

© 1982-2007 Complete Computing, Inc.