| | Copyright |
| | About the Lead Authors |
| | | About the Contributing Authors |
| | | About the Technical Editors |
|
| | Acknowledgments |
| | Introduction |
| | | Who Is This Book's Intended Audience? |
| | | The Layout of This Book |
| | | Conventions Used in This Book |
| | | Good Luck! |
|
| | Part I. Welcome to Microsoft SQL Server |
| | | Chapter 1. The Microsoft SQL Server Environment |
| | | Overview of Client/Server |
| | | SQL Server 2000 Components and Features |
| | | Summary |
|
| | | Chapter 2. SQL Server 2000 Environments and Editions |
| | | SQL Server 2000 Environments |
| | | SQL Server 2000 Editions |
| | | SQL Server Licensing Models |
| | | Summary |
|
| | | Chapter 3. What's New in SQL Server 2000 |
| | | New SQL Server 2000 Features |
| | | SQL Server 2000 Enhancements |
| | | SQL Server and the .NET Framework |
| | | Summary |
|
|
| | Part II. SQL Server Tools and Utilities |
| | | Chapter 4. SQL Server Enterprise Manager |
| | | Establishing Server Groups and Registering SQL Server in Enterprise Manager |
| | | Server Configuration |
| | | Databases |
| | | Security |
| | | Server Management |
| | | Data Transformation Services |
| | | Support Services |
| | | System Tools |
| | | Replication |
| | | Using the Database Taskpad |
| | | Using the Query Designer |
| | | Scripting Objects |
| | | Getting Help |
| | | Summary |
|
| | | Chapter 5. SQL Server Command-Line Utilities |
| | | BCP |
| | | Data Transformation Services Utilities |
| | | ISQL/OSQL |
| | | makepipe and readpipe |
| | | ODBCcmpt |
| | | odbcping |
| | | rebuildm |
| | | regrebld |
| | | Replication Utilities |
| | | SQLDiag |
| | | SQLMaint |
| | | SQLServr |
| | | VSwitch |
| | | Summary |
|
| | | Chapter 6. SQL Server Query Analyzer and SQL Debugger |
| | | Query Analyzer |
| | | The SQL Debugger |
| | | Summary |
|
| | | Chapter 7. Using the SQL Server Profiler |
| | | SQL Server Profiler Architecture |
| | | Creating Traces |
| | | Saving and Exporting Traces |
| | | Replaying Trace Data |
| | | Defining Server-Side Traces |
| | | Profiler Usage Scenarios |
| | | Summary |
|
|
| | Part III. SQL Server Administration |
| | | Chapter 8. Installing and Upgrading SQL Server |
| | | Choosing a SQL Server Edition |
| | | Hardware Requirements |
| | | Software Requirements |
| | | Selecting Installation Configuration Options |
| | | Verifying Installation |
| | | Starting, Stopping, and Pausing SQL Server |
| | | Post-Installation Configuration |
| | | Installation Troubleshooting |
| | | Remote Installation |
| | | Unattended Installation |
| | | Installing a Named Instance |
| | | Upgrading from Previous Versions |
| | | Summary |
|
| | | Chapter 9. Client Installation and Configuration |
| | | The SQL Server Client Architecture |
| | | Installing Client Tools |
| | | Client Configuration |
| | | Network Protocol Support |
| | | Installing ODBC |
| | | Microsoft Driver for JDBC |
| | | Connecting to SQL Server over the Internet |
| | | Summary |
|
| | | Chapter 10. SQL Server System and Database Administration |
| | | Responsibilities of the System Administrator |
| | | System Databases |
| | | System Tables |
| | | System-Stored Procedures |
| | | Useful System Procedures |
| | | Other Methods of Querying the System Tables |
| | | Summary |
|
| | | Chapter 11. Creating and Managing Databases |
| | | What Makes Up a SQL Server Database? |
| | | Data Storage in SQL Server |
| | | Database Files |
| | | Creating Databases |
| | | Managing Databases |
| | | Setting Database Options |
| | | Summary |
|
| | | Chapter 12. Creating and Managing Tables in SQL Server |
| | | Datatypes |
| | | Numeric Datatypes |
| | | Datatype Synonyms |
| | | User-Defined Datatypes |
| | | Creating Tables |
| | | Creating Tables Using T-SQL |
| | | Creating Tables Using Table Designer |
| | | Viewing Table Properties and Data in Enterprise Manager |
| | | Limitations on Table Size and Dimensions |
| | | Dropping Tables |
| | | Temporary Tables |
| | | Summary |
|
| | | Chapter 13. Creating and Managing Indexes |
| | | Types of Indexes |
| | | Creating Indexes Using T-SQL |
| | | Creating Indexes Using Enterprise Manager |
| | | Managing Indexes |
| | | Dropping Indexes |
| | | Summary |
|
| | | Chapter 14. Implementing Data Integrity |
| | | Types of Data Integrity |
| | | Enforcing Data Integrity |
| | | Constraints |
| | | Rules |
| | | Defaults |
| | | Summary |
|
| | | Chapter 15. Security and User Administration |
| | | An Overview of SQL Server Security |
| | | Authentication Methods |
| | | SQL Server Security: Logins |
| | | SQL Server Security: Users |
| | | SQL Server Security: Roles |
| | | Managing SQL Server Logins |
| | | Managing SQL Server Users |
| | | Managing Database Roles |
| | | Managing SQL Server Permissions |
| | | SQL Server Permission Approaches |
| | | Object Owners |
| | | Using Encryption |
| | | Summary |
|
| | | Chapter 16. Database Backup and Restore |
| | | Developing a Backup and Restore Plan |
| | | Why Back Up Your Databases? |
| | | A Typical Backup and Restore Scenario |
| | | Types of Backups |
| | | Setting the Recovery Mode |
| | | Backup Devices |
| | | Media Sets and Families |
| | | Creating Backup Devices with Transact-SQL |
| | | Creating Backup Devices with SQL Enterprise Manager |
| | | Backing Up the Database |
| | | Backing Up the Transaction Log |
| | | Restoring the Database |
| | | Transact-SQL Restore Examples |
| | | Restoring to a Different Database |
| | | Restoring a File or Filegroup |
| | | Restoring to a Point in Time |
| | | Performing a Partial Database Restore |
| | | Restoring the System Databases |
| | | Additional Backup Considerations |
| | | Summary |
|
| | | Chapter 17. Database Maintenance |
| | | What Needs to Be Maintained |
| | | The Database Maintenance Plan Wizard |
| | | Setting Up Your Own Maintenance Tasks |
| | | The Database Console Commands (DBCC) |
| | | Using SQLMAINT.EXE for Database Maintenance |
| | | Summary |
|
| | | Chapter 18. SQL Server Scheduling and Notification |
| | | SQL Agent Overview |
| | | Configuring SQL Server Agent |
| | | Viewing the SQL Server Agent Error Log |
| | | Operators |
| | | Jobs |
| | | Alerts |
| | | Scripting Jobs and Alerts |
| | | Multiserver Job Management |
| | | Event Forwarding |
| | | Summary |
|
| | | Chapter 19. Managing Linked and Remote Servers |
| | | Remote Servers |
| | | Linked Servers |
| | | Adding, Dropping, and Configuring Linked Servers |
| | | Mapping Local Logins to Logins on Linked Servers |
| | | Obtaining General Information About Linked Servers |
| | | Executing a Stored Procedure Via a Linked Server |
| | | Setting Up Linked Servers Through Enterprise Manager |
| | | Summary |
|
| | | Chapter 20. Importing and Exporting SQL Server Data Using BCP and DTS |
| | | Bulk-Copy Program (BCP) |
| | | The Bulk-Copy Program |
| | | Logged and Non-Logged Operations |
| | | The BULK INSERT Statement (Transact-SQL) |
| | | Improving Load Performance |
| | | BCP Extras |
| | | Data Transformation Services (DTS) |
| | | DTS Architecture and Concepts |
| | | Package Execution Utilities |
| | | Running the DTS Wizard |
| | | DTS Designer |
| | | A Bit More on Metadata |
| | | Summary |
|
| | | Chapter 21. Administering Very Large SQL Server Databases |
| | | Do I Have a Very Large Database (VLDB)? |
| | | VLDB Maintenance Issues |
| | | Partitioning Data |
| | | Summary |
|
| | | Chapter 22. Data Replication |
| | | What Is Replication? |
| | | The Publisher, Distributor, and Subscriber Metaphor |
| | | Replication Scenarios |
| | | Replication Agents |
| | | Planning for SQL Server Data Replication |
| | | SQL Server Replication Types |
| | | User Requirements Drive the Replication Design |
| | | Setting Up Replication |
| | | Scripting Replication |
| | | Monitoring Replication |
| | | Summary |
|
| | | Chapter 23. SQL Mail |
| | | Setting Up an E-Mail Client/Profile |
| | | Configuring SQL Mail |
| | | Configuring SQLAgentMail |
| | | SQL Mail Stored Procedures |
| | | Summary |
|
| | | Chapter 24. SQL Server Clustering |
| | | From Windows NT Enterprise Edition to Windows 2000 Advanced Server |
| | | Cluster Services |
| | | SQL Clustering and Fail-Over Support |
| | | Network Load Balancing |
| | | Summary |
|
| | | Chapter 25. Defining System Administration and Naming Standards |
| | | The SQL Server Environment Approach |
| | | SQL Server Naming Standards |
| | | Summary |
|
|
| | Part IV. Transact-SQL |
| | | Chapter 26. Using Transact-SQL in SQL Server 2000 |
| | | T-SQL and ANSI/ISO SQL |
| | | What's New for T-SQL in SQL Server 2000 |
| | | SELECT , INSERT , UPDATE , and DELETE |
| | | SQL Server Functions |
| | | Programming Constructs |
| | | Cursors |
| | | Summary |
|
| | | Chapter 27. Creating and Managing Views in SQL Server |
| | | Definition of Views |
| | | Using Views to Simplify Retrieval of Data |
| | | Using Views to Hide Underlying Table Structures |
| | | Using Views as a Security Mechanism |
| | | Data Modifications and Views |
| | | Creating Views |
| | | Altering and Dropping Views |
| | | Partitioned Views |
| | | Indexed Views |
| | | Views and Query Performance |
| | | Summary |
|
| | | Chapter 28. Creating and Managing Stored Procedures in SQL Server |
| | | Advantages of Stored Procedures |
| | | Creating and Executing Stored Procedures |
| | | Deferred Name Resolution |
| | | Viewing and Modifying Stored Procedures |
| | | Using Input Parameters |
| | | Using Output Parameters |
| | | Returning Procedure Status |
| | | Cursors in Stored Procedures |
| | | Nested Stored Procedures |
| | | Using Temporary Tables in Stored Procedures |
| | | Using the table Datatype |
| | | Remote Stored Procedures |
| | | Debugging Stored Procedures with Query Analyzer |
| | | Debugging with Microsoft Visual Studio and Visual Basic |
| | | System Stored Procedures |
| | | Stored-Procedure Performance |
| | | Using Dynamic SQL in Stored Procedures |
| | | Autostart Procedures |
| | | Extended Stored Procedures |
| | | Stored Procedure Coding Guidelines and Limitations |
| | | Summary |
|
| | | Chapter 29. Creating and Managing Triggers |
| | | Benefits and Uses of Triggers |
| | | Creating Triggers |
| | | AFTER Triggers |
| | | inserted and deleted Tables |
| | | Checking for Column Updates |
| | | Nested Triggers |
| | | Recursive Triggers |
| | | Enforcing Referential Integrity with Triggers |
| | | INSTEAD OF Triggers |
| | | Summary |
|
| | | Chapter 30. User-Defined Functions |
| | | Why Use User-Defined Functions? |
| | | Types of Functions |
| | | Creating and Managing Functions |
| | | System-Wide Table Valued Functions |
| | | Rewriting Stored Procedures as Functions |
| | | Summary |
|
| | | Chapter 31. Transaction Management and the Transaction Log |
| | | What Is a Transaction? |
| | | How SQL Server Manages Transactions |
| | | Defining Transactions |
| | | Transaction Logging and the Recovery Process |
| | | Transactions and Batches |
| | | Transactions and Stored Procedures |
| | | Transactions and Triggers |
| | | Transactions and Locking |
| | | Coding Effective Transactions |
| | | Long-Running Transactions |
| | | Bound Connections |
| | | Distributed Transactions |
| | | Summary |
|
| | | Chapter 32. Distributed Transaction Processing |
| | | Distributed Transaction Processing |
| | | Distributed Queries |
| | | Linked Servers |
| | | Distributed Transactions |
| | | MS DTC Architecture |
| | | Summary |
|
|
| | Part V. SQL Server Internals and Performance Tuning |
| | | Chapter 33. SQL Server Internals |
| | | SQL Server Memory Management |
| | | SQL Server Process Management |
| | | SQL Server Disk I/O |
| | | SQL Server Storage Structures |
| | | Database Files and Filegroups |
| | | Database Pages |
| | | Tables |
| | | Indexes |
| | | Data Modification and Performance |
| | | Summary |
|
| | | Chapter 34. Indexes and Performance |
| | | Index Usage Criteria |
| | | Index Selection |
| | | Evaluating Index Usefulness |
| | | Index Statistics |
| | | Index Design Guidelines |
| | | Indexed Views |
| | | Indexes on Computed Columns |
| | | The Index Tuning Wizard |
| | | Choosing Indexes: Query Versus Update Performance |
| | | Summary |
|
| | | Chapter 35. Understanding Query Optimization |
| | | What Is a Query Optimizer? |
| | | Query Compilation and Optimization |
| | | Step 1: Query Analysis |
| | | Step 2: Index Selection |
| | | Step 3: Join Selection |
| | | Step 4: Execution Plan Selection |
| | | Reusing Query Plans |
| | | Other Query Processing Strategies |
| | | Parallel Query Processing |
| | | Data Warehousing and Large Database Query Strategies |
| | | Common Query Optimization Problems |
| | | Managing the Optimizer |
| | | Summary |
|
| | | Chapter 36. Query Analysis |
| | | Displaying Execution Plans in Query Analyzer |
| | | Query Analyzer Server Trace |
| | | Query Analyzer Client Statistics |
| | | SHOWPLAN_ALL and SHOWPLAN_TEXT |
| | | Statistics |
| | | Query Analysis with SQL Profiler |
| | | Summary |
|
| | | Chapter 37. Monitoring SQL Server Performance |
| | | Performance-Monitoring Approach |
| | | Performance Monitor |
| | | Windows Performance Counters |
| | | SQL Server Performance Counters |
| | | SNMP Support |
| | | Using DBCC to Examine Performance |
| | | Other SQL Server Performance Considerations |
| | | Summary |
|
| | | Chapter 38. Locking and Performance |
| | | The Need for Locking |
| | | Transaction Isolation Levels in SQL Server |
| | | The Lock Manager |
| | | Monitoring Lock Activity in SQL Server |
| | | SQL Server Lock Types |
| | | SQL Server Lock Granularity |
| | | Lock Compatibility |
| | | Locking Contention and Deadlocks |
| | | Table Hints for Locking |
| | | Optimistic Locking |
| | | Summary |
|
| | | Chapter 39. Database Design and Performance |
| | | Basic Tenets of Designing for Performance |
| | | Logical Database Design Issues |
| | | Denormalizing the Database |
| | | Database Filegroups and Performance |
| | | RAID Technology |
| | | Summary |
|
| | | Chapter 40. Configuring, Tuning, and Optimizing SQL Server Options |
| | | SQL Server Instance Architecture |
| | | Configuration Options |
| | | Fixing an Incorrect Option Setting |
| | | Setting Configuration Options with SQL Enterprise Manager |
| | | Obsolete Configuration Options |
| | | Configuration Options and Performance |
| | | Summary |
|
|
| | Part VI. Additional SQL Server Features |
| | | Chapter 41. Using XML in SQL Server 2000 |
| | | Creating a Virtual Directory for Use with SQL Server 2000 |
| | | Exploring Extensible Markup Language (XML) |
| | | Retrieving Data Using the FOR XML Clause |
| | | Using FOR XML RAW |
| | | Using FOR XML AUTO |
| | | Using FOR XML AUTO, ELEMENTS |
| | | Using FOR XML EXPLICIT |
| | | Retrieving XML-Data Schemas |
| | | Retrieving Binary Data in XML |
| | | The Basics of XML Path Language (XPath) |
| | | Using XML in Stored Procedures |
| | | Using OPENXML to Read XML |
| | | Using URL Queries |
| | | Using XML Templates |
| | | Using XML Updategrams |
| | | Summary |
|
| | | Chapter 42. Microsoft SQL Server Analysis Services |
| | | What Is Analysis Services and OLAP? |
| | | Understanding the Analysis Services Environment and the "Land of Wizards" |
| | | An Analytics Design Methodology |
| | | An Analytics Mini-Methodology |
| | | An OLAP Requirements Example |
| | | OLAP Cube Creation |
| | | Creating an OLAP Database |
| | | Working with a Relational Database |
| | | Files at the Operating System Level |
| | | Summary |
|
| | | Chapter 43. Microsoft Transaction Server |
| | | MTS Overview |
| | | Auilding an MTS Component |
| | | Installing an MTS Component |
| | | Configuring Security |
| | | Running an MTS Application |
| | | Using Database Connection Pooling |
| | | Summary |
|
| | | Chapter 44. SQL Server Full-Text Search Services |
| | | How Search Server Works |
| | | Setting Up a Full-Text Index |
| | | Maintaining Full-Text Indexes |
| | | Full-Text Searches |
| | | Using Document Filters |
| | | Summary |
|
| | | Chapter 45. SQL Server Notification Services |
| | | Introduction to SQL Notification Services |
| | | Obtaining and Installing SQL Notification Services |
| | | SQL Notification Services Architecture |
| | | Instances and Applications |
| | | Deploying and Configuring a Notification Services Instance |
| | | Monitoring and Administering a Notification Services Instance |
| | | Summary |
|
| | | Chapter 46. SQL Server and the Microsoft .NET Framework |
| | | The Microsoft .NET Framework Class Library |
| | | ADO.NET |
| | | .NET SQL Providers |
| | | .NET Concurrency Model (Default) |
| | | XML Externalization in .NET |
| | | A .NET Application Within Visual Studio .NET |
| | | Summary |
|
| | | Chapter 47. English Query |
| | | What Is English Query? |
| | | Getting Started with English Query |
| | | How Does English Query Work? |
| | | Building a Simple English Query Application |
| | | Contextual Information |
| | | Summary |
|
|
| | Index |