Books Home | About Us | Index | Next Record | Browse

The online computer book shop for UK & Europe                                   

Tel: 0121 706 6000 

Static Book Details Page - Computer Manuals Website

 Inside SQL Server 2000
  

  Inside SQL Server 2000 by Kalen Delaney

  • Published by: MICROSOFT PRESS
  • Author: Kalen Delaney
  • Page Count: 1000
  • Group: SQL SERVER 2000
  • ISBN: 0735609985 / 9780735609983
  • Published: Nov 2000

Our Price: 29.91
Discount: 32%
RRP: 43.99 

For Latest Pricing and Availability Click Here
 

The online computer book shop for UK & Europe

Book Information and Description:

Inside SQL Server 2000
Master the inner workings of today's premier relational database management system with this official guide to the SQL Server 2000 engine. Written by a renowned columnist in partnership with the product development team, this is the must-read book for anyone who needs to understand how SQL Server internal structures affect application development and functionality. Its extensive details about the latest product enhancements, updated installation and administration, and its development advice can help you create high-performance data-warehousing, transaction-processing, and decision-support applications that will scale up for any challenge. Topics covered include: * Evolution, architecture, and toolset: The history of SQL Server since 1989, an architectural overview, and a comprehensive tour of its tools and features * Planning and deployment: Everything you need to know about installation and deployment issues such as multiple instances, Super Sockets, and upgrades * Databases, files, tables, and data: How to create, modify, back up, and restore databases, files, and tables; and how to query and modify data * Built-in development tools: Using Query Analyzer and SQL Server Profiler to simplify system administration and optimize performance; programming with Transact-SQL; and extending functionality with batches, transactions, stored procedures, and triggers * Query-processing techniques: Multiple indexes, hash and merge joins, and data-manipulation capabilities such as parallel queries * Internal architecture: Low-level details of data and index-page structures, locking mechanisms, optimization, and plan caching * Integration with other tools: Usage with Microsoft Office 2000, Visual Studio development system, and the BackOffice server family INCLUDED ON TWO CD-ROMS! * A 120-day evaluation copy of Microsoft SQL Server 2000 Enterprise Edition * A searchable electronic copy of the book * Sample scripts * White papers and articles * Tools and utilities

FEATURES:

* Includes up-to-the-minute information about SQL Server 2000 with extensive coverage of critical new features.
* Author Kalen Delaney, a leading SQL Server trainer and columnist, imparts her in-depth knowledge of this milestone software product.
* Accompanying product information on CD serves as a key reference for solution builders and technology evaluators.

CONTENTS:

Table of Contents

Foreword xxi

Prefaces xxiii

System Requirements xxxv

Part I Overview

Chapter 1 The Evolution of Microsoft SQL Server: 1989 to 2000 3

SQL Server: The Early Years 4

Ron's Story 6

Kalen's Story 7

Microsoft SQL Server Ships 8

Development Roles Evolve 10

OS/2 and Friendly Fire 11

SQL Server 4.2 13

OS/2 2.0 Release on Hold 14

Version 4.2 Released 14

SQL Server for Windows NT 15

Success Brings Fundamental Change 20

The End of Joint Development 21

The Charge to SQL95 23

The Next Version 25

The Secret of the Sphinx 26

Software for the New Century 28

Chapter 2 A Tour of SQL Server 31

The SQL Server Engine 33

Transact-SQL 33

DBMS-Enforced Data Integrity 37

Declarative Data Integrity 38

Datatypes 39

CHECK Constraints and Rules 40

Defaults 40

Triggers 40

Transaction Processing 42

Atomicity 42

Consistency 43

Isolation 43

Durability 43

Symmetric Server Architecture 44

Traditional Process/Thread Model 44

SQL Server Process/Thread Model 45

Multiuser Performance 45

Security 46

Monitoring and Managing Security 47

High Availability 47

Distributed Data Processing 48

Data Replication 50

Systems Management 52

SQL Server Enterprise Manager 52

Distributed Management Objects 54

Windows Management Instrumentation 54

SQL-DMO and Visual Basic Scripting 55

SQL Server Agent 55

SQL Server Utilities and Extensions 57

Web Assistant Wizard and Internet Enabling 57

SQL Profiler 58

SQL Server Service Manager 59

System Monitor Integration 60

Client Network Utility 60

Server Network Utility 61

SQL Server Installation 61

OSQL and ISQL 61

SQL Query Analyzer 61

Bulk Copy and Data Transformation Services 62

SNMP Integration 63

SQL Server Books Online 63

Client Development Interfaces 63

ODBC 64

OLE DB 64

ADO 64

DB-Library 65

ESQL/C 65

Server Development Interface 65

Summary 66

Part II Architectural Overview

Chapter 3 SQL Server Architecture 69

The SQL Server Engine 69

The Net-Library 70

Open Data Services 74

The Relational Engine and the Storage Engine 77

The Access Methods Manager 81

The Row Operations Manager and the Index Manager 82

The Page Manager and the Text Manager 86

The Transaction Manager 87

The Lock Manager 90

Other Managers 91

Managing Memory 91

The Buffer Manager and Memory Pools 92

Access to In-Memory Pages 92

Access to Free Pages (Lazywriter) 93

Checkpoints 95

Accessing Pages Using the Buffer Manager 97

Large Memory Issues 97

The Log Manager 101

Transaction Logging and Recovery 101

Locking and Recovery 104

Page LSNs and Recovery 104

The SQL Server Kernel and
Interaction with the Operating System 106

Threading and Symmetric Multiprocessing 107

The Worker Thread Pool 109

Disk I/O in Windows NT/2000 111

Summary 111

Part III Using Microsoft SQL Server

Chapter 4 Planning for and Installing SQL Server 115

SQL Server Editions 116

Embedded SQL Server 119

Hardware Guidelines 119

Use Hardware on the
Windows Hardware Compatibility List 119

Performance = Fn
(Processor Cycles, Memory, I/O Throughput) 120

Invest in Benchmarking 121

Hardware Components 121

The Processor 122

Memory 124

Disk Drives, Controllers, and Disk Arrays 125

RAID Solutions 120

More About Drives and Controllers 137

Uninterruptible Power Supply 138

The Disk Subsystem 139

Fallback Server Capability 140

Other Hardware Considerations 141

The Operating System 141

The File System 142

Security and the User Context 143

Licensing 145

SQL Server Processor License 145

Server Licenses and CALs 145

Multiplexing: Use of Middleware,
Transaction Servers, and Multitiered Architectures 146

Multiple Instances 147

Network Protocols 150

Collation 150

Character Sets 151

Sort Orders 152

Multiple Instances 157

Installing Named Instances 158

Named Instance Server Connectivity 159

Installing SQL Server 160

Upgrading from a Previous Version 161

Basic Configuration After Installation 162

Starting the SQL Server Service 162

Changing the System Administrator Password 163

Configuring SQL Server's Error Log 164

Working with Multiple Instances 164

Remote and Unattended Installation 166

Remote Installation 167

Unattended Installation 167

Changing Installation Options 168

Adding Additional Components 169

Summary 170

Chapter 5 Databases and Database Files 171

Special System Databases 172

master 172

model 173

tempdb 173

pubs 174

Northwind 174

msdb 175

Database Files 175

Creating a Database 176

A CREATE DATABASE Example 178

Expanding and Shrinking a Database 179

Automatic File Expansion 179

Manual File Expansion 179

Automatic File Shrinkage 179

Manual File Shrinkage 180

Changes in Log Size 182

Log Truncation 185

Using Database Filegroups 186

The Default Filegroup 187

A FILEGROUP CREATION Example 189

Altering a Database 190

ALTER DATABASE Examples 191

Databases Under the Hood 192

Space Allocation 194

Setting Database Options 197

State Options 198

Cursor Options 202

Auto Options 202

SQL Options 203

Recovery Options 205

Other Database Considerations 205

Databases vs. Schemas 205

Using Removable Media 206

Detaching and Reattaching a Database 207

Compatibility Levels 208

Backing Up and Restoring a Database 209

Types of Backups 210

Recovery Models 211

Choosing a Backup Type 214

Restoring a Database 215

Summary 219

Chapter 6 Tables 221

Creating Tables 222

Naming Tables and Columns 223

Reserved Keywords 224

Delimited Identifiers 224

Naming Conventions 225

Datatypes 226

Much Ado About NULL 235

User-Defined Datatypes 239

Identity Property 241

Internal Storage 245

Data Pages 246

Examining Data Pages 248

The Structure of Data Rows 252

Column Offset Arrays 254

Storage of Fixed-Length and Variable-Length Rows 255

Page Linkage 259

Text and Image Data 260

sql_variant Datatype 266

Constraints 270

PRIMARY KEY and UNIQUE Constraints 271

FOREIGN KEY Constraints 277

Constraint-Checking Solutions 286

Restrictions on Dropping Tables 287

Self-Referencing Tables 287

CHECK Constraints 289

Default Constraints 294

More About Constraints 298

Altering a Table 306

Changing a Datatype 306

Adding a New Column 308

Adding, Dropping, Disabling, or Enabling a Constraint 308

Dropping a Column 309

Enabling or Disabling a Trigger 309

Temporary Tables 309

Private Temporary Tables (#) 310

Global Temporary Tables (##) 310

Direct Use of tempdb 311

Constraints on Temporary Tables 311

System Tables 312

Summary 315

Chapter 7 Querying Data 317

The SELECT Statement 317

Joins 320

Outer Joins 324

The Obsolete *= OUTER JOIN Operator 329

Cross Joins 335

Dealing with NULL 336

NULL in the Real World 340

IS NULL and = NULL 343

Subqueries 345

Correlated Subqueries 350

Views and Derived Tables 357

Altering Views 361

Partitioned Views 362

Other Search Expressions 365

LIKE 365

BETWEEN 371

Aggregate Functions 371

Datacube - Aggregate Variations 378

TOP 392

UNION 395

Summary 401

Chapter 8 Indexes 403

Index Organization 404

Clustered Indexes 406

Nonclustered Indexes 406

Creating an Index 408

Constraints and Indexes 410

The Structure of Index Pages 411

Clustered Index Rows with a Uniqueifier 412

Index Row Formats 415

Index Space Requirements 427

B-Tree Size 427

Actual vs. Estimated Size 428

Managing an Index 431

Types of Fragmentation 431

Detecting Fragmentation 432

Removing Fragmentation 435

Special Indexes 437

Prerequisites 437

Indexes on Computed Columns 441

Indexed Views 443

Using an Index 446

Looking for Rows 446

Joining 446

Sorting 446

Grouping 448

Maintaining Uniqueness 448

Summary 448

Chapter 9 Modifying Data 449

Basic Modification Operations 449

INSERT 450

UPDATE 463

DELETE 465

Modifying Data Through Views 467

Data Modification Internals 476

Inserting Rows 477

Splitting Pages 477

Deleting Rows 481

Updating Rows 489

Table-Level vs. Index-Level Data Modification 495

Logging 497

Locking 497

Summary 498

Chapter 10 Programming with Transact-SQL 499

Transact-SQL as a Programming Language 500

Programming at Multiple Levels 501

Transact-SQL Programming Constructs 503

Variables 503

Control-of-Flow Tools 510

CASE 511

PRINT 514

RAISERROR 515

FORMATMESSAGE 518

Operators 519

Scalar Functions 527

Table-Valued Functions 562

Transact-SQL
Examples and Brainteasers 563

Generating Test Data 563

Getting Rankings 567

Finding Differences Between Intervals 573

Selecting Instead of Iterating 578

Full-Text Searching 579

Full-Text Indexes 581

Setting Up Full-Text Indexes 582

Maintaining Full-Text Indexes 585

Querying Full-Text Indexes 589

Performance Considerations for Full-Text Indexes 597

Summary 598

Chapter 11 Batches, Stored Procedures, and Functions 599

Batches 600

Routines 604

Stored Procedures 605

Nested Stored Procedures 607

Recursion in Stored Procedures 608

Stored Procedure Parameters 613

User-Defined Functions 617

Table Variables 617

Scalar-Valued Functions 618

Table-Valued Functions 621

System Table-Valued Functions 624

Managing User-Defined Functions 624

Rewriting Stored Procedures as Functions 627

Rolling Your Own System Routines 628

Your Own System Procedures 628

Your Own System Functions 630

Executing Batches, or What's Stored
About Stored Procedures (and Functions)? 632

Step One: Parse Commands and Create the Sequence Tree 632

Step Two: Compile the Batch 632

Step Three: Execute 632

Step Four: Recompile Execution Plans 634

Storage of Routines 636

Encrypting Routines 637

Altering a Routine 640

Temporary Stored Procedures 640

Private Temporary Stored Procedures 640

Global Temporary Stored Procedures 641

Procedures Created from Direct Use of tempdb 641

Autostart Stored Procedures 642

System Stored Procedures 643

General System Procedures 644

Catalog Stored Procedures 645

SQL Server Agent Stored Procedures 646

Replication Stored Procedures 646

Extended Stored Procedures 647

Execute("any string") 653

Summary 655

Chapter 12 Transactions and Triggers 657

Transactions 657

Explicit and Implicit Transactions 659

Error Checking in Transactions 660

Transaction Isolation Levels 666

Other Characteristics of Transactions 676

Nested Transaction Blocks 677

Savepoints 681

Triggers 682

After Triggers 682

Instead-of Triggers 688

Managing Triggers 692

Using Triggers to Implement Referential Actions 692

Recursive Triggers 700

Summary 701

Chapter 13 Special Transact-SQL Operations:
Working with Cursors and Large Objects 703

Cursor Basics 704

Cursors and ISAMs 707

Problems with ISAM-Style Applications 710

Cursor Models 711

Transact-SQL Cursors 711

API Server Cursors 712

Client Cursors 713

Default Result Sets 714

API Server Cursors vs. Transact-SQL Cursors 714

Appropriate Use of Cursors 715

Row-by-Row Operations 716

Query Operations 716

Scrolling Applications 717

Choosing a Cursor 718

Cursor Membership, Scrolling, and Sensitivity to Change 720

Working with Transact-SQL Cursors 725

DECLARE 726

OPEN 728

FETCH 729

UPDATE 730

DELETE 731

CLOSE 731

DEALLOCATE 732

The Simplest Cursor Syntax 732

Fully Scrollable Transact-SQL Cursors 732

Concurrency Control with Transact-SQL Cursors 735

Cursor Variables 743

Obtaining Cursor Information 744

Working with Text and Image Data 750

WRITETEXT 752

READTEXT 755

UPDATETEXT 761

Summary 769

Part IV Performance and Tuning

Chapter 14 Locking 773

The Lock Manager 773

The Lock Manager and Isolation Levels 774

Spinlocks 775

Deadlocks 775

Lock Types for User Data 779

Lock Modes 780

Lock Granularity 780

Lock Duration 790

Lock Ownership 790

Viewing Locks 791

Lock Compatibility 798

Internal Locking Architecture 800

Lock Blocks 802

Lock Owner Blocks 804

Syslockinfo Table 804

Bound Connections 807

Row-Level vs. Page-Level Locking 811

Lock Escalation 812

Locking Hints and Trace Flags 813

Summary 813

Chapter 15 The Query Processor 815

The SQL Manager 816

Compilation and Optimization 816

Compilation 817

Optimization 818

How the Query Optimizer Works 820

Join Selection 839

Other Processing Strategies 845

Maintaining Statistics 846

The Procedure Cache 852

Using Stored Procedures and Caching Mechanisms 855

Ad Hoc Caching 856

Autoparameterization 856

The sp_executesql Procedure 857

The Prepare and Execute Method 857

Sharing Cached Plans 857

Examining the Plan Cache 858

Multiple Plans in Cache 860

When to Use Stored Procedures
and Other Caching Mechanisms 862

Recompiling Stored Procedures 862

Other Benefits of Stored Procedures 863

Execution 865

Summary 865

Chapter 16 Query Tuning 867

The Development Team 868

Application and Database Design 868

Normalize Your Database 869

Evaluate Your Critical Transactions 871

Keep Table Row Lengths and Keys Compact 873

Planning for Peak Usage 874

Perceived Response Time for Interactive Systems 874

Prototyping, Benchmarking, and Testing 876

Development Methodologies 878

Creating Useful Indexes 880

Choose the Clustered Index Carefully 881

Make Nonclustered Indexes Highly Selective 882

Tailor Indexes to Critical Transactions 883

Pay Attention to Column Order 885

Index Columns Used in Joins 885

Create or Drop Indexes as Needed 887

The Index Tuning Wizard 887

Monitoring Query Performance 889

STATISTICS IO 889

STATISTICS TIME 893

Showplan 893

Using Query Hints 908

Stored Procedure Optimization 912

Concurrency and Consistency Tradeoffs 914

Resolving Blocking Problems 915

Indexes and Blocking 917

Resolving Deadlock Problems 919

Cycle Deadlock Example 919

Conversion Deadlock Example 919

Preventing Deadlocks 922

Handling Deadlocks 922

Volunteering to Be the Deadlock Victim 923

Watching Locking Activity 923

Identifying the Culprit 924

Lock Hints 931

Segregating OLTP and DSS Applications 934

Environmental Concerns 935

Case Sensitivity 935

Nullability and ANSI Compliance Settings 936

Locale-Specific SET Options 942

Summary 942

Chapter 17 Configuration and Performance Monitoring 943

Operating System Configuration Settings 944

Task Management 944

Resource Allocation 944

PAGEFILE.SYS Location 945

File System Selection 945

Nonessential Services 946

Network Protocols 946

SQL Server Configuration Settings 946

Serverwide Options 947

Buffer Manager Options 958

Startup Parameters on SQLSERVR.EXE 960

System Maintenance 960

Monitoring System Behavior 961

SQL Profiler 961

System Monitor 976

Other Performance Monitoring Considerations 985

Summary 985

Bibliography and Suggested Reading 987

Index 993

 

Book store with some thing for everyone