Archives

Archives / 2004 / April
  • Sql Server Yukon book proposal

    I decided to post this here with the hope that a book publisher or another author might be interested.  This was a tentative Outline / TOC Sql Server Yukon book that myself and few others had proposed to a couple of publishers.  When we first shopped it, we got the response that Yukon was too far out but that they would keep us in mind.  We have never heard back from anyone despite several followups.  My guess is that the bloody state of the technical book publishing industry is to blame.  If you are a publisher and are interested, click the contact link on my blog to get ahold of me. 

    If you are an author working on some Sql Server book or a Whidbey book and need a co-author (or someone for a chapter or two), let me know.

    If you have any suggestions with regards to the book Outline / TOC, let me know.  This was fairly tentative given what we knew at the time of the writting.

    Introduction: This is an outline / TOC for the proposed book “Enterprise Developer’s Guide to Microsoft Sql Server Yukon.”  Microsoft is currently working on the next major upgrade to its enterprise database.  This major upgrade is expected to add a number of new features to the database and to the features that developers may use to build solutions for customers.  For this point forward, the term “Sql Server” will refer to the Microsoft Sql Server “Yukon” release unless otherwise stated.

     

    Outline:

    1.  Introduction to Sql Server.

    What is it.

    Short History.

    Design Goals.

    Architecture.

    Engine.

    Tools.

    2.  Sql Server Yukon Management Tools.

    Sql Workbench

    Profiler.

    DTS.

    SqlCmd.

    Sql Computer Manager.

    3.  Database Design.

    Creating databases and tables.

    Normalizing data.

    Primary Keys.

    Foreign Keys.

    Indexes.

    Full Text Search.

    Views.

    4.  Datatypes in Yukon.

    Standard datatypes.

    New, enhanced datatypes.

    Large varchar / varbinary

    Time.

    SqlUtcDataTime

    SqlUtcTime

    SqlDate

    5.  T-SQL Language & Enhancements.

    T-SQL Language.

    Stored Procedures.

    DDL

    Integrate with the CLR.

    Triggers.

    Genealogy.

    6.  Integration with the .NET Framework.

    CLR support.

    Security.

    Sql Server Namespaces

    System.Data.SqlServer.

    System.Data.SqlFunctions

    Attributes.

    SqlContext.

    SqlPipe.

    SqlTriggerContext.

    GetReturnResultSet.

    Development.

    Stored Procedures.

    Functions.

    Comparing the .NET and TSql equivalent functionality.

    Debugging.

    7.  Data Access and programmability.

    ADO.NET.

    Connection.

    Command.

    DataAdapter.

    DataReader.

    ResultSet.

    Async Support.

    Multiple Resultsets.

    BulkCopy

    Paging.

    SqlDataTable.

    Changes to System.Data.SqlTypes

    Ole-Db.

    ODBC.

    Classic ADO.

    DMO.

    8.  Integration with XML.

    XQuery.

    XPath.

    Web Services.

    9.  Notification Services.

    10.  Service Broker aka Message queueing.

    Featureset

    Dialogs.

    Service Instance.

    Message ordering.

    Full & half duplex.

    Message management (breakup and putback together).

    Scalability enhancements.

    11.  Tuning for an application.

    Profiling application calls.

    Diagnostic Data.

    Profiler.

    Performance Monitor.

    12.  Transaction support.

    Cursors.

    Integrity and locking.

    Integration with other data sources.

    Replication and other design issues.

    13.  DataAnalysis.

    OLAP

    Data Warehousing.

    Business Intelligence and Analysis.

    Analysis tools.

    Excel.

    Access.

    14.  DBA issues.

    Installation.

    Configuring.

    Sql Server Agent and maintennance.

    Replication.

    Transferring data.

    Bulkcopy.

    DTS.

    Bakup/Recovery.

    15.  Migration.

    16.  Server and Hardware Performance settings / tuning.

    CPU assignment.

    Threading.

    Memory allocation.

    Hard drive configuration.

     

  • Yukon included with the VS.NET 2005 March bits?

    Paul Murphy says that something called Sql Express is included with the VS.NET 2005 March bits.  It is in the wcu\SSE directory off of the root of the DVD image.  Anyone know exactly what Sql Express is?  According to various emails that I have seen running through my mailbox, the Sql Express release won't install with the VS.NET 2005 bits and I have confirmed that on my machine.  Wish me luck, I am getting ready to install Sql Express onto a Virtual PC session...................

    Wally

  • New Search Pet Project - NNTP Newsgroup Spider and Search

    So, I started thinking about other things that I can search on besides the web.  This time, I actually thought of something useful.  Another pet project of mine has been newsgroups.  While my code and database for the Web Search were stuck in Seattle, I started working on a similar project to search NNTP newsgroups.  I started looking for NNTP communications libraries.  I found one called Smilla and its accompyaning code.  Currently, all my code is connect to an NNTP server and retrieve the news groups themselves.  I just started today working on returning the posted articles.  This will be very interesting.  In some ways, it will be similar to the Web Search.  In other ways, it will be very different.  Using some of the tricks I learned in the Web Search code, I am planning on spawning a thread for each newsgroup, dumping articles into a MSMQ queue, and then picking them up to be inserted in the database.  Hopefully, this will be easier than the Web Search due to the fact that the data will not grow continually like it does with the Web Search.  It will be quite fun to see how things go.  More coming soon............

    Wally

  • Newest problem with Web Searching

    I have found a new problem with my Web Search code.  It seems that there are “gravity wells” on the internet with regards to links.  The biggest “gravity well” seems to be Amazon.com.  I started watching the Sql Profiler and I noticed that the system was becoming fairly slow with regarding to inserts of new records and the queues seemed to be continually backing up.  I then started looking at the data that was being inserted.  All of the slow inserts were going against Amazon.com.  It is my guess that the number of Amazon.com inserts was creating a “hot spot” in the database with regards to the management of the indexes.  So, my next step is going to be putting some type of “governor” into the system so that it won't fill up with entries from any of the “gravity wells.”  I have a pretty good idea how to do implement this within the confines of the database and to be as efficient as possible.  The only problem?  I left my 250 gigabyte firewire drive at the W hotel in Seattle.  This is the drive with my Web Search code and database.  It should be delivered on Wednesday or Thursday.

    Wally

  • Finally above water

    Well, I got back from MVP Summit last week and I have been nearly underwater with Easter and customer issues.  I wanted to take a moment and thank a couple of people that I met last week.  Some I met for the first time, others I had met before. 

    • Kirk Evans, Scott Sargent, and Phil Winstanley.  You guys are awesome.  Since we talk, email, and IM so much, I feel like I know you so well, though I have only physically met you guys a few times. 
    • Ben Miller.  You are the man.  Ben is the ASP.NET MVP lead and a great guy.  He went the extra mile on EVERY question that I asked him.
    • David Penton.  David is a great guy and a SQL guru.  He has answered many of my database questions in the past.  What a cool dude to hang out with.  “What happens in Seattle, stays in Seattle.“
    • AspInsiders.  There were so many folks from the AspInsiders that I met.  While I am an AspInsider, I really don't have a lot of interaction with everyone else do to the fact that I am the technology desert.
    • Shaykat.  Wow, what a great guy.  I remember Shaykat from a few years ago during the beta days of .NET 1.0.  He was exceedingly helpful with showing me some of the tricks with the debugger in VS.NET.  I finally got to meet him last week.

    The plane ride home was pretty rough.  I took the 11:25 redeye on Wednesday night to Chicago O'Hara airport.  We got in there at about 5:00 am.  I didn't know that Chili's served breakfast until then.  I went to my gate, watched some TV, and promptly fell asleep on the floor.  I woke up when they did a bording call for my flight to Knoxville.  I got on the plane.  I remember us moving away from the gate.  The next thing I remember is the pilot announcing that we were about 80 miles from Knoxville.  We touched down about 10:30 am on Thursday morning. 

    All in all, the Summit was what I had expected.  It had its high points and its not so high points.  Anyone need breakfast at 4:30 am?

    Wally

  • Distributed Transactions without the Distributed part

    There is a new feature in the Whidbey release of the .NET Framework that I have found very interesting involving transactions.  There is a new namespace called System.Transactions.  This namespace provides support for distributed transactions without necessarily using the DTC and COM+.  The basic idea is that in some business logic, through the use of conditions, there may be a distributed transaction created which does not really need to be a distributed transaction.  In this case, because of conditions within the business logic only one resource manager is used.  By using the System.Transactions namespace, the business logic will only use a local transaction when only one resource manager is needed.  When a second resource manager is used within the scope of the transaction, the transaction scope is escalated to use the DTC.  This is a very interesting concept.  I would like to thank Pablo Castro @ Microsoft for taking the time to explain how this works and giving me some sample code.  I will be blogging with some sample code in the near future along with some tests to see how well it works (don't worry, I am not going to put up any performance analysis stuff and violate some condition in a license somewhere).  I would have already gone through all this, but those danged customers keep getting in the way.

    Wally

  • Fix for the MSDN help in VS.NET 2005 March Community Release

    UPDATE to the UPDATE: Here is the link again.  No one has said anything, so I figure I haven't gotten myself into too much trouble.

    UPDATE: I have taken the link and file off of my ftp server.  No one has said anything, but in retrospect, I am nervous that I have somehow violated my NDA.  No one from Microsoft has said anything.  Given some discussions I had with a couple of other folks at the MVP Summit, I decided to take it off for the moment.

    If you install the VS.NET 2005 March Community Release, there are some problems with the MSDN Help.  I am sure that MS will post the fix on MSDN soon.  Until then, you can go to my ftp server and get a copy of the fix.  Follow the instructions within the zip file for installation.

    For me, this fixed the problem with the MSDN help, but not the VS.NET integrated help.

    Wally

  • Congrats to UConn

    Well, Tech's magic season came to an end with an 82-73 loss to UConn.  While the final score was close, the game was not.  Congrats to UConn.

    Wally

  • MVP Summit - meeting Sam Gentile

    At the MVP Summit, I have met some folks that I did not know, or only knew by email lists before.  It has been very interesting to meet them in person.  I have meet Scott Sargent, James Avery, Ryan Schwartz, Doug Reilly, Marcie Robillard, Ronda Peterson, Terri Morton, Steve Smith, Julie Lerman Jeff Julian, Darren Nemke, DonXML, Manohar Klamath, Robert McLaws, and a bunch of other folks that I have already forgotten to mention.  I have seen some folks again, like Kirk Evans, Paul Wilson, and Plip.  The biggest surprise has been Sam Gentile.  I met him on Saturday night at the bar in the W.  I walked back with him and Kirk on Sunday from the Convention Center.  I laughed so hard at his stories.  This morning, on the bus ride to the Microsoft campus, I sat one row in front of Dam and DonXml.  I got another bunch of stories and I am still laughing about them.

    Wally

  • Seeya Monday Night

    In a pseudo surprise, Georgia Tech beat OSU 67-65 on Saturday afternoon.  This sets up a rematch with UConn, which beat Duke 79-78.  Seeya on Monday night.  Paul Hewitt for President?  The game is listed as starting at 8 pm EDT and 5 pm PDT.  I hope that Ben Miller  can get access to a TV and a cable feed at the MVP Summit.

    Wally

  • In Seattle

    I just got to the “W” in Seattle.  Any other MVPs here yet?

    Wally

  • Now we know where the $50 billion is going

    I just caught a blimpse of CNBC @ lunch and I see where Microsoft has announced what they are going to do with the $50+ billion dollars in assets and cash that they have.  Bill Gates, Steve Ballmer, and Sam Palmisano, who is the CEO of IBM, were having a hand-n-hand announcement that IBM is going to be purchased by Microsoft in a deal estimated @ $128 billion dollars.  Mr. Palmisano said that he was very excited about finally getting rid of those ugly green screen system and running a GUI on those ugly iSeries AS/400 systems.  More info to come...........

    Wally

  • Mom always warned me to keep my database indexes clean

    As I have been working on my Web Search with .NET code, one of the interesting items that I have run into is the need to keep indexes clean and defragmented.  If an index becomes overly fragmented, performance can suffer greatly.  Well sports fans, Sql Server 2000 allows you to defragment indexes while the application is running.  The options on the command that I used is “dbcc indexdefrag (databasename, tablename, indexname);“  There are several options on the command that you can see here.  By defragmenting the indexes, performance jumped way back up (100 search urls / minute jumped up to about 3,000 urls / minute with Full-Text indexing turned off).  The beauty of indexdefrag is that you can defrag the indexes without taking the database offline.  So, mom was right.  Things work better when you keep your indexes cleaned up. 

    Wally