Thursday, May 27, 2004 - Posts
Okay, I eaten my hat, so now its time to see the Magnificent One himself talk
to us about SQLXML
- Version 1.0 features
- FOR XML and OpenXML
- Templates, the ISAPI filters and annotated schemas
- ADO/OLEDB provider
- Move over to Annotated XSD schemas instead of XDR
- Updates in 2.0
- Updategrams
- Bulkload
- XSD
- SqlXml managed classes
- Client-Side FOR XML
- Web Service Support
- Current release
- ID propagation support for Bulkload
- NULL support for Web Services
- All of this will be in Yukon, plus more
- Showed the rainbow chart.
- XML Views is the core
- Virtual XML document over a resultset
- Start with XSD with special elements mapping tables (sql:relation)
and columns (sql:field)
- Issue queries (using XPath) to that schema
- Can support deep and reach hierarchy
- Talked about using sql:overflow-field to add non-mapped data
- Demo of query. Talked about is-constant to generate a container
element.
- Remember that IE won't render poorly-formed XML.
- Question was asked if profiler saw the underlying T-SQL, yes.
- Question was asked if the XPath filtered was applied client or
server side. The full XPath is translated into the clause first.
- Advantages: much easier than for FOR XML queries. Multiple database
can be mapped with a view again and again.
- XML views are updatable
- Decouple of shaping from query.
- Use cases
- A very good way to share data with XML as commonality layer
- Talked about XMLBulk Loader.
- Showed using the managed classes to load an annotated schema, adding
an XPath and streamed the results to a file.
- Non managed class for bulkload, but does work via Inter-Op
- Discussion of doing O/R with SqlXml
- Good, basic demo of updategrams
- Good use of XmlTemplates is to wrap stored procedures to generate XML
output.
- Bummer, no discussion of SQLXML4 features.
I'm really impressed with Irwin as a speaker. Friendly, straight-forward with
and did some good demos.
Something that I haven't really blogged much about is just how freaking cool
some of the experiences TechEd encounters have been. It's been great meeting a
ton of new people as well as catching up with old familiar faces. But there's
one that really sticks out in my head. The other morning I was sitting in the
data cabana trying to help a rather nice lady understand an query plan output.
There were some things I was with it that looked bad, but I wasn't really able
to clearly explain the concepts to her. Guess we just got lucky as Itzik Ben-Gan
was walking by. I asked if we could and would help and he did.
Just watching him go was an experience. So confident, so precise, so
down-to-earth about it. It blew me away and I hope learned something about
explaining hash, stream and many-merges better for the experience.
If you ever get the chance to see him in action, do it.

I’m a blasphemer.
I’m a liar.
I was wr… wr… wro… wron….
I was mistaken.
Seems that some folks read my posting from Srik’s SQL Web Services session and thought I had XML Web Services replaces, sucks in and otherwise makes rid of SQLXML.
Untrue. What having the web services in-process provides a server-side version of what SQLXML provides as a client-side technology running on top of IIS.
And now I’m sorry. Forgive me Irwin and Michael.
SQLXML is still alive, kicking and will be getting even better with Yukon, as we’re about to see.
I’ll just eat my hat now.

Talking are Andrew Conrad, Luca Bologenese, Pablo Castro, Mark Fussell and Arpan Desai
- By majority vote, the US will win the World Cup
- ADO.NET about Relational Database and is the performance-driven stack. Makes data binding very easy.
- The XML hype is over and that's a good thing. "XML is a defacto developer skills." XML will be around for the next 50 years.
- XQuery is the "death star" of the data space. It will be a fundamental skill. Has lots of momentum. Next step in XML evolution. Highly likely we will see XQuery in office and BizTalk in future releases.
- SQLXML is more client side. New version with Yukon. Annotated Query refinements
- O/R - Best when the data schema is big. This space is crowd for Microsoft. ObjectSpaces is merging with WinFS. Decided that the unified presentation is the way to go. Do More With Less.
- More desired change for ADO.NET: Mixing of meta-data and data is too common. I can see this when Pablo talked about it, but it hadn't really bothered me that much.
- With SQLCLR, I can use ADO.NET. ADO.NET is a procedural API, so its better on the client. It would be very bad to do table scans with procedural code. SQLClient is available, so you can use to go off server
- XML desired change: Kill the DOM API at the beginning. Data Model fits the query language. Stonger XML URL Resolver. Performance of XmlDataDocument is ugly. Effectively a dead-end path. Use SQLXML or XPath to generate XML from relational data instead of a DataSet class.
- Bill Vaughn asked: "What is % of people will actually use O/R data access methods?" He wants strongly type stored procedures over the CRUD range. There will be a StronglyTypeAdapter in Whidbey. Billed asked for more funding for the O/R efforts. I kind of disagree with Bill's assertion that XML is just a cute meta access metaphor.
- Question about Remoting Object spaces: Yes,
- Remoting DataSets (over binary) will be supported. Kick ass. RemotingFormat property on both DataSet and DataTable.
- Talk about nullable types to work around for impedience mismatch. Generics have helped a lot.
- XML 1.1. The cost of supporting this for Microsoft exceed the cost of implement. XML 1.1 in has some backward breaking features.
- XQuery looks just like XSLT: XQuery is somewhat a middle ground between procedural languages and
- What's missing from XPath: Sort, XML generation.
Got to this very late thanks for a very interesting lunch I enjoyed with Levi
Erdmann (State of ND) and Jenni French of MS.Com. Michael, if you are reading
this, could you send me or post your examples?
- XML Index
- XML Primary is on XML typed column
- XML Secondary indices on elements and attributes
- XML Data Modification
- Standard CRUD is support for XML typed columns
- FOR XML Examples
- Showed Linked view of XML Type
- For XML RAW("x") generates X instead of ROW as element name
- For XML RAW, ELEMENTS generates element-centric XML
- For XML RAW, XSINIL will generate an XSI:NIL attribute for elements
that would map for null results
- For XML RAW, TYPE generates true XML data type instance
- For XML AUTO now supports recursive query select * (select * from
orders where orders.customerid=customer.customerid.id for xml auto,
type) from customers for xml auto, type
- FOR XML EXPLICIT (query from hell mode) still uses universal table
approach
- FOR XML PATH. ok, this is trippy. I need to post on this
- The FOR XML Aggregator accepts a row and other directions and generates
the XML and spits back the results
- FOR XML is fully backward comptabile, timestamps will be serialized
differently
- Talked about OpenXML2 integrates natively with XML Type
- MSXML3 is the underlying engine with Yukon
- Full-Text search treats identifiers as word bounds these are removed.
There as a note that was that attributes are removed from the indexing
model. Does that the mean just the attribute name or both the name and the
value.
- Full-text supports language
- XML Data Access, SQLOLEDB is either a string on ISequentialStream; COM
(ADO,
- Managed code gets XML type if data is returned that way
- SQLXML and SQLSOAP turn XML Character Stream.
- XML Data type support fully supports data binding in ADO.NET 2.
Through presentation, but quickly paced. You're really going to have make all
of these presentations to appreciate what's in play here.
Got to this session late as was having a great chat with Bernard Wong from
the Southern California district.
- Euan said it was important for them provide a great operational
experience for the administrators
- The support API mantra is "no secrets"
- New configuration tool is SQL Computer Manager, a one place stop for
managing all of services. All based on MMC. Will be available with MSDE
(thank you very much)
- Did a demo of SQL Server Management Studio
- Two modes: Connected or Disconnected. Connected by default in B2
(thank you!)
- Preconnect and prepopulate object explorer (thank you!)
- Can filter the server explorer tree (sweet)
- Task pane can run reporting services reports, so you can customize
what you see. If you have one of your own, share it with Microsoft. If
they like it and can use it, they'll put it in the product.
- Almost all dialogs are now non-modal
- Self-refreshing activity monitor windows
- Log Viewer allows merged viewing of NT Event Log and SQL Server logs
- Did a demo of the new Query Analyzer which looks kind of like a Visual
Studio screen
- Editor looks and feels
- No Intellisense for T-SQL (just couldn't get it working great)
- Show plan has a mini map that allows you visually navigate the plan.
- Jab back at the PC folks about it being a "blue X" on the loser of a
deadlock with the deadlock viewer
- SQL Server registration can load from a file of servers
- B2 won't have a debugger in SQLManStudio, but B3 will.
- Maintenance plan changes
- Make this sucker more transparent
- Demo failed, but it works like the DTS design surface.
- Demo of dynamic help. The very cool news is that SQLJunkies is a top
root integrator. Oh dear, I might be getting a ton of traffic.
- Profiler won't require SA any more! Kick butt.
- Good demo of SQL Command
- Very brief demo of SQL IMail. NO MAPI required. SQLMail is depreciated
and goes away in the version after the next version of SQL Server.
- Talked about Mercury (SQL Web Admin) This will be shared source
and released after B2.
Very good presentation. Too bad about the connection problems, but I love the
message of NO SECRETS.