Book Review: SQL Server 2000 XML Distilled
Last updated: December 16th '02 | Best viewed with: All popular browsers | Best viewed at: 1024x768 | Links to external sites will open in a new window

About myself
My technical skills
My favorites
My picture album

Shortcut keys
My code library

VB resources
SQLServer resources
SQLServer books
Replication FAQ
Scripting resources
ASP resources

Search my site
Sign my guestbook
Contact information

This month's 2 click survey:
Is .NET important for a database professional?

SQL Server Articles New

Click here to find out the top 15 SQL Server books purchased by this site's visitors! NEW

Featured Book:
Real-World SQL-DMO for SQL Server, by Allan Mitchell and Mark Allison
NEW!!! Subscribe to my newsletter:
Want to keep in touch with the latest in SQL Server world? Email with 'subscribe' in the subject line

Title: SQL Server 2000 XML Distilled
Authors: Kevin Williams, Daryl Barnes, Bryant Likes, Stephen Mohr, Paul Morris, Andrew Novick, Andrew Polshaw, Simon Sabin, Jeni Tennison
Publisher: Curlingstone
ISBN: 1904347088
Pages: 600
Click here for more information or to buy this book from: or or

Click here to read a sample chapter from this book!

This book review is divided into the following sections:

The Book:

XML is one of a family of web standards for data description, validation, manipulation, and interchange. It enables the construction of application-specific data languages, which can be handled by generic tools. Its other main benefits are its platform independence, self-describing structure, and human readability.

All the big relational database vendors are adding XML support to their databases - and their confidence in XML as a maturing data standard is strengthening. Microsoft's commitment to XML extends beyond the database to include application and presentation layers, particularly in .NET. The nascent field of web services will depend on the effective interface between relational databases and the XML messages that link them.

SQL Server 2000 XML Distilled is for you if:

  • You are an experienced SQL Server professional (a DBA or data-tier developer) with a knowledge of the basics of XML who is being asked either to present relational data in an XML format, or to store XML data
  • You are wondering what the motivation is in combining SQL Server 2000 and XML
  • You want to understand what support SQL Server 2000 provides for these tasks
  • You need the detail on the latest SQL Server XML features provided in SQLXML 3.0
  • You are concerned about the security and performance consequences of the design choices you make

SQL Server 2000 XML Distilled shows you:

  • Where XML as a data model makes sense
  • When and how best to get both relational databases and XML to work together
  • How to set up and configure the SQL Server XML environment
  • How to query SQL Server data and return an XML format - FOR XML, URL, and template queries
  • Ways to map between relational and XML schemas
  • SQL Server Annotated Schemas, XML Views, and XPath queries
  • How to store XML data in a relational database - OPENXML, Updategrams, and SQLXML BulkLoad
  • .NET support for XML in SQL Server 2000 - SQLXML Managed Classes and DiffGrams
  • Case studies of multi-client data access and Biztalk working with SQL Server 2000
  • The future of XML support in SQL Server - web services and XQuery

Curlingstone is a new imprint providing practical information on all aspects of the technology, techniques and job roles that form the database community.

My Review of this Book:

XML is quickly becoming omni-present and it is very essential for every developer and DBA to have a good understanding of what XML is, how it works, how to use it effectively, and understand its advantages and disadvantages. Not surprisingly, there are so many books out there, that teach you how to work with XML. I did buy some "other" books (not going to name them here) before, with the idea of becoming a guru with SQLXML :-) But sadly, I didn't find them very useful and most of the information they provided can be found in SQL Server Books Online or MSDN. What I was looking for, was a practical guide to SQLXML, that deals with real world scenarios.

Recently, I received a copy of this book "SQL Server 2000 XML Distilled" from Curlingstone. Had a chance to read through chapters of my interest, and found this book to be "Complete". It is very comprehensive, covers a vast variety of aspects related to SQL Server in conjunction with XML. There are a couple case studies as well, that teach you how to implement SQLXML based solutions. The coverage of contents, goes way beyond Books Online and MSDN. Adequate attention is paid to performance related issues, where applicable. Best of all, this books is published very recently, so SQLXML version 3.0 SP1 is covered, which is the latest version of SQLXML available from Microsoft, at the time of writing this review (18th Jan 2003). The team of authors includes an SQL Server MVP and industry leading experts.

I highly recommend this book for any developer/programmer or DBA interested in learning and implementing XML based solutions.

Table of Contents:

Chapter 1: SQL Server, XML, and the DBA
     Data Based Computing
     What Aspects of XML are Relevant to Databases?
     XML and Relational Structures
     Mapping XML and Relational Data
     The Main Uses of XML Structures
     An Architectural View

Chapter 2: Architecture and Setup
     Architecture Overview
     Installation of SQLXML
     Creating SQLXML Virtual Directories
     Debugging Tools

Chapter 3: Mapping SQL Server to XML
     Considerations When Mapping Data
     XML Schemas vs. XML-Data Reduced Schemas
     Equivalent XML Datatypes
     Design Approach
     Inventory Example

Chapter 4: FOR XML
     Comparison of Server-Side and Client-Side XML Processing
     FOR XML Query Results
     Server-Side XML Processing
     Client-Side XML Processing

Chapter 5: URL Queries and Template Queries
     URL Queries
     Template Queries

Chapter 6: Annotating XML Schemas
     Why Annotate XML Schemas?
     XML Schemas vs. XDR Schemas
     The XML Schema Annotation Namespace
     Annotation Mechanisms

Chapter 7: XML Views
     The What and Why of XML Views
     Creating an XML View
     Accessing Data Through an XML View

Chapter 8: XPath Queries
     Overview of XPath
     Setting up the Sample
     From T-SQL to XPath
     Using XPath Queries
     Performance Considerations
     Security Issues

Chapter 9: Mapping XML to SQL Server
     Things to Consider
     Equivalent SQL Data Types
     Design Approach

Chapter 10: OPENXML
     Parsing an XML Document with OPENXML
     OPENXML Function Syntax
     Combining with Other Tables
     Using XML Data to Modify Tables
     Using XML Meta Data

Chapter 11: Updategrams
     What are Updategrams?
     Driving Updategrams with an Annotated Schema
     Default Mapping in Updategrams
     Inserting Data with an Updategram
     Deleting Data with an Updategram
     Updating Data with an Updategram
     Multiple Actions Within One Updategram
     Capturing Identity Values for Inserted Records
     Inverse Relationships in an Updategram
     Creating GUIDs as Part of an Updategram
     Generating Updategrams "on-the-fly"
     Applying Updategrams to a Database

Chapter 12: SQLXML Bulk Load
     Creating the Schema
     Sample Script
     Properties of the SQLXMLBulkLoad Object
     Completing the Script and Running it in DTS
     Differences from Other Bulk Load Interfaces

Chapter 13: Programmatic Access with SQLXML
     Programming XML with ADO
     Programming XML with ADO.NET
     SQLXML Managed Classes

Chapter 14: Web Services in SQL Server 2000
     What is a Web Service?
     Setting up a SQL Server 2000 Web Service With SQLXML 3.0
     Consuming Services Through Visual Studio.NET
     Further SQL Server 2000 Web Services Topics

Chapter 15: Case Study: Detecting Web Site Clients
     Benefits and Drawbacks of the Methods
     Basic Detection
     Client Detection using SQLXML
     Client Detection using SQLXML Managed Classes
     Client Detection using SQLXML and ADO

Chapter 16: Case Study: BizTalk Integration
     Software You Will Need
     HR and Departmental Databases
     Ideal Business Process
     BizTalk Primer
     First Problem
     BizTalk Messages
     HR Orchestration Schedule
     Department Phone List Schedule
     Testing the System
     Assessing the System

Chapter 17: The Future - Emergent Technologies
     ISO SQL/XML Working Draft (or SQLX)
     Oracle 9i Release 2 (9.0.2)
     W3C XQuery
     Microsoft Next Steps - Yukon
     So What Does all This Mean?

Appendix A: XPath Reference
     XPath Data Model
     Location Paths
     XPath 2.0 and XQuery

Appendix B: XML Schema Reference
     Namespaces for XML Schema
     XML Schema Elements
     Defining and Constraining Types
     Relationships and Null Fields
     Importing Schemas
     Varying XML Content
     The XML Schema Instance Namespace

Appendix C: A Tool for XML Queries
     Why is a Query Tool Useful?
     The Query Tool

Click here for more information or to buy this book from: or or

Click here to read a sample chapter from this book!