# Thursday, May 20, 2004

My pal Tom Howe always seems to be reformatting his computer at conferences the day before he speaks. I always mock him. As I leave for the most important conference of the year, TechED US in San Diego on Saturday, I am reformatting my laptop and reinstalling the OS.

I had some major issues. Boot sector issues (Richard Campbell gave me a few ideas, including messing w/ my BIOS). Video driver problems in XP. WiFi problems in Longhorn. The drive not being NTFS. SHall I go on? I seem to be in for a long night.

Thankfully we are doing our TechED demos off Ricahrd's laptop!! I usually follow my own advice, but the machine really needed a reformat. How many Dell laptops have been to Mt. Everest? I guess like me it just wants to go back.

posted on Thursday, May 20, 2004 3:30:29 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [17] Trackback
# Wednesday, May 19, 2004

The 9/11 Commission has went too far. It needs to be de-commissioned and is a waste of taxpayer money. In case you are not following, the commission was put together to find out what happened on 9/11 (I thought evil terrorists flew planes into buildings). In USA political speak, it was put together to point fingers. The 9/11 commission came to New York yesterday.


The 9/11 commission hearing yesterday in Manhattan turned into a series of angry finger-pointing exchanges — and one panel member ripped the city's response to the World Trade Center attack as "not worthy of the Boy Scouts."


I have never been so angry in my life. The emergency response team of the City of New York are absolute heroes. Every last one of them. I personally worked at the September 11th Fund for almost a year working on a database that distributed donations to the widows and orphans of the over 350 deceased cops and firemen. The money came from average Americans. They seem to agree with me.


To suggest that the emergency service people did not do a good job or even to suggest that they were unprepared is simply wrong and proof that the 9/11 commission has taken itself too seriously. Before 9/11 the largest disaster the city had to deal with was maybe a bad hurricane, not terrorists flying 767s into buildings. The fire department usually loses 3 or 4 firemen a year in bad fires. That day over 350 firemen died while responding to fires on the top floors of the world’s 3rd and 4th tallest buildings. Then those buildings collapsed and it took over 3 months to put the fires out and almost a year to clean up the debris.


So 9/11 Commission, why not do the right thing and resign and go home. Oh the report you are going to deliver in the summer?  I can sum it up for you here and save the taxpayers money:


  1. If the Clinton Administration knew about 9/11 they would have tried to stop it.
  2. If the Bush Administration knew about 9/11 they would have tried to stop it.
  3. We need more human intelligence Cold War style against al Qaeda.
  4. The Emergency Service Personal in New York, DC and PA are true American heroes. I have the Hero Stamp issued by the Post Office to prove it.
posted on Wednesday, May 19, 2004 9:55:24 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [14] Trackback
# Tuesday, May 18, 2004

The nation's tallest volcano and the continental US' second highest peak, Mt. Rainer is a great climb. I plan to stand on the summit and look at the beautiful Pacific Northwest this July.

While I like to climb this mountain (my photos from my trip up Rainer last year are here), it is also one that at over 14,000' demands tremendous respect. Whenever I fly into Seattle (which oddly is quite often) you can see it standing there all menacing above the clouds. On Saturday two climbers from the east coast tried to summit Rainer. The climbers were stranded at 12,300 feet from Saturday to Monday on a 45-degree slope with steep and rocky terrain above and below them. The climber who died fell 30 feet early Saturday on Liberty Ridge -- one of the most difficult routes up the 14,410-foot mountain. His climbing partner was able to reach him, set up a tent and call for help on a cell phone. A dramatic rescue happened on Monday, but unfortunately the climber died in the hospital.

A sad day for my sport and a great peak. My thoughts go out to the climber and his family today.



posted on Tuesday, May 18, 2004 11:25:18 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [16] Trackback
# Monday, May 17, 2004

My favorite TV show, “Law and Order” is a very good show. I Tivo it and it is basically the only show I really watch on TV. One problem, for the last 5 years there have been various spin-offs and there are reruns for Law and Order on like 7 days a week. So there is just way too much Law and Order on TV!! Law and Order overload.

Same problem in blogland. My mom has a blog. Bill Gates is considering blogging. Your mom has a blog. George Bush as a blog. My dog has a blog. Where does it end? When such stong willed people like Richard Campbell feel that they have to blog you know that the end is near.

Blogland is way too crowded. Now I have to keep up with the web, emails and blogs. Information overload. Help. I don't think it will get better anytime soon.

Suddenly I wish it were 1994 and we all had 14.4 modems.

posted on Monday, May 17, 2004 5:44:22 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [15] Trackback
# Sunday, May 16, 2004

Last night Malek flew in for a quick stopover in New York on his way to West Va and then San Diego for TechEd. Kathleen and I took him out on the town first for some beers and Mexican food. Then we went to Biddies for some beers with my pals Justin and Jack and the gang. Katlheen somehow managed to get a free beer glass from the bartender, it pays to be a hot blonde. All in all a good time was had by all.

Oh, Richard Campbell now blogs! Holy crap. This is going to be crazy.

Lastly, getting ready for not only teched, but the PDC in Karachi, Pakistan. We expect 1,500 developers, see you there!


posted on Sunday, May 16, 2004 12:06:34 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [8] Trackback
# Friday, May 14, 2004

Another successful CTTM (or now called SDC) in the Netherlands. What a great show and 7 RDs where speaking. Richard and I did a dry run of From Interoperability to Migration: SQL Server and Linux Databases Working Together and it went very well. Hopefully we can get Oracle to work and play well on the VPC image before our TechED session in 13 days. This session is quite cool, hope to see you all there.

DATC02  From Interoperability to Migration: SQL Server and Linux Databases Working Together
Monday, May 24 1:30 PM- 2:45 PM, Cabana 08
Speaker(s): Richard Campbell, Stephen Forte
Track(s): Data Management
"They" say it can be done, now see it in action! This session demonstrates how SQL Server can acts as the gateway to interoperability with Linux databases such as DB2 and Oracle! You'll see a fully functioning Linux-based web application using Red Hat Linux, Apache, PHP and Oracle sharing data with an identically implemented ASP.NET application using SQL Server. This session shows not only how to interoperate, but to use these interoperate capabilities to facilitate a seamless migration from the Linux based system to SQL Server and Windows . This is how migration was meant to be!


posted on Friday, May 14, 2004 2:30:52 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [18] Trackback
# Tuesday, May 11, 2004

So RedHat is offering a version of Windows that is geared to the desktop. But the “free” operating system of Linux will cost you $70 a year to RedHat for support, etc. Sorry this is doomed to fail.


Today I did a session on “From Interoperability to Migration: SQL Server and Linux Databases” where we showed an Oracle 10g instance running on RedHat trying to interoperate with SQL Server running on Windows 2003. We had several issues trying to get the Oracle to work as well as many other things. (Like the iSQL web client showing different results than the command line iSQL).


Let me say this to the Linux community. You love Linux because you are geeks. And in my geekier moments I think that there are some really awesome cool things in Linux. But I can’t walk my dad through most of the things in Linux. Nor is playing music or a DVD a trivial task. So my message is: Make Linux much easier to install and use by the average user. Then you stand a chance. Instead of bashing Microsoft, look at when they do well and try to improve on that and look at what Microsoft does poorly and try to make it better in your offering. If any Linux geek comments today that “Microsoft does nothing good” you’ve missed the point and can go continue playing with Linux in your own little world and I will continue to work with Microsoft in the real world.

posted on Tuesday, May 11, 2004 10:43:55 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [12] Trackback
# Monday, May 10, 2004

Today I gave software developers in the Netherlands a preview of the XML Features of SQL Server 2005 or better know by its code name “Yukon” (the US National Park, not the Canadian frozen land). I show off the very cool and advanced XML to Relational mapping. (Clemens is a big fan). I then talk all about the deep XML integration via the XML Data type. This is a native SQL Server type so we have the option to store XML in its native format. For example you can do just about anything a standard datatype can do, excluding Foreign Keys and PKs. Here is the XML Data Type at work in a variable:



SET @xmlData = (SELECT * From Customers where CustomerID='ALFKI'  FOR XML AUTO, TYPE)

SELECT @xmlData


The results look like this:

<Customers CustomerID="ALFKI" CompanyName="Alfreds Futterkiste" ContactName="Maria Anders" ContactTitle="Sales Representative" Address="Obere Str. 57" City="Berlin" PostalCode="12209" Country="Germany" Phone="030-0074321" Fax="030-0076545"/>


(1 row(s) affected)


Then it is fun to create tables with XML fields in them and do things like create an index on them, etc.

--create the table with the XML Datatype




Then you can insert some XML into the table, you can do this manually, from an XML Raw statement or via a XML file.

--Get some XML Data, can also use a file


SET @xmlData = (SELECT * From Orders FOR XML AUTO, TYPE)


--insert into the table

Insert Into OrdersXML (OrderDocID, xOrders) Values (1, @xmlData)


Then let’s add an index on that column:

CREATE XML INDEX idx_1 ON OrdersXML (xOrders)


It is more fun to create an XML Schema as data validation for data validation. This is my favorite thing about the XML integration, it gives you the best of both worlds. This shows off the deep integration of the XML model and the relational model, the XML Schema works just like a constraint, allowing us to validate the XML that we put into our XML data type fields in the database.


--xml schema as validation

use northwind


'<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"


            targetNamespace="http://corzen.com/customer" >

   <xsd:simpleType name="personAge" >

     <xsd:restriction base="xsd:float" >

       <xsd:maxInclusive value="65" />

       <xsd:minExclusive value="18" />



   <xsd:element name="age" type="tns:personAge" />




-- create table with xml column and use schema as a 'constraint'

CREATE TABLE xml_schematest (

   the_id INTEGER,

   xml_col XML('http://corzen.com/customer')




-- works

INSERT INTO xml_schematest VALUES(1,

 '<p:age xmlns:p="http://corzen.com/customer">55</p:age>')



-- fails, age > 65

INSERT INTO xml_schematest VALUES(2,

 '<p:age xmlns:p="http://corzen.com/customer">100</p:age>')



-- fails, column is validated on update also

UPDATE xml_schematest

  SET xml_col = '<p:age xmlns:p="http://corzen.com/customer">100</p:age>'

  WHERE the_id = 1


DROP TABLE xml_schematest



DROP XMLSCHEMA NAMESPACE 'http://corzen.com/customer'




But wait, there’s more! I show off a little bit of XQuery. What is cool is that XQuery is integrated fully with TSQL.



use adventureworks

--take a look at an XML column

select * from ProductModel where productmodelid=19


--query out a piece of data from the xml field

SELECT Name, CatalogDescription::query('

namespace PD="http://www.adventure-works.com/schemas/products/description"

<Product ProductModelID="{ /PD:ProductDescription[1]/@ProductModelID }" />

') as Result


FROM ProductModel


where Name like 'Mo%' and CatalogDescription::exist('

namespace PD="http://www.adventure-works.com/schemas/products/description"

namespace wm="http://www.adventure-works.com/schemas/products/WarrAndMain"

     /PD:ProductDescription/PD:Features/wm:Warranty ') = 1



posted on Monday, May 10, 2004 3:45:37 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback