THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Paul Nielsen

  • The Primary Cause of Failed IT Projects

    During my career I’ve been a part of dozens of projects. Some I was on from the start, most I came in to help bail out. Some went smooth and were a pleasure to build and maintain and some projects failed (failed being broadly defined as projects that were not completed, or were completed but were a horrid mess – very complex, impossible to maintain, refactor, and a royal pain to keep running.)

    While there are a number of factors that can contribute to a failed project, in my career it seems the primary cause of failed projects is managers making technical decisions. Not every manager making a technical decision is bad, but every failed project I’ve been a part of included a manager who made technical decisions and drove the project toward over-complexity. And, one of my regrets in my career is my failure to convince managers that simple is better than complex. Unfortunately, some of those failed projects were the ones I cared most about.

    A corollary to this idea is that good IT managers listen to the technical experts, and let those technical experts drive the design. And, good IT managers are a rare and special breed.

    Resolved: Managers making technical decisions is a primary cause of IT project failure. Agree? Disagree? What have you found in your career?  

  • Fresh Voices

    The PASS Summit 2010 Call for Speakers is closed. When the call went out I offered to review abstracts for anyone interested, which gave me a view into the content of the next PASS, albeit a filtered view, but what I did see was encouraging. In all I reviewed about 50 abstracts (several of these I found on my junk folder, so I apologize to any that I didn’t see.) The abstracts I reviewed had a mix of new topics and core technologies from new speakers, regulars, and a few MVPs.


    The observation that stood out to me was the enthusiasm of the new speakers. Several abstracts came from speakers who have spoken at SQL Saturdays and user groups, but have never presented at the PASS Summit. As a group they were excited about the prospect of presenting at PASS, open to suggestions, and eager to polish their presentation. This means that SQL Saturday and the user groups are accomplishing one of their goals: grooming new speakers. It also means fresh voices at the 2010 PASS Summit. I for one welcome the enthusiasm and applaud those new speakers willing to step up to the stage, and I’m looking forward to this year’s Summit.

  • PASS Call for Speakers

    It's that time again - the PASS Summit 2010 (Seattle Nov 8-11) Call for Speakers is now open and accepting abstracts until June 5th.

    personally, I'm on a pattern that on odd years I present what I'm excited about, and on even years I try try to proesent what I expect other are jazzed about, which takes a bit more work.

    Last year I offered to Coach any Pass Speakers for free and some success. I’m offering that service again startign with your abstracts. If you’d like me to review your abstracts and offer suggestions please email me at Here's hoping you get your favorite session picked and you're not the last session on the last day.

    And, I encourage others who are so inclined to offer their particular expertise to help other speakers (add your offer as a comment). Together we can make every PASS Summit better and every speaker more relaxed. (I know – another Kumbaya moment blog post. I’ll try harder to be more critical in the future.)

  • I'm a happy camper

    I’m satisfied with SQL Server 2008. It meets my needs and I can build whatever I want in the database. There’s no feature that it lacks that blocking my development. SQL Server 2008 is what I see when I close my eyes and dream. Maybe I’m just pleased with my current projects, maybe I’m being dense, maybe I lack imagination, tell me if I’m being stupid, but I feel no compelling need for an upgrade. If Microsoft didn’t ship the new version for 3 or 5 more years, I’d be ok with that. I’m sure there will be features in the next version of SQL Server that I’ll become jazzed about and I’m all for progress, but today, I’m a very satisfied database developer. I know this is an unusual blog post, but I want to say: I’ve worked with lots of databases over the past 32 years and I really like SQL Server 2008. Thank you MSFT SQL Server team.

  • My first SQL Saturday

    I’m leaving soon for an exciting journey with a thrilling destination – my first SQL Saturday.  So I decided to do it right and I’m taking the Amtrak Acela Express from Boston to New York. I love New York!

    If you’re headed to SQL Saturday #39, and you love database design, I invite you to come to my session on Temporal Database Designs – how to design a table so it can be queried as of any pervious point in time. The proof of concept code is posted at See you there.

    And since it's New York, Sunday I'm planning to visit Redeemer Pres and the American Museum of Natural History where they filmed Night at the Museum.

  • Hugh Bin-Haad's SQL Rumours

    Insider rumours and gossip from the murky world of the Database Industry, and from the colourful characters that inhabit it



  • AutoAudit 1.10c

    AutoAudit is a free SQL Server (2005, 2008) Code-Gen utility that creates Audit Trail Triggers with:

    ·         Created, Modified, and RowVersion (incrementing INT) columns to table

    ·         Creates View to reconstruct deleted rows

    ·         Creates UDF to reconstruct Row History

    ·         Schema Audit Trigger to track schema changes

    ·         Re-code-gens triggers when Alter Table changes the table


    Version 1.10c Adds:

    ·       Createdby and ModifiedBy columns. Pass the user to the column and AutoAudit records that username instead of the Suser_Sname value – useful for apps that manage their own users and connect using a common service account.

    ·         Records user’s batch that caused the change event.

    ·         Handles various data types better.

    ·         Includes several small bug fixes.


    *   CodePlex link:

    initial 2007 AutoAudit blog post:


  • There once was in Dublin a query

    For 6 months I’ve have been planning a secret trip to London in May as a surprise for my wife (of Irish heritage and accent) (I love how she says, "Aye laddie, kiss me I'm Irish." but that's for another blog.) The plan was to spend a week in London and then top if off with a visit to Dublin to see the Book of Kells (on my bucket list) and stay at Markree Castle at Sligo, Ireland (on her bucket list).


    The original plan was to have her boss assign mandatory vacation a few days before the trip (her boss readily agreed), but I thought the wiser and told her last Saturday so she could have a say. By Sunday morning, the itinerary was changed to spending the whole trip exploring Ireland.


    So tentatively I’ll be in Dublin Thursday May 20th at the Ireland SQL Server User Group talking about Google-style relevance searches in SQL, temporal databases, SQL development standards and whatnot – more details to come. (It wouldn’t be a vacation without meeting some new SQL friends.)


    In honor of Ireland, I’ve composed a SQL limerick…


    There once was in Dublin a query

    With performance that was quite dreary

    Till some lad read Kalen

    And started explainin’

    That a covering index would be cheery


    I challenge everyone who reads this blog to pen their own SQL limerick and add it here, And to my new friends in Dublin, I can’t wait to get there.

  • Twitter will migrate from MySQL to Cassandra DB

    Since most of us are active on Twitter, I figured this would be of interest:


  • Extensive library of Excel functions for SQL Server

    When SQL Server 2000 introduced user-defined functions I predicted that a few companies would release sets of cool financial/mathematical/statistical functions. It didn’t happen. When SQL Server 2005 introduced the CLR, I again predicted that a few companies would release sets of cool financial/mathematical/statistical functions written in CLR. It didn’t happen.

    Enter These guys have done it. They’ve released sets of Financial, Statistical, Math & Trig, Engineering, Unit Conversions, and String CLR functions. And they’re smart about it too. Rather than reinvent the wheel, they replicated most of Excel’s function, so when the business analyst’s model a formula, you’re all set.

    I’ve started testing them and so far I’m impressed. If your application could benefit from moving complex calculations into the database instead of passing all the data to an iterative tier, then I suggest you take a good hard look at this company. This is exactly the kind of third-party product I want to see around SQL Server. Well done.

  • tempdb in RAM

    I’m watching the FedEx page as my shiny new Dell E4300 travels across country – and bummed that I won’t have it in time for the MVP Summit. The first thing I’m going to do is install a Crucial 256Gb SSD drive. I‘ve heard good things about SSD drives, but some have reported that they can get burned out from repeated constant writes. One forum post noted that an SSD drive on a notebook with insufficient RAM can cause lots of swap file paging to disk which might explain some of the dead drive issues (so I'll turn off the page file.) Which got me to thinking, how can I reduce the SQL Server writes to the disk, which got me to thinking, tempdb is a hot spot, which got me to thinking, why not put tempdb in RAM? It’s not a new idea, but it’s the first time I’ve done it, so here’s how I placed tempdb in RAM ( on my current old Dell Studio noteook). The E4300 will have 8Gb RAM so I'm planning on usign a .5Gb RAM drive for tempdb as a starting point.


    Disclaimer: I’m doing this in my development notebook. If you consider this for a production machine ensure that you have enough extra RAM to hold tempdb without risking running out of RAM or disk space.


    This article benchmarks several Windows RAMdisks:


    I chose the DataRam RAM Disk, once configured it boots with an E drive in RAM:


    Moving tempdb:

    ALTER DATABASE tempdb MODIFY FILE (NAME = 'tempdev',  FILENAME = 'e: \tempdb.mdf')

    ALTER DATABASE tempdb MODIFY FILE (NAME = 'templog',  FILENAME = ‘e:\tempdb.ldf')


    Stop and restart SQL Server to move tempdb.


    There’s a noticable delay the first time it’s accessed, but then SQL screams!


    The RAMDrive is configured prior to SQL Server service starting and it’s worked fine with reboots.


    If you have other ideas on how to improve the durability of an SSD drive, please comment...



  • MVP Book - Many Thanks!

    On behalf of the 53 MVPs who collaberated on the SQL Server MVP Deep Dives book , I’m pleased to say thank you to the many who have purchased the book. Together we have raised $12,400 for


    If you haven’t yet purchased the book, you should: no other tech book is such a win/win proposition. 100% of the author royalties goes helps children traumatized by war, you get 59 great chapters, and MVPs got to share their expertise in a collaborative effort.



  • Rocky Mountain Tech Trifecta v2.0 - Denver Feb 27 – Call for SQL Speakers

    Regional conferences are becoming increasingly popular as their quality improves. In Colorado, we began organizing the Colorado PASS Camp in 2005. In 2008, the Denver code camps and PASS Camp merged under the leadership of MVP Julie Yack to become the Rocky Mountain Tech Trifecta. The Tri in Tifecta represents the three tracks: Windows Server, .NET, and SQL server. This year there will also be a beginner track for folks new to Microsoft technologies.

    The SQL Server track has 10 sessions. If you’d like to present please send an abstract and your bio to me at by Dec 13th.

  • Prepping for SQL PASS

    PASS is just just a couple weeks away. If you’re speaking at PASS and feeling a bit nervous, I’d like to help. I’m no Jerry Seinfeld, but I have fun speaking in public and I'd like to see you have fun up front too. If you’d like some free coaching, ping me.

    This isn’t exclusive, if others want to offer free coaching at PASS, add your pitch as a comment. The goal is to help every speaker have a great time...

  • Smart Database Design Seminar - Tucson - Oct 26-28

    As I turn my focus toward my SaaS CRM startup, I’m doing less training these days, but Steve WynKoop asked me to present my Smart Database Design Seminar in Tucson – Oct 26-28. I was in Tucson a couple weeks ago for the SSWUG Virtual Conference and trust me – it’s warmer there than up here in the mountains of Colderado.

    The seminar unpacks my design philosophy – that a well-designed database lends itself to nice set-based queries, which respond well to indexing and create tight fast transactions, all of which provides good scalability. For three days we’ll walk through the best practices of each layer going back and forth between the data architect’s POV and the database developer’s code.

    Steve tells me it's filling up, but there are a few seats left. You're invited.  


More Posts Next page »
Privacy Statement