Introducing Microsoft SQL Server 2000

Similar documents
Inmagic Content Server Standard and Enterprise Configurations Technical Guidelines

Inmagic Content Server v9 Standard Configuration Technical Guidelines

SQL Server 2008 is Microsoft s enterprise-class database server, designed

Inmagic Content Server Workgroup Configuration Technical Guidelines


Administering a Microsoft SQL Server 2000 Database

Administering a Microsoft SQL Server 2000 Database

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Chapter Replication in SQL Server

ICONICS Choosing the Correct Edition of MS SQL Server

Lesson Plans Microsoft s Managing and Maintaining a Microsoft Windows Server 2003 Environment

Priority Pro v17: Hardware and Supporting Systems

How To Install Powerpoint 6 On A Windows Server With A Powerpoint 2.5 (Powerpoint) And Powerpoint On A Microsoft Powerpoint 4.5 Powerpoint (Powerpoints) And A Powerpoints 2

Microsoft SQL Database Administrator Certification

Contents. SnapComms Data Protection Recommendations

WEB COMPAS MINIMUM HOSTING REQUIREMENTS

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server

IncidentMonitor Server Specification Datasheet

JReport Server Deployment Scenarios

EMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage

Planning the Installation and Installing SQL Server

1. Server Microsoft FEP Instalation

SQL Server Maintenance Plans

Introduction 1-1 Installing FAS 500 Asset Accounting the First Time 2-1 Installing FAS 500 Asset Accounting: Upgrading from a Prior Version 3-1

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Change Manager 5.0 Installation Guide

DiskPulse DISK CHANGE MONITOR

How To Manage The Sas Metadata Server With Ibm Director Multiplatform

Best Practices. Best Practices for Installing and Configuring SQL Server 2005 on an LSI CTS2600 System

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Upon completion of the program, students are given a full support to take and pass Microsoft certification examinations.

Backups and Maintenance

Stellar Phoenix Exchange Server Backup

MS SQL Performance (Tuning) Best Practices:

Network device management solution

IBM Tivoli Storage Manager Version Introduction to Data Protection Solutions IBM

Deploying Microsoft SQL Server 2005 Business Intelligence and Data Warehousing Solutions on Dell PowerEdge Servers and Dell PowerVault Storage

Alfresco Enterprise on Azure: Reference Architecture. September 2014

SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases

SQL Server An Overview

SQL Server Protection. User guide

Administering a Microsoft SQL Server 2000 Database

Metalogix SharePoint Backup. Advanced Installation Guide. Publication Date: August 24, 2015

Configuration and Development

High Availability and Disaster Recovery for Exchange Servers Through a Mailbox Replication Approach

SalesLogix. SalesLogix v6 Architecture, Customization and Integration

Vector Asset Management User Manual

Dell Microsoft Business Intelligence and Data Warehousing Reference Configuration Performance Results Phase III

SCADA Questions and Answers

SysPatrol - Server Security Monitor

A SURVEY OF POPULAR CLUSTERING TECHNOLOGIES

Microsoft Exchange ActiveSync Administrator s Guide

Symantec Endpoint Protection 11.0 Architecture, Sizing, and Performance Recommendations

WHITE PAPER: TECHNICAL OVERVIEW. NetBackup Desktop Laptop Option Technical Product Overview

System Requirements for Microsoft Dynamics GP 2013

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

SQL Server Database Administrator s Guide

Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL. Installation and System Administrator's Guide 4MASIN450-08

Silect Software s MP Author

How To Set Up Safetica Insight 9 (Safetica) For A Safetrica Management Service (Sms) For An Ipad Or Ipad (Smb) (Sbc) (For A Safetaica) (

Monitoring SQL Server with Microsoft Operations Manager 2005

SQL Server 2008 Designing, Optimizing, and Maintaining a Database Session 1

Microsoft Windows Server Update Services Questions & Answers About The Product

* Note: A=1 Lic., B=25 Lic., C=100 Lic.

Online Transaction Processing in SQL Server 2008

Table of Contents. CHAPTER 1 About This Guide CHAPTER 2 Introduction CHAPTER 3 Database Backup and Restoration... 15

SteelEye Protection Suite for Windows Microsoft SQL Server Recovery Kit. Administration Guide

Quick Start Guide - Exchange Mailbox idataagent

Ignify ecommerce. Item Requirements Notes

Increased operational efficiency by providing customers the ability to: Use staff resources more efficiently by reducing troubleshooting time.

The functionality and advantages of a high-availability file server system

Atempo, Inc. LIVE BACKUP DEPLOYMENT GUIDE PLANNING AND DEPLOYING LIVE BACKUP IN YOUR CORPORATE ENTERPRISE. Author: Amy Gracer,

Brad s Sure DBA Checklist

Data Warehouse as a Service. Lot 2 - Platform as a Service. Version: 1.1, Issue Date: 05/02/2014. Classification: Open

TranScend. Next Level Payment Processing. Product Overview

Out n About! for Outlook Electronic In/Out Status Board. Administrators Guide. Version 3.x

ABSTRACT INTRODUCTION SOFTWARE DEPLOYMENT MODEL. Paper

Prospect 365 CRM Installation Requirements. Technical Document

Contingency Planning and Disaster Recovery

High Availability with Windows Server 2012 Release Candidate

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

BillQuick Web i Time and Expense User Guide

VMware vsphere Data Protection 6.1

Load Testing and Monitoring Web Applications in a Windows Environment

User Guide - Exchange Public Folder idataagent

How To Recover From A Disaster In An Exchange 5.5 Server

Informix Dynamic Server May Availability Solutions with Informix Dynamic Server 11

Optimizing Performance. Training Division New Delhi

Site Recovery Manager Installation and Configuration

The Methodology Behind the Dell SQL Server Advisor Tool

RAID installation guide for Silicon Image SiI3114

Esri ArcGIS Server 10 for VMware Infrastructure

Exam Number/Code : Exam Name: Name: PRO:MS SQL Serv. 08,Design,Optimize, and Maintain DB Admin Solu. Version : Demo.

How To Manage Your On A Microsoft Powerbook 2.5 (For Microsoft) On A Macbook 2 (For A Mac) On An Iphone Or Ipad (For An Ipad) On Your Pc Or Macbook

ORACLE DATABASE 10G ENTERPRISE EDITION

Sage CRM Technical Specification

Installing and Configuring a SQL Server 2014 Multi-Subnet Cluster on Windows Server 2012 R2

PROACTIVE MANAGEMENT OF THE MICROSOFT WINDOWS SERVER 2003 PLATFORM

Transcription:

Introducing Microsoft SQL Server 2000 CHAPTER 1 By the end of this chapter, you will be able to Describe the components and architecture of SQL Server 2000 List the editions of SQL Server 2000 and their requirements Plan the implementation of SQL Server 2000 Welcome to the Osborne McGraw-Hill All-in-One MCDBA Exam Guide. In this chapter, you will be introduced to Microsoft SQL Server 2000. This chapter will also introduce you to the Northwind Distributors case study. This case study will be used throughout the exam guide to help illustrate the concepts presented. A general overview of SQL Server will be provided. Topics will include options for implementing a SQL Server solution and which services are installed with SQL Server. You will also learn about some of the new advanced features included with this version of SQL Server. The various editions of SQL Server 2000 will also be described including which operating systems each edition supports. This chapter will conclude with a discussion of planning a SQL Server installation including hardware and licensing considerations. Northwind Distributors Case Study The following fictional case study is presented to help you understand the concepts discussed in this exam guide. Throughout this chapter and future chapters, references will be made to Northwind Distributors, LTD. In later chapters, the technical requirements 1

MCDBA SQL Server 2000 All-in-One Exam Guide 2 and business model of Northwind will change to further illustrate the concepts presented in the specific chapter. You should therefore have a good understanding of Northwind and their network and database needs before proceeding to future chapters. With the release of SQL Server 2000, Northwind has decided to implement SQL Server 2000 as its enterprise database. Northwind is a small distributor of foods for use by commercial restaurants in North America. Their product line consists of over 75 items used by restaurants in the preparation of a variety of authentic cuisine. They have several contracts with major restaurant chains and a number of independent restaurants in four regions across the United States. Their goal is to use SQL Server 2000 to meet the various needs of the organization. Currently, Northwind has four locations: Phoenix, San Antonio, Vancouver, and a new office in Los Angeles. All locations have warehouses and a sales staff. The Phoenix office is the company s headquarters. Currently, the corporate network consists of Windows NT 4.0 servers. Phoenix has three servers, San Antonio has one, and Vancouver has one. Each location, other than Los Angeles, has its own domain with a Windows NT domain controller. Because it just opened, Los Angeles does not yet have its own server or domain. Clients in Los Angeles are currently being authenticated remotely on the Phoenix domain. Further, clients in all locations are running a mix of Windows 98 and Windows 2000 Professional operating systems. The offices, including Los Angeles, are connected through Phoenix using virtual private networks on dedicated T1 lines using the Internet as a WAN backbone. Phoenix, San Antonio, and Vancouver each have their own SQL Server 7.0 database. Management wants Los Angeles to be configured similarly using SQL Server 2000. They also want the replication of sales data between all offices to improve. Currently, data is replicated through a manual process that the database administrator performs in Phoenix once a week. Microsoft SQL Server 2000 Overview Microsoft SQL Server 2000 represents the latest enterprise database technology from the Microsoft Corporation. Originally developed in 1989, this latest version of SQL Server has a number of enhancements over previous versions. These enhancements are designed to enable organizations to deploy a highly scalable and reliable database solution. SQL Server has been developed to leverage the new Microsoft.NET platform strategy and can be used to build e-commerce, line-of-business, and data warehousing solutions.

Implementation Architectures Chapter 1: Introducing Microsoft SQL Server 2000 3 SQL Server now supports three implementation architectures. These include the following: Desktop Server Under this implementation, SQL Server is installed as a database server on a single desktop computer. The applications that will be interacting with the database are installed on the same computer. This implementation is similar to using Microsoft Access with a single user. A desktop server implementation of SQL Server is typically only useful when a small number of users are present (because they must share the same physical computer) and the size of the database itself is relatively small. In contrast to the client/server implementations described in the following section, a desktop server does not provide support for connections to the database from other computers on the network. Desktop servers can also be installed for use on a laptop computer. Two-Tier Client/Server In a two-tier client/server implementation, clients across the network make direct requests to the SQL Server database (see Figure 1-1). In this case, SQL Server is installed on a server separate from the client computers. Unlike the desktop server implementation, a two-tier solution spreads the computing resource responsibilities across the various systems (the server tier and the desktop tier) that are involved. For example, you Figure 1-1 Two-tier client/server architecture

MCDBA SQL Server 2000 All-in-One Exam Guide 4 may have a dedicated Windows 2000 Advanced Server that hosts the SQL Server 2000 database. Clients may be connecting from a Visual Basic application that is running on their local Windows 2000 Professional desktop computer. As a result, the client computers are providing the user interface and data processing power, whereas the Windows 2000 server is providing the computing power to run SQL Server, such as processing requests, managing data updates, and so on. Northwind Distributors, for example, have a Visual Basic application they developed that their sales staff uses for entering orders. The application runs on each salesperson s desktop and connects to a SQL Server database. As a result, each client uses his or her own connection to the server, which increases server overhead but spreads the processing of the data to the desktop for better performance. As Northwind grows and more clients need access to the data, they should consider moving the application to a threetier solution as described in the following section. Three-Tier Client/Server The three-tier client/server is the most advanced, and also the most powerful, implementation option available (see Figure 1-2). In this case, three computers are typically Figure 1-2 Three-tier client/server architecture

Chapter 1: Introducing Microsoft SQL Server 2000 5 involved in supporting a client request: the database server, an application server, and the client computer. The SQL Server database resides on a central Windows 2000 server that accepts requests for information from a middle tier or application server. The application server is designed to accept requests for information from a number of clients, forward those requests to the central SQL Server, process the results of the request, and return the final information back to the client. A direct benefit of this architecture is its increased capability to scale as a result of increased client requests. Large enterprise applications and Web-based e-commerce solutions can take advantage of a three-tier client/server implementation of SQL Server in order to efficiently support huge numbers of data requests. To take full advantage of a three-tier implementation, developers can use the Microsoft s COM architecture to develop applications to reside on the middle tier. These applications are typically installed under Microsoft Component Services (formerly called Microsoft Transaction Server) on the application server. Microsoft Component Services provides a variety of advanced capabilities for developers to easily build scalable applications for the enormous requirements of enterprise needs or Web-based solutions. Northwind could benefit from this architecture as their company grows. Instead of each salesperson connecting their Visual Basic order entry program directly to SQL Server, they would connect to a middle-tier application instead. This would, of course, be transparent to the user but would require the application to be updated. This middletier application (most likely a COM ActiveX DLL running in Microsoft Component Services on Windows 2000) would handle connecting to the database and processing the requested data. This middle-tier application can reside on the same computer as SQL Server or on another application server to further spread the processing requirements across multiple computers for better performance. It is certainly no small task to update an existing application to a three-tier solution. However, the advantages probably outweigh the costs in order to increase performance and overall scalability. How Clients Communicate with SQL Server Regardless of the architecture you implement, client applications communicate with the server following the same general process. Typically, this occurs over a network in the event a production SQL Server has been configured. Several components on both the client and the server coordinate in order to manage communications (see Figure 1-3). Front-End Submits a Data Request The front-end application, running on the client computer, submits a data request, called a query, to the SQL Server. Queries are sent as Transact-SQL statements that are in turn executed by SQL Server. Depending on the query, SQL Server may change, delete,

MCDBA SQL Server 2000 All-in-One Exam Guide 6 Figure 1-3 SQL Server communication process or add records. The query may also require the server to return records or system messages back to the client. SQL Server may also return a combination of these possible results to the client. For example, a query may request that SQL Server update all product information from a certain vendor and then return a final count of records that has been affected by the update to the client. These queries are sent through a database Application Programming Interface (API) using programming interfaces such as ActiveX Data Objects (ADO). Two database APIs are supported by SQL Server: OLE DB and ODBC. OLE DB represents the latest Microsoft technology and is the preferred API. Open Database Connectivity (ODBC) is the older database interface technology. Although the application can be developed to interact with OLE DB or ODBC directly, it is more common for the programmer to use an interface such as ADO, which in turn interacts with OLE

Chapter 1: Introducing Microsoft SQL Server 2000 7 DB or ODBC. In addition to these traditional APIs, applications can also use the new XML functionality when requesting data from a SQL Server. Query Sent Through the Net-Library Once a query has been sent to the database API, it is encapsulated into Tabular Data Stream (TDS) packets. More than one TDS packet may be required depending on the size of the query. The packets are then forwarded to the SQL Server using the appropriate network library (called the Net-Library). The Net-Library manages the communication to the server and specifies the network protocol to be used. For example, when connecting to a SQL Server database via the Internet, you will want to use TCP/IP. The Net-Library used by the client application must match the Net-Library implemented on the server. Therefore, you will want to be sure to configure your server to use the correct protocols as required by the applications you will be supporting. Query Extracted from TDS Packets When the server receives a query from the Net-Library, it extracts the query using the Open Data Service from the network packet. SQL Server then passes the query to the relational engine in order for an execution plan to be developed. Execution Plan Developed When SQL Server responds to a Transact-SQL query, it first develops an execution plan. The relational engine within SQL Server creates the execution plan, which helps increase server efficiency. Once the plan has been created, the relational engine is also responsible for executing the plan and sending the data results, such as a request for all customers who live in the state of Arizona, to the storage engine of SQL Server. Data Prepared Once the relational engine has run the execution plan, any data that is to be returned to the client is transferred to data buffers by the storage engine component of SQL Server. The storage engine is only used to transfer the data to the buffers. The relational engine is then called a second time to send the data from the buffers to the Open Data Services to finalize the preparation of the data prior to returning it to the client. Data Returned Open Data Services is used to send the resulting data back to the client via the same Net-Library process used to submit the original query. Client applications can access the resulting data through the database API used to submit the query or via an XML stream from the server.

MCDBA SQL Server 2000 All-in-One Exam Guide 8 SQL Server Services When you install SQL Server, a number of actual services are included, as shown in Figure 1-4. These services work together to provide data results to clients who query the database. Note that because Windows 98 does not support the service architecture, certain SQL Server components are not implemented as services on Windows 98. Therefore, these components cannot be stopped and started as with Windows NT and Windows 2000. SQL Server Database Engine (MSSQLServer Service) The primary service used by SQL Server is the MSSQLServer service. It is the database engine itself that provides for all data management, such as data verification and integrity, and provides for all transaction processing. In addition, clients use the MSSQLServer service when they query the database for specific records. Figure 1-4 The primary SQL Server 2000 services

Chapter 1: Introducing Microsoft SQL Server 2000 9 SQL Server Agent (SQLServerAgent Service) The SQL Server Agent service is used to enable the processing of activities at specified times or time intervals. This service is also used to alert the administrator when problems occur with SQL Server. Three components are associated with the SQL Server Agent service: Jobs A job is defined as an object that contains specific steps that must occur at a certain time or recurring interval. You define these steps as Transact-SQL statements that must be executed. Alerts An alert is defined as an action that must be taken when certain events occur. For example, if an error occurs on the server, such as running out of hard drive space, an alert can be created to automatically e-mail the administrator. Operators An operator is a defined user who has the ability to manage the server. Operators are typically the targets associated with alerts, such as the pager number for an administrator. Microsoft Distributed Transaction Coordinator (MS DTC Service) The DTC service is used by SQL Server to enable transactions to include more than one server. For example, Northwind may want to automatically update the primary SQL Server in the Phoenix location when a sale is recorded in the Los Angeles server. A stored procedure, as one possibility, can be created that attempts to update both servers as part of a single transaction. The DTC service is used to coordinate this activity. Microsoft Search Service The Search service enables a client to perform full text-based searches across databases in SQL Server 2000. This service was introduced with SQL Server 7.0 and has been included with SQL Server 2000. It is only available on Windows NT and Windows 2000-based servers. This service is not available on Windows 98 server computers that are hosting a SQL Server 2000 database. However, Windows 95 and Windows 98 clients can use this service when it is installed on a Windows NT or Windows 2000-based SQL Server. Default Databases When SQL Server 2000 is installed, a number of default databases will also be installed. In addition, you can add custom databases and associated tables as your needs require. SQL Server supports two categories of databases: system databases and user databases.

MCDBA SQL Server 2000 All-in-One Exam Guide 10 System Databases System databases are used by SQL Server to store configuration information. In addition, system databases are used by SQL Server to help process data requests from clients. For example, the tempdb database is used as a temporary storage area for data read as a result from a client request from a user database. The following is a list of system databases that are installed automatically: Master This is the primary server configuration database. It stores server information such as user information and custom error messages. Model This is a template database for new user databases. Tempdb This is a temporary storage database for client requests and other needs. Msdb When scheduled events are added to SQL Server, their information is stored in this database. Distribution This database is used to store transaction data and is optionally installed when replication is implemented. User Databases Unlike the system databases, which SQL Server creates during the install, user databases are custom databases that are created by administrators and developers. These databases can be created at any time as needed. For example, Northwind plans to store its sales information in SQL Server. Therefore, they might create a SALES database to store all the tables and records associated with the sales information. Later, they may want to store employee information such as payroll history in SQL Server. A second database, called EMPLOYEES, can be added at the appropriate time. The following are sample user databases that can be optionally installed by the SQL Server setup process: Pubs The pubs database includes fictional information for a publishing company. It can be used for practice and learning. Northwind The Northwind database includes fictional information for a trading company. It can be used for practice and learning. This database will be used in association with the Northwind case study. What a Database Includes Databases consist of a number of components called objects. By implementing the necessary objects in a user database, you can organize your data relationally. This is done so that the data is related in such a way as to increase efficiency in SQL Server 2000 and to provide consistency and integrity to the data. For example, if you are planning to

Chapter 1: Introducing Microsoft SQL Server 2000 11 implement a database for use by the sales department, you will want to reduce the duplication of data, such as information from the human resource departments. EXAM TIP Be sure to understand which components are preferred over others. Some objects have been included with SQL Server 2000 for backwardscompatibility. The following objects comprise a database: Constraints Constraints are rules that the data in a table must conform to. Constraints provide data integrity in the database. For example, a constraint may require that a certain column contain a unique value, such as a customer s ID. Constraints can be applied to tables (which affect all columns in the table) or to individual columns. Indexes Indexes organize the data in the specified columns in order to increase the overall performance of SQL Server. Two kinds of indexes are available: clustered and nonclustered. A clustered index sorts and orders the data in a table by a key field. This makes it efficient to find a single row of data in the table. Because the data is organized in this order, only one clustered index can be on any given table. A non-clustered index does not sort the physical order of the records. Instead, a nonclustered index stores pointers to the rows, based on the sort order specified, in a separate location. Thus, a table can have more than one non-clustered index, which can be used when specific queries must be executed against the table. Rules A rule is a constraint type that is included in SQL Server 2000 for backwards-compatibility. When deciding to create a rule for data integrity, you should use a constraint. Like constraints, rules enable you to specify valid types of data in a column. This helps to enforce overall data integrity in a database. Stored Procedures SQL Server 2000 includes a scripting language called Transact-SQL. Transact-SQL can be used for a variety of purposes, such as creating databases and tables or adding or updating records in a table. Stored procedures are Transact-SQL statements that have been saved in a database for future use. When these statements are saved in the

MCDBA SQL Server 2000 All-in-One Exam Guide 12 database, SQL Server 2000 compiles them in order to increase their performance when they are later called. For example, Northwind s sales representatives need to look up a customer s sales history. Often, this is while the customer is waiting on the phone. Therefore, to increase the query response, a stored procedure, called CustOrderHist, has been created and saved in the Northwind s database. SQL Server itself can use this stored procedure or external applications, such as a Visual Basic program or a Web page, and can also call the stored procedure directly. Tables Within a database, the actual data is stored in columns and rows within a table. The data must be organized into separate tables. For example, Northwind has a number of tables to meet their organizational needs, including customer information, customer orders, and employee information. Each table, in turn, has columns (called fields) and rows (called records) to store the actual data. See Figure 1-5 for an example of the Customer s table in Northwind s SQL Server. Figure 1-5 Northwind s Customer table

Chapter 1: Introducing Microsoft SQL Server 2000 13 Triggers A trigger is a special kind of stored procedure that is associated with certain events that occur to records within a table. These events include UPDATE, ADD, and DELETE. For example, if a record is added to the Northwind Customer table, an e-mail is sent to the sales manager in that territory reminding him or her to contact the customer within one business day. Triggers are used to enforce business rules. They can also be used in conjunction with constraints to enforce data integrity. User-Defined Functions SQL Server, through its support for the Transact-SQL language, provides you with various functions to help build solutions. For example, the GetDate function returns the current date and time. The SUM function can be used to add specific values together as part of a query to the database. You can re-use these functions throughout your server without needing to write complex code to accomplish the same task because they are included with SQL Server. The ability for you to create your own functions is new to SQL Server. These functions can be used and re-used throughout the databases in your server. Functions that you create, called user-defined functions, contain one or more Transact-SQL commands that are stored in a single procedure. This procedure (or function) can then be re-used. Creating and managing user-defined functions are discussed in the later portion of this exam guide. Views Views are used to present data from different tables as if it all came from the same table. As a result, a view is kind of a virtual table in that it does not actually exist like a normal table in the database. Views are used to increase the performance of SQL Server when a client needs to request data that is associated with various tables. Because SQL Server has already grouped the data into a view, the time required to organize the data for the client is reduced. New Features in SQL Server 2000 With the introduction of the Windows 2000 operating system family of servers, Microsoft has provided a number of enhancements that SQL Server 2000 takes advantage of. Better Memory Support Depending on the specific operating system being used, SQL Server can now take advantage of up to 8GB of RAM under Windows 2000 Advanced Server and 64GB of

MCDBA SQL Server 2000 All-in-One Exam Guide 14 RAM under Windows 2000 Datacenter Server. The Address Windows Extensions (AWE) that is implemented in both Windows 2000 Advanced Server and Windows 2000 Datacenter Server makes this possible. Windows 2000 Professional and Windows 2000 Server do not support AWE. Multiple Server Instances With SQL Server 2000, you can now run more than one instance at a time. This results in multiple independent databases (including user information) on a single server. Clustering Support SQL Server 2000 supports the new Microsoft Cluster Service included with Windows 2000 Advanced Server and Windows 2000 Datacenter Server. A cluster enables more than one server (called a node) to be connected to each other, providing for live interaction and redundancy between nodes. If, for example, a node fails, the other node in the cluster automatically takes over the responsibilities of the failed node. You can elect to install SQL Server on a cluster during the setup process. Direct Support for Extensible Markup Language (XML) XML, which is a standard for data formatting, is designed to enable information to be shared between different computing systems. SQL Server 2000 supports XML by providing enhanced features that enable the results of a URL-based query request to be returned in the XML format. This means that you can now run queries and execute stored procedures through a URL using the standard HTTP protocol. SQL Server 2000 Editions Three editions of Microsoft SQL Server 2000 are available depending upon your needs. SQL Server 2000 Enterprise Edition This edition represents the primary version of SQL Server 2000 that organizations should consider deploying for production environments. It is the complete version of SQL Server 2000 and includes all the features provided by the product. Because Northwind has already implemented SQL Server 7 across their enterprise, they should consider upgrading to the SQL Server 2000 Enterprise Edition. The advanced features provided by the Enterprise Edition will also help meet their growing needs.

Chapter 1: Introducing Microsoft SQL Server 2000 15 SQL Server 2000 Standard Edition The Standard Edition is designed for organizations to begin evaluating the effectiveness of SQL Server 2000. This version lacks many of the advanced features found in the Enterprise Edition, such as high levels of availability and advanced data analysis capabilities. SQL Server 2000 Personal Edition The Personal Edition of SQL Server 2000 is primarily used by developers or single-user applications that do not require many of the advanced enterprise capabilities offered by SQL Server 2000. The Personal Edition can run on other Windows operating systems, such as Windows 98 and Windows ME, but it lacks almost all the features needed to deploy a production solution. For purposes of this exam guide and the requirements of the Microsoft 70-228 exam, the Enterprise Edition will be used. Table 1-1 shows a feature comparison of the three editions. Note that Table 1-1 is not a complete comparison. Only a few of the key features have been shown. For a complete listing of features included in each edition, please see Microsoft s Web site at Table 1-1 Feature Comparison of the Three Editions of SQL Server 2000 ENTERPRISE STANDARD PERSONAL FEATURE EDITION EDITION EDITION Scalable Yes Yes No Support for Online Analytical Processing (OLAP) Yes Yes Yes Indexed views Yes No No Web-enabled analysis Yes No No English query Yes Yes Yes Maximize uptime Yes No No Security Yes Yes Yes High availability Yes No No XML support Yes Yes Yes Replication Yes Yes Yes

MCDBA SQL Server 2000 All-in-One Exam Guide 16 http://www.microsoft.com/sql/productinfo/sqlcompdata.htm. In addition, the features listed in Table 1-1 will be discussed in more detail throughout the remainder of this training kit. Operating System Requirements Depending on the edition of SQL Server you intend to deploy, various operating system configurations are supported. These range from desktop environments to large data center environments. EXAM TIP You should be able to identify which editions of SQL Server are supported on which operating systems. The following list shows the various operating systems supported by each edition of SQL Server 2000: SQL Server 2000 Enterprise Edition Windows 2000 Datacenter Server Windows 2000 Advanced Server Windows 2000 Server Windows NT Server 4 with SP 5 SQL Server 2000 Standard Edition Windows 2000 Datacenter Server Windows 2000 Advanced Server Windows 2000 Server Windows NT Server 4 with SP 5 SQL Server 2000 Personal Edition Windows 2000 Datacenter Server Windows 2000 Advanced Server Windows 2000 Server Windows 2000 Professional Windows ME

Chapter 1: Introducing Microsoft SQL Server 2000 17 Windows NT Server 4 with SP 5 Windows NT Workstation 4 with SP 5 Windows 98 In addition to specific operating system requirements, Microsoft recommends the following memory configurations: SQL Server 2000 Enterprise Edition 64MB minimum, 128MB recommended SQL Server 2000 Standard Edition 64MB for all operating systems SQL Server 2000 Personal Edition 64MB for Windows 2000, 32MB for other operating systems Planning a SQL Server 2000 Installation A number of considerations and decisions must be made prior to installing and configuring SQL Server 2000. For the purposes of this exam guide, it will be assumed that you will be installing SQL Server on a Windows 2000 Server in a client/server environment (rather than a single-user desktop installation). However, beyond this, you should have a firm plan in place prior to starting the setup process. This section will introduce you to several of the primary planning considerations for installing SQL Server 2000. What Is the Primary Function of This Server? One of the first planning questions that should be answered is the intended use of this installation. A SQL Server can perform three main categories of functions. Note, however, that these functions are not mutually exclusive. A given server implementation can perform one or more of the functions described in this section, although performance considerations may warrant multiple installations rather than attempting to share responsibilities on a single server. Online Transaction Processing (OLTP) In this capacity, the SQL Server database will be used to process online transactions, typically from a Web site, in a live production environment. Performance and uptime are critical in this scenario because the database may be in use not only by internal employees, but potentially in use by the actual customer. An e-commerce Web site is a good example of an OLTP implementation. As a result, the types of queries in this case

MCDBA SQL Server 2000 All-in-One Exam Guide 18 will typically be small and require very fast response times. When planning an implementation that will provide OLTP services, you should be in close communication with the development team creating the applications that will be using your server. In the case of Northwind, transaction processing is exactly what their SQL Server database is required to provide. Even though they do not allow customers to order directly through a Web site, their sales staff needs the high-level performance when entering a customer order, usually taken live over the phone. This also includes the need to quickly reference an order in the event a customer calls needing to change or cancel an existing order. Decision Support In this case, the primary responsibility of the server will be to provide data as the result of fairly complex requests. These requests are driven by the organization s need to analyze data in order to make decisions. For example, a query in this scenario might include requesting the sales data from the previous four years associated with customers who live in North America, have average purchases of over $225.00, and typically make their purchases between October 1 and November 15. As a result, these queries can take longer due to their complexity. Therefore, a server providing decision support may not be well suited to provide OLTP services. Batch Processing SQL Servers that are to be used in a batch process scenario do not have clients making requests. In other words, end users are not waiting for the results of the queries being run on a batch-processing server. The servers in this scenario typically run their queries at designated times, usually offline and during off-hours. The results of the queries can include data importation from other sources, archiving records (such as old sales information), and so on. Much like a decision-support server, the queries run on a batch processing can take several minutes, if not hours, to complete. Therefore, it is not realistic to have end users waiting for the results in a live production environment. What Are the Performance and Redundancy Expectations? Closely associated with the overall function of the server are the specific performance requirements of the clients. This will affect which operating system you intend to deploy SQL Server on and what level of hardware you will need. Like previous versions of SQL Server, the more memory you can make available, the better. With the new AWE capabilities included with Windows 2000 Advanced Server and Windows 2000 Datacenter Server, the limit of supported memory has increased enormously.

Chapter 1: Introducing Microsoft SQL Server 2000 19 Besides memory requirements, you must also consider the server s processor speed, number of processors required, and network bandwidth connectivity. The speed and number of processors directly affect the SQL Server s capability to process requests from clients. In addition, the server s ability to pass data to and from the network will affect the overall performance of the entire system. Because most SQL Server installations will consist of a networked server that is accepting data requests from client computers across a local area network or the public Internet, you should evaluate the capabilities of the network card to be used in the server. In addition to meeting the hardware performance needs, you must also consider the level of fault-tolerance supported by the implementation. This is not just limited to battery supplies or tape backups. Windows 2000 support for the Redundant Array of Independent Disks (RAID) and clustering technologies also affect how you implement your SQL Server. RAID Level Overview The RAID is a technique for implementing fault-tolerance among hard drives. You can choose from eight levels of RAID depending on the actual level of fault-tolerance you require. These range from simple mirroring (the data is written twice resulting in a hot spare) to associating multiple drives together, creating, in effect, a single large drive that is fault-tolerant. Depending on the hard drives and adapters you install in your server, you can implement the appropriate RAID level based on your needs. In addition, Windows 2000 itself provides the capability to implement RAID. This section will focus on Windows 2000 support for RAID. Of the various levels of RAID, Windows 2000 provides support for the following four: RAID 0 When implementing RAID level 0, called data striping, you take advantage of multiple hard drives to increase the overall performance of saving and reading data. Unfortunately, this level of RAID provides no fault tolerance. If one of the drives fails, all the data stored across all the drives becomes unavailable to the user. The only way to recover in this event is from a tape backup. RAID 1 RAID level 1, called disk mirroring, requires two hard drives. Both drives have whatever data is to be saved, copied on both drives. This is done automatically by the operating system. The result is a hot spare that can be used immediately in the event one of the drives fails. If a drive does fail, you can simply remove the drive, replace it, and have Windows 2000 rebuild the data on the new drive to match that of the active drive. The disadvantages when using RAID 1 include higher costs, because it is less efficient in its use of the hard drive space, and it has a lower performance than RAID 0 or RAID 5.

MCDBA SQL Server 2000 All-in-One Exam Guide 20 RAID 5 Implementing RAID 5, called disk striping with parity, provides the highest level of fault-tolerance at the expense of the lowest performance of the three RAID levels supported by Windows 2000. However, RAID 5 makes efficient use of the available hard drive space, unlike RAID 1, and enables you to quickly and easily swap a defective drive without restarting the server. The new drive can then be added to the array and the data rebuilt over time on the new drive. No data is lost in the event of a drive failure when using RAID 5, which provides the highest level of redundancy. RAID 10 This level of RAID provides a combination of RAID 1 and 0, resulting in better overall performance with fault-tolerance. Unlike RAID 0, RAID 10 provides faulttolerance in that the striped disks are also mirrored. However, unlike disk mirroring, RAID 10 implements disk striping, which results in increased performance for disk reads. Will Replication Be Required? Depending on the size and the needs of your organization, you may need to implement replication between multiple SQL Servers. For example, the Northwind Corporation wants the replication of data between offices to be an automated process. SQL Server provides you with a variety of replication features that you can support based on your needs. For example, you can implement the overhead-intensive distributed transaction solution, which ensures that all servers have the most up-to-date data all the time. Or, you can implement a merge replication model that enables each server to independently manage its own data with copies of the data being exchanged between servers on an intermittent basis. This model provides a simple replication strategy, but introduces the possibility of conflicts. Obviously, considerations such as bandwidth, server availability, and the needs of the business will all contribute to your decision on which replication mode, if any, is required. More details about implementing replication will be discussed in Chapter 10. For now, it is important that you know SQL Server has the capability to replicate data between servers in large organizations to ensure all data is synchronized. How Will SQL Server Be Licensed? When you install SQL Server 2000, you will be prompted to enter how you have licensed the product. The license model your organization selects will depend upon how many clients will be connecting to the server and whether the server will be used on the Internet. SQL Server can be licensed in two specific ways: per-processor and per-seat.

Chapter 1: Introducing Microsoft SQL Server 2000 21 Per-Processor License SQL Server 2000 can be licensed to run on a server with one or more processors. In the event you license SQL Server on a per-processor basis, you will have unlimited client access to the server. No additional licensing requirements are necessary when using this license model. As a result, this license model is more appropriate for larger organizations that have many individual clients who need to access the SQL Server. In addition, this license model is best in the event you are planning to deploy a Web-based SQL Server solution that includes an unknown number of client connections. Per-Seat License If you do not license SQL Server based on the number of processors, you will need to purchase an appropriate number of client access licenses, called CALs. Each workstation on your network that will need to connect to the server will need a CAL. If the workstation is running a Microsoft-based application, a third-party application, or an application that your organization has developed internally, you will need a CAL. However, only one CAL is required per workstation, regardless of the number of applications the workstation supports that will be connecting to a SQL Server. This licensing model is more appropriate for smaller organizations that have a known number of clients accessing the server. Chapter Review This chapter introduced Microsoft s latest relational database management system, SQL Server 2000. It also introduced the Northwind Trader case study that will be used for illustration purposes throughout this exam guide. This chapter described SQL Server s architecture along with the primary services that are installed with SQL Server: SQL Server database engine, SQL Server Agent, Microsoft Distributed Transaction Coordinator, and the Microsoft Search service. In addition, the system databases that are installed with SQL Server were described along with common elements of a database, called objects. These objects included Constraints Indexes Rules Stored procedures

MCDBA SQL Server 2000 All-in-One Exam Guide 22 Tables Triggers Views In addition to providing an overview of SQL Server and its components, this chapter listed some of the new features included in SQL Server 2000 such as better memory management and the capability to run multiple instances of SQL Server on a single computer. The different operating systems supported by SQL Server 2000 were also listed. The chapter concluded with a discussion covering the planning considerations when installing SQL Server 2000. These considerations include identifying the primary function of the server and the performance and redundancy expectations of the server. Questions The following questions and answers are provided to help you evaluate your understanding of the material presented in this chapter. 1. You have been asked to install SQL Server on a computer that will only be used by a single user, who is a Visual Basic programmer for your organization. The user intends to develop an application that will be implemented for the sales department to query the SQL Server. The developer needs to be able to stop and start certain services when he or she tests the application. Which operating system should you select for this user? a. Windows 98 b. Windows NT 3.51 c. Windows NT 4 Server, Service Pack 2 d. Windows 2000 Advanced Server 2. You have been asked to install SQL Server 2000 on a Windows 2000 Server that will be used by your organization s Web server. This installation must have the highest level of uptime and availability. Which of the following SQL Server editions can be used to satisfy this need? a. SQL Server Enterprise Edition b. SQL Server Professional Edition c. SQL Server Standard Edition d. SQL Server Personal Edition 3. You have been asked to install SQL Server 2000 on a Windows 98 laptop computer to be used by the IT department manager. Which of the following SQL Server editions can be used to satisfy this need?

Chapter 1: Introducing Microsoft SQL Server 2000 23 a. SQL Server Enterprise Edition b. SQL Server Professional Edition c. SQL Server Standard Edition d. SQL Server Personal Edition 4. Which of the following SQL Server services manages transactions as a result of client queries to the database? a. SQL Server Database Engine (MSSQLServer service) b. SQL Server Agent (SQLServerAgent service) c. Microsoft Distributed Transaction Coordinator (MS DTC service) d. Microsoft Search service 5. You have been asked to configure a SQL Server to e-mail the lead executive sales manager in the event any customer places an order over $500,000. Which SQL Server component is used to ensure this e-mail is sent when an order is placed that meets the criteria? a. Tables b. Views c. Triggers d. Stored procedures Answers 1. d. Because Windows 98 does not support the service architecture, the developer cannot start and stop individual services as he or she tests the application. SQL Server 2000 requires Windows NT 4 Server with Service Pack 5 or greater. Therefore, of these operating systems, only Windows 2000 Advanced Server can be used. 2. a. No SQL Server Professional Edition is available and the Personal Edition is not scalable. Although the Standard Edition is scalable, it does not have advanced features that provide high availability or uptime. 3. a. No SQL Server Professional Edition is available and only the Personal Edition can be installed on a Windows 98 computer. 4. a. The MSSQLServer service handles transactions in addition to acting as the primary database engine responsible for all data management. 5. c. A trigger is used to respond to certain events that occur in a database. These events can include adding or updating a record and the result can be an e-mail sent to a specified address.