Designing a Microsoft SQL Server 2005 Infrastructure, Security and High Availability Solutions

Exam 70-443 Boot Camp: Seven days; Instructor-Led

Introduction

This course provides database administrators working in enterprise environments with the knowledge and skills to design a Microsoft SQL Server 2005 database infrastructure. The course focuses on the development of strategies for data archiving, consolidation, distribution, and recovery. The course also stresses the importance of capacity analysis and emphasizes the tradeoffs that need to be made during design.

This course enables database administrators who work with enterprise environments to design security for database systems using Microsoft SQL Server 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.
 

This course provides students with the knowledge and skills to design high availability database solutions using Microsoft SQL Server 2005. The course focuses on teaching experienced database administrators working in enterprise environments to design database solutions that meet the availability needs of their organization. It emphasizes that students should think broadly about high availability, which includes thinking about the database itself and about their entire environment, including business needs; regulatory requirements; and network, systems, and database considerations during design. Students will also learn how to document and test the high availability database solution.

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.

 

At Course Completion

After completing this course, students will be able to:

Analyze storage, CPU, memory, and network capacity needs.
Design a strategy for data archiving.
Design a strategy for database server consolidation.
Design a strategy for data distribution.
Design a database server infrastructure.
Design a strategy for data recovery.
Establish database conventions and standards.

 

Prerequisites

Before attending this course, students must:

Understand the tradeoffs among the different redundant storage types. For example, what RAID levels mean, and how they differ from Storage Area Networks (SAN).
Understand how replication works and how replication is implemented.
Be familiar with reading user requirements and business-need documents. For example, development project vision/mission statements or business analysis reports.
Have some knowledge of how queries execute. Must be able to read a query execution plan and understand what is happening.
Have basic knowledge of the dependencies between system components.
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 monitoring and troubleshooting skills.
Have 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, and how the interaction between the operating system and the database works. For example, how integrated authentication interacts with Active Directory directory service.
Have knowledge of application architecture. That is, how applications can be designed in three layers, what applications can do, interaction between applications and the database, interaction between the database and the platform or operating system.
Must already know how to use:
A data modeling tool
Microsoft Office Visio (to create infrastructure diagrams)
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 required that students have completed:

Exam 70-431 Boot Camp: Implementing and Maintaining a Microsoft SQL Server 2005 Database.
 

Course Outline

Module 1: Analyzing Capacity Needs

This module explains how to gather data about the current capacity of key system resources such as storage, CPU, memory, and network bandwidth. It also explains how the resulting data can be used to estimate future capacity needs.

Lessons

Estimating Storage Requirements
Estimating CPU Requirements
Estimating Memory Requirements
Estimating Network Requirements

Lab 1: Analyzing Capacity Needs

Gathering Requirements that Impact or Affect Capacity Needs
Estimating Capacity Needs

After completing this module, students will be able to:

Estimate disk storage requirements.
Estimate CPU requirements.
Estimate memory requirements.
Estimate network bandwidth requirements.

 

Module 2: Designing a Strategy for Data Archiving

This module explains how to identify the requirements that affect data archiving, determine the structure of archival data, select an appropriate storage format, and develop a data movement strategy. It also describes the key elements of a data archival plan and the process of creating it.

Lessons

Identifying Requirements that Affect Data Archiving
Determining the Structure of Archival Data
Creating a Data Archival Plan

Lab 2: Designing a Strategy for Data Archiving

Designing an Archiving Solution
Defending Your Archiving Solution

After completing this module, students will be able to:

Identify the requirements that affect data archiving.
Determine the structure of archival data.
Create a data archival plan.

 

Module 3: Designing a Strategy for Database Server Consolidation

This module describes the benefits of consolidating database servers in various ways and explains how to use multiple SQL Server instances to optimize the design of a database server infrastructure. It also details the process of designing a database server consolidation plan.

Lessons

Overview of Database Server Consolidation
Designing a Strategy for SQL Server Instances
Designing a Database Server Consolidation Plan

Lab 3: Designing a Database Server Consolidation Strategy

Designing a Consolidation Strategy
Defending Your Consolidation Strategy

After completing this module, students will be able to:

Identify the benefits of different ways to consolidate database servers.
Design a strategy for SQL Server instances.
Design a database server consolidation plan.

 

Module 4: Designing a Strategy for Data Distribution

This module describes the various tools that are provided by SQL Server 2005 for data distribution and explains how to select an appropriate tool based on the requirements of an organization. It also details the process of creating a data distribution plan specifically for replication.

Lessons

Overview of Data Distribution
Creating a Data Distribution Plan Using Replication

Lab 4: Designing a Data Distribution Strategy Using Replication

Designing a Data Distribution Strategy
Defending Your Data Distribution Strategy

After completing this module, students will be able to:

Select an appropriate tool for data distribution.
Create a data distribution plan using replication.

 

Module 5: Designing a Database Server Infrastructure

This module explains how to evaluate the current database server infrastructure of an organization and gather requirements for modifying it. It also provides guidelines and best practices for designing modifications to the current infrastructure and describes the hardware and software tradeoffs involved in the design process.

Lessons

Evaluating the Current Database Server Infrastructure
Gathering Requirements for Changing a Database Server Infrastructure
Designing Modifications to a Database Server Infrastructure

Lab 5: Designing a Database Server Infrastructure

Choosing a Database Server Hardware and Software
Defending Your Database Server Hardware and Software Choices

After completing this module, students will be able to:

Evaluate the current database server infrastructure.
Gather requirements for changing a database server infrastructure.
Design modifications to a database server infrastructure.

 

Module 6: Designing a Strategy for Data Recovery

This module explains how to create a backup and recovery strategy. It also describes the key components of a database disaster recovery plan and the process of creating it.

Lessons

Creating a Backup and Restore Strategy
Creating a Database Disaster Recovery Plan

Lab 6: Designing a Data Recovery Solution

Devising a Recovery Strategy
Sharing Lessons Learned from Disaster Recovery

After completing this module, students will be able to:

Create a backup and restore strategy.
Create a database disaster recovery plan.

 

Module 7: Establishing Database Conventions and Standards

This module describes how well a database naming convention simplifies administration, and provides guidelines for establishing such a convention. It also explains how to define Transact-SQL coding, database access, and deployment process standards.

Lessons

Establishing Database Naming Conventions
Defining Database Standards

Lab 7: Establishing Database Conventions and Standards

Proposing Improved Object Naming Conventions
Proposing Improved Coding Standards

After completing this module, students will be able to:

Create database naming conventions.
Define database infrastructure standards.
 

Module 8: 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 9: 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 9A: 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 9B: 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 10: 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 10A: 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 10B: 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 11: 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 11: 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 12: 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 12: 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 13: 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 13: 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.
 

Module 14: Selecting the Appropriate High-availability Solution

This module provides the guidelines for identifying business requirements and technical and non-technical constraints of high-availability. This module also explains the guidelines for analyzing the requirements and constraints for high-availability. Finally, this module provides a brief overview of existing high-availability technologies and explains the process and guidelines for determining the appropriate high-availability technology that can be used to meet business requirements and constraints.

Lessons

Identifying High-availability Requirements and Constraints
Analyzing High-availability Requirements and Constraints
Determining Appropriate High-availability Solutions

Lab 14: Proposing a High-availability Solution

Gathering Requirements
Prioritizing Requirements
Determining Appropriate High-availability Technology
Proposing a High-availability Solution

After completing this module, students will be able to:

Identify high-availability requirements and constraints.
Analyze high-availability requirements.
Determine appropriate high-availability solutions.

Module 15: Designing a Clustering Solution

This module provides the considerations and guidelines for designing a SQL Server cluster implementation. This module also provides the guidelines for designing recovery strategies and formulating the test plan for database clustering. Next, this module explains the considerations for migrating and upgrading SQL Server clusters. Finally, this module explains the process of creating an operations plan for clustering. In this module, you will also learn about the planned and unplanned events that can affect a cluster environment.

Lessons

Designing the Platform for Clustering
Designing the SQL Server Cluster Implementation
Designing Recovery Strategies and Test Plans for Database Clustering
Migrating and Upgrading SQL Server Clusters
Designing an Operations Plan for Clustering

Lab 15: Designing a Database Clustering Solution

Designing a Cluster Topology
Designing an Operations Plan
Verifying a SQL Server Cluster Configuration
Monitoring a SQL Server Cluster

After completing this module, students will be able to:

Design the platform for clustering.
Design the SQL Server cluster implementation.
Design recovery strategies and test plan for database clustering.
Migrate and upgrade SQL Server clusters.
Design an operations plan for clustering to maximize availability.

 

Module 16: Designing a Highly Available Database Storage Solution

This module provides the guidelines and considerations to determine the storage requirements for SQL Server databases, components, and external files that are a part of the database system. This module also explains the guidelines for designing storage solutions for these resources.

In this module, you will also learn about designing restore strategies to maximize availability. Finally, this module explains the guidelines for recovering damaged and partially damaged system and user databases.

Lessons

Determining Storage Requirements for SQL Server Databases
Determining Storage Requirements for SQL Server Components and Files
Designing Storage Solutions for SQL Server Databases
Designing a Backup and Restore Strategy

Lab 16: Designing a Highly Available Database Storage Solution

Determining Storage Needs
Selecting the Storage Solution
Designing a RAID Solution
Designing a SAN Solution
Designing a Backup and Restore Strategy

After completing this module, students will be able to:

Determine storage requirements for SQL Server databases.
Determine storage requirements for SQL Server components and files.
Design a highly-available storage solution for each database resource.
Design a backup and restore strategy for the database.

 

Module 17: Designing a Log Shipping Solution

In this module, you will learn about the guidelines and considerations for designing a log shipping solution. This module provides the guidelines for determining log shipping server roles and topology. This module also explains the guidelines for upgrading log shipping.

Finally, this module explains the process of designing an operations plan for log shipping. In this module, you will also learn about the planned and unplanned events that can affect a log shipping environment.

Lessons

Introduction to Designing a Log Shipping Solution
Designing Log Shipping Server Roles and Topology
Designing a Log Shipping Upgrade Strategy
Designing an Operations Plan for Log Shipping

Lab 17: Designing a Log Shipping Solution

Selecting the Appropriate Log Shipping Architecture
Designing Log Shipping Database Roles and Topology
Designing an Operations Plan
Verifying and Testing a Log Shipping Solution

After completing this module, students will be able to:

Explain the different considerations for designing a log shipping solution.
Design log shipping server roles and topology.
Design a strategy for upgrading log shipping.
Design an operations plan for log shipping to maximize availability.

 

Module 18: Designing a Database Mirroring Solution

In this module, you will learn about the guidelines and considerations for designing a database mirroring solution. This module provides the guidelines for determining the database roles and topology for mirroring. This module also explains the guidelines for migrating from an existing high-availability technology in SQL Server 2000 to database mirroring in SQL Server 2005.

Finally, this module explains the process of designing an operations plan for database mirroring. In this module, you will also learn about the planned and unplanned events that can affect a mirroring environment.

Lessons

Introduction to Designing a Database Mirroring Solution
Designing Database Roles and Topology for Database Mirroring
Converting High-availability Solutions to Database Mirroring
Designing an Operations Plan for Database Mirroring

Lab 18: Designing a Database Mirroring Solution

Selecting the Appropriate Mirroring Architecture
Designing Database Roles and Topology for Database Mirroring
Designing an Operations Plan
Evaluating Migration Options from Clustering to Mirroring
Evaluating Migration Options from Log Shipping to Mirroring
Comparing Mirroring with Clustering and Log Shipping

After completing this module, students will be able to:

Explain the different considerations for designing a database mirroring solution.
Design the database roles and topology for database mirroring.
Convert existing high-availability solutions to database mirroring.
Design an operations plan for database mirroring to maximize availability.

 

Module 19: Designing a Highly Available Solution Based on Replication

In this module, you will learn about the guidelines and considerations for designing a highly-available solution based on replication. This module provides the guidelines for determining replication server roles and topology. This module also explains the guidelines for upgrading replication.

Finally, this module explains the process of designing an operations plan for replication. In this module, you will also learn about the planned and unplanned events that can affect a replication environment.

Lessons

Introduction to Designing a Replication Solution
Designing a Replication Solution
Designing a Replication Upgrade Strategy
Designing an Operations Plan for Replication

Lab 19: Designing a Highly-availability Solution Based on Replication

Selecting the Appropriate Replication Architecture
Designing a Replication Solution
Designing an Operations Plan
Designing a Disaster Recovery Strategy By Using MERGE Replication
Designing a Disaster Recovery Strategy By Using TRANSACTIONAL Replication

After completing this module, students will be able to:

Explain the different considerations for designing a replication solution.
Design a replication solution.
Design a strategy for upgrading replication.
Design an operations plan for replication to maximize availability.

 

Module 20: Combining High-availability Technologies

This module provides guidelines for designing high-availability solutions by combining existing high-availability technologies. This module enables you to evaluate the weaknesses in each high-availability technology. In this module, you will determine technologies that complement each other to minimize these weaknesses.

Lessons

Evaluating Weaknesses in Each High-availability Technology
Maximizing Availability by Combining High-availability Technologies

Lab 20: Combining High-availability Technologies

Evaluating Weaknesses in High-availability Technologies
Maximizing Availability by Combining Technologies

After completing this module, students will be able to:

Evaluate the weaknesses in each high-availability technology.
Maximize availability by combining high-availability technologies.

 

Module 21: Documenting and Testing a High-availability Strategy

This module provides guidelines for documenting and testing high-availability solutions. This module explains the structure of a high-availability solution document and also explains the need for documenting the solution. In this module, you will also discuss the process of creating a test plan for high-availability solutions.

Lessons

Documenting High-availability Solutions
Creating a Test Plan for High-availability Solutions

Lab 21: Documenting and Testing a High-availability Strategy

Documenting the High-availability Solution
Creating a Test Plan

After completing this module, students will be able to:

Document high-availability solutions.
Create a test plan for high-availability solutions.