<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>James Luetkehoelter</title><link>http://sqlblog.com/blogs/james_luetkehoelter/default.aspx</link><description>Nearly any SQL topic presented at times in a slightly eclectic manner.</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>A note to those going to the PASS conference</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2011/10/09/a-note-to-those-going-to-the-pass-conference.aspx</link><pubDate>Sun, 09 Oct 2011 23:46:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:38951</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/38951.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=38951</wfw:commentRss><description>For those of you lucky enough to be able to go to the PASS conference in Seattle this week, I have some advice (which you may take graciously or throw aside with contempt - up to you): try not to learn too much. The great thing about the PASS conference...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2011/10/09/a-note-to-those-going-to-the-pass-conference.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=38951" width="1" height="1"&gt;</description></item><item><title>An open letter to all IT Managers/CIOs: Invest in training, please</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/11/10/an-open-letter-to-all-it-managers-cios-invest-in-training-please.aspx</link><pubDate>Wed, 10 Nov 2010 16:47:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30354</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/30354.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=30354</wfw:commentRss><description>To whoever manages SQL Server DBAs\developers\BI specialists: Yesterday afternoon at PASS I stuck my head into a presentation Kevin Kline was giving on end-to-end performance monitoring/tuning. He had reached the point where he was starting to talk about...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/11/10/an-open-letter-to-all-it-managers-cios-invest-in-training-please.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30354" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/training/default.aspx">training</category></item><item><title>Who out there writes perfect code?</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/06/21/who-out-there-writes-perfect-code.aspx</link><pubDate>Tue, 22 Jun 2010 00:28:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:26335</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>10</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/26335.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=26335</wfw:commentRss><description>Recently I've been working with a lot of code, TSQL, .NET, report design, etc. that has just made me scratch my head and say to myself "what were you thinking". Well, after reviewing my own work in the last five years, I feel like a schmuck. The farther...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/06/21/who-out-there-writes-perfect-code.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=26335" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/What+were+you+thinking_3F00_/default.aspx">What were you thinking?</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/rant/default.aspx">rant</category></item><item><title>How *not* to handle a compensation step on failure in an SSIS package</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/06/17/how-not-to-handle-a-compensation-step-on-failure-in-an-ssis-package.aspx</link><pubDate>Thu, 17 Jun 2010 21:34:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:26252</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/26252.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=26252</wfw:commentRss><description>Just stumbed across this where I'm working. Someone created a global error handler for a package that included this SQL step: DELETE FROM Table WHERE DateDiff(MI, ExportedDate, GetDate()) &amp;lt; 5 So if the package runs for longer than 5 minutes and fails,...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/06/17/how-not-to-handle-a-compensation-step-on-failure-in-an-ssis-package.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=26252" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/What+were+you+thinking_3F00_/default.aspx">What were you thinking?</category></item><item><title>Hilarious</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/04/22/hilarious.aspx</link><pubDate>Thu, 22 Apr 2010 16:56:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24498</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/24498.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=24498</wfw:commentRss><description>I don't know how many of you know about this site, but it raises my spirits on a daily basis. I found today's entry oddly familiar... http://thedailywtf.com/Articles/sp_getNothing.aspx...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/04/22/hilarious.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=24498" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/humorous/default.aspx">humorous</category></item><item><title>I can't believe I fell for this</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/04/06/i-can-t-believe-i-feel-for-this.aspx</link><pubDate>Tue, 06 Apr 2010 16:10:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:24101</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/24101.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=24101</wfw:commentRss><description>Given the site, and the date, I should have realized that it was a joke. But I literally just spent the last 15 minutes preparing to lambaste the poster until I looked at all of the comments (I didn't want to repeat was someone said). I am such a dope.....(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/04/06/i-can-t-believe-i-feel-for-this.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=24101" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/humorous/default.aspx">humorous</category></item><item><title>Survey: Do you write custom SQL CLR procedures/functions/etc</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/31/survey-do-you-write-custom-sql-clr-procedures-functions-etc.aspx</link><pubDate>Wed, 31 Mar 2010 12:19:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:23894</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>11</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/23894.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=23894</wfw:commentRss><description>I'm quite curious because despite the great capabilities of writing CLR-based stored procedures to off-load those nasty operations TSQL isn't that great at (like iteration, or complex math), I'm continuing to see a wealth of SQL 2008 databases with complex...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/31/survey-do-you-write-custom-sql-clr-procedures-functions-etc.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=23894" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/survey/default.aspx">survey</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/SQL+CLR/default.aspx">SQL CLR</category></item><item><title>Survey: Do you find surveys annoying?</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/11/survey-do-you-find-surveys-annoying.aspx</link><pubDate>Thu, 11 Mar 2010 18:48:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:23243</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/23243.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=23243</wfw:commentRss><description>I'm sorry I couldn't resist......(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/11/survey-do-you-find-surveys-annoying.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=23243" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/humorous/default.aspx">humorous</category></item><item><title>Survey: How much data do you work with?</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/10/survey-how-much-data-do-you-work-with.aspx</link><pubDate>Wed, 10 Mar 2010 17:57:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:23115</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>21</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/23115.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=23115</wfw:commentRss><description>Andy isn't the only one that can ask a survey question. This is something I really curious about because many of the answers or recommendations or rants in blogs are not universably applicable to every database - small databases must sometimes be treated...(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/10/survey-how-much-data-do-you-work-with.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=23115" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/database+sizes/default.aspx">database sizes</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/survey/default.aspx">survey</category></item><item><title>Now I've seen everything: A database with a Y10 bug...</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/05/now-i-ve-seen-everything-a-database-with-a-y10-bug.aspx</link><pubDate>Fri, 05 Mar 2010 18:18:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22849</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>5</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/22849.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=22849</wfw:commentRss><description>...this is 100% serious. I have encountered a system that has a single digit year identifier that rolls every decade...I will now start working at McDonalds......(&lt;a href="http://sqlblog.com/blogs/james_luetkehoelter/archive/2010/03/05/now-i-ve-seen-everything-a-database-with-a-y10-bug.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=22849" width="1" height="1"&gt;</description></item><item><title>A counter-counter-counter(?) argument: Specialization vs Generalization</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2009/02/14/a-counter-counter-counter-argument-specialization-vs-generalization.aspx</link><pubDate>Sat, 14 Feb 2009 20:05:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:11899</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>11</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/11899.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=11899</wfw:commentRss><description>&lt;P&gt;This post is a reply to a reply to a post from &lt;A class="" href="http://www.sqlservercentral.com/blogs/brian_kelley/archive/2009/02/11/counterpoint-against-specialization.aspx" target=_blank&gt;Brent Ozar from K. Brian Kelly&lt;/A&gt;. The basic argument going on is that you if you want to be successful in the future, you should:&lt;/P&gt;
&lt;P&gt;1) Specialize in a specific area&lt;/P&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;2) Generalize and gain as much exposer to as many technologies as possible&lt;/P&gt;
&lt;P&gt;(This are overy simplifications of both views, I do this just for&amp;nbsp;the sake of the argument)&lt;/P&gt;
&lt;P&gt;My own view is that both viewpoints are incorrect. The key to maintaining your marketability in the future is being both a generalist AND a specialist. And to make the argument more confusing, the specialist part will shift continually. &lt;/P&gt;
&lt;P&gt;Example 1: The pure specialist&lt;/P&gt;
&lt;P&gt;Let's say person A is extremely adept at RGP programming for an AS400. Right now, that remains an excellent skillset as far as hirability.&amp;nbsp;However, perhaps 5 years from now IBM abandons the AS400 platform altogether and moves to a Unix-based, or MS-based or 3rd-party OS to go along with its hardware. RGP is gone. Now everything is writting in IBM-SQL, or IBM-Java, or something completely different. Now person A must completely retool just to get a job. Or, change professions all together. Yes, there will be the legacy shops that are reluctant to change, but that work will last only so long. And with today's economy, can anyone rely on retirement anymore?&lt;/P&gt;
&lt;P&gt;Example 2: The generlist&lt;/P&gt;
&lt;P&gt;I fall a bit into this area. I know an aweful lot about datababase systems, network, servers, business process, etc. (and I mean etc., I have a wide range of exposure). However, without focusing on specific area, I limit my usefulness. Let's say I'm hired to work with SSIS. Yes, I know it, and pretty well. But the really esoteric knowledge - know - I have to look it up. It doesn't matter to my employer that I'm answer questions to others in IT about SQL Server in general, suggesting different security schemes, interacting (successfully) with other business groups, identifying concrete business rules that previously remained ephemeral - if fix the very specific issues with SSIS quickly (which doesn't rule out Google, but knowing what to look for - Google now returns so much information to wade through, you need to know your subject someone before using it), I'm fired. Period. Fair enough.&lt;/P&gt;
&lt;P&gt;Example 3: The generalizing specialist&lt;/P&gt;
&lt;P&gt;So let's take how I try to focus, not always successfully. I consider myself a data specialist (as in data quality, efficient reporting, storage, etc) on the SQL platform. I also know a significant amount about programming, SSIS, SSAS, SSRS, operating systems (Windows and Unix), hardware, network, business process, etc. Theoretically I could jump into any job in any area and be productive from the start and become a specialist very shortly. I may need to change my specialization very quickly at any point to maintain my marketability. Right now SQL Server maintains a very competitive piece of the database market. I'm specializing more and more in SSAS, SSIS, and SSRS (also known as business intelligence, a term I despise). But let's say in 10 years Oracle wins the database wars over IBM, MS and open source. I also know the Oracle platform and continue to try to follow it. By generalizing a significant amount of my skills, I keep a foothold into other technology areas to have the tools to cross over faster than the COBOL program in Example 1. And unlike the Example 2, I've demonstrated the ability to be a specialist and have more credibility if I build my Oracle skills ( in this fictional example :) ) and proclaim myself an expert. Heck, I can probably take many of the things I've learned as an expert into the new area.&lt;/P&gt;
&lt;P&gt;I believe Example 3 is the way everyone should view their career. Another great example is language. Most of us on this site are "experts" (if you're from Great Britain you'd debate that) in English. But what if most of the business out there comes from China? Wouldn't be in my best interest to become as proficient in Mandarin as possible? What if most of the work moves to India, and India now decides that business should be done in Hindi rather than English as it is now? Shouldn't I learn Hindi? How about Quebec conquers Canada, and becomes a superpower? Shouldn't I learn French (or as the French would say, Quebecois)? Adaptability is important. Now if I had to learn these languages from scratch as things change, I have a huge hill to climb. Luckily I study languages, including French, Hindi and Mandarin (and 3 others - I'm trying to surpass my father who spoke 9 languages - for the most part, fluently). Now right now I stink at most of them (French is my most fluent), but I have an advantage over others should China take over the world. Don't I?&lt;/P&gt;
&lt;P&gt;Specialization and generalization can *not* be mutually exclusive. I would advise those entering the industry to learn as much as possible, while attempting to focus on a specific area. Yes, you may not have the depth in a specific technology like our RPG programmer in Example 1, but you should be able to handle 90% of what comes your way and have the knowledge to find the answers to what you don't know off the top of your head.&lt;/P&gt;
&lt;P&gt;That's my take. Am I wrong? Crazy? Just drunk?&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=11899" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/career/default.aspx">career</category></item><item><title>Book Review: Pro Full-Text Search in SQL Server 2008</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2009/02/10/book-review-pro-full-text-search-in-sql-server-2008.aspx</link><pubDate>Tue, 10 Feb 2009 19:30:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:11827</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/11827.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=11827</wfw:commentRss><description>&lt;P&gt;Those of you that know me know that I don't endorse anything lightly. MVP Michael Coles sent me a number of his books in exchange for mine (still coming Michael), and I just finished perusing the first one on my list: &lt;A class="" href="http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1234294386&amp;amp;sr=8-1" target=_blank&gt;Pro Full-Text Search in SQL Server 2008&lt;/A&gt;. I highly endorse this book to anyone jumping into the Full-Text arena - and my hope is that more and more are, it is a great technology. Michael and Hilary Cotter (who contributed, not sure where, but it matters not) did a fine job with it. Make no mistake, this is a difficult topic to tackle and a complicated feature in SQL Server 2008. Even if you have worked with Full-Text Search in 2005, there's a lot to learn since it changes dramatically in SQL Server 2008. It's well written, organized and very detailed. Will it tell you everything you need to know about Full-Text Search - of course not. But it covers quite a bit.&lt;/P&gt;
&lt;P&gt;This is not a book for a novice. The first few chapters focus on the basics of administration, but the book quickly moves into some fairly complicated ways in which the technology may be used. One of my favorite sections is a discussion on multilingual databases. This is an extremely important chapter - if you don't work with multilingual data yet, trust me, you will. Even for languages with a Latin character set can create confusion for Full-Text Search if it isn't aware of how the language uses accent marks. For example, in French there is the &lt;EM&gt;accent a gu&lt;/EM&gt; (or &lt;EM&gt;aigu&lt;/EM&gt;) - é and the &lt;EM&gt;accent grave&lt;/EM&gt; - è. There can be words that are very similar in spelling, but use different accents. How does FTS know how to decide what matches? And those same accent symbols in Spanish may have completely different rules. Now through in languages like Arabic (reverse order) and Chinese, and the ability to truly match words and phrases can be very difficult. This book shows how this can be accomplished with real examples.&lt;/P&gt;
&lt;P&gt;More practical examples follow showing how to full-text-index blob data, blogs, create custom thesauri, etc. It even covers the dynamic management views for Full-Text Search. I highly recommend this book, which I don't say often about anything :)&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=11827" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/book+review/default.aspx">book review</category><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/Full-Text+Search/default.aspx">Full-Text Search</category></item><item><title>An open letter to Microsoft: Listen to the real world please</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2009/01/27/an-open-letter-to-microsoft-listen-to-the-real-world-please.aspx</link><pubDate>Tue, 27 Jan 2009 16:47:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:11499</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>7</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/11499.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=11499</wfw:commentRss><description>&lt;P&gt;Before I start, I want to say I have a lot of respect for the MS development people, and many of those in MSC. But Microsoft, you have a fundamental disconnect with what is real and what you're moving towards. &lt;/P&gt;
&lt;P&gt;After hearing of the layoffs and the the end of Performance Point:Planning (I'm not entirely pleased with Performance Point as an end-user multi-dimensional data consumption tool), I started thinking more about the product and features MS is marketing. I've also been recalling encounters with MCS people brought in to provide an optimal "solution" or fix an issue with something with SQL Server or Sharepoint or Biztalk (the areas that I know). In almost every instance (almost), I see MS marketing, product development and consulting&amp;nbsp;very out of touch with what people really need. Initially when Bill et alia started MS, no one knew what to do with computers, so they needed to very much steer the technology to show how it can drive business. I believe we've reached the turning point with technology and business. I understand that when MS comes in to a company, they're focused on their product and their product alone. What needs to change - look at the business.&lt;/P&gt;
&lt;P&gt;So what does a buiness really need (and we'll stick with databases since this is SQLBlog):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A business usually needs dire help organizing, managing and understanding its own data: One truism that most of us know is what a business asks for and what they really need are often two very, very different things. This entails not simply performing tasks but asking questions like "Why do you need this data? What questions are you trying to answer or what are you hoping to learn?" Then the true need often reveals itself.&lt;/LI&gt;
&lt;LI&gt;A business needs people that truly understand their data: I'm not talking just about the data structure of the database, but the business meaning of the data, and what I usually refer to as the "application" meaning - how is this used or exposed in an application? This starts us down the road of Master Data Management, which MS is far, far behind in facilitating tools for this. Yes, there is something they acquired, but it is slow in coming and looks to me to be "cookie-cutter". Right now my best tool would be Excel or another SQL database...&lt;/LI&gt;
&lt;LI&gt;Instead of&amp;nbsp;buying a really generic tool like Sharepoint or Biztalk (or SQL and all it entails), a business needs to understand how these tools can be used to improve their business: I don't know how many times I've run into a SQL BI implementation with no thought into how it can really help the business - the assumption is the business knows. The same goes for Sharepoint (an information nightmare if not organized consistently) or Biztalk (usually overkill). Seldom does anyone selling or installing the product take the time to discover what might be useful for the business.&lt;/LI&gt;
&lt;LI&gt;A business needs a way to quickly consume their data: I'm sorry PerformancePoint (and Proclarity) - you aren't cutting it. PerformancePoint is basically Proclarity rehashed - I believe if Proclarity was still in business they would have a had a new, more intuitive, useful version of the product. And things look now that PerformancePoint is close to the chopping block. Excel? Excell services? Um, no. If anyone has used some other data visualization products, you can see what is really possible from multi-dimensional data.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;What's the common theme here? Business understanding is necessary for a successful product. It's time MS starts thinking this way and stop trying to assume a business process with any of their products, or assume a business understands how to use their own information (or even what it means). Does that mean MS needs to have a business consulting wing? Maybe. But the days of "here's our product, buy it and all will be well" are long, long gone.&lt;/P&gt;
&lt;P&gt;Anyone disagree? Am I drunk or insane?&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=11499" width="1" height="1"&gt;</description></item><item><title>5 Reasons why I think MDX is the Devil</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2009/01/04/5-reasons-why-i-think-mdx-is-the-devil.aspx</link><pubDate>Sun, 04 Jan 2009 17:24:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:10959</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>9</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/10959.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=10959</wfw:commentRss><description>&lt;P&gt;First, an up front apology to Mosha - this is half in jest, half real. MDX is a powerful and useful language, but I find that its very existence has made my life very difficult when it comes to developing a solid Analysis Services solution. That's not to say I don't use it, or endorse it, but I worry greatly about its overall usage.&lt;/P&gt;
&lt;P&gt;1) It tempts you by looking like SQL, but once your brought into it you realize how complex it is (if you don't have Mosha's MDX Studio, get it).&lt;/P&gt;
&lt;P&gt;2) MDX allows you to do TOO much when it comes to a multi-dimensional structure, without first understanding multi-dimensional concepts. I've seen code that creates filters or subset cubes that overlap or end up cutting out measures implicitly. You have no warning about possibly undermining previous dimensional modeling - that would be a nice addition to see.&lt;/P&gt;
&lt;P&gt;3) Along those lines, it enables sloppy dimensional modeling in the first place. "Throw it together, will add in things later". With a multi-dimensional database, it is very important to model it correctly, just like you would a relational structure. Unfortunately there are no Codd/Date rules of normalization, and often very little work done up front understanding the actually relationships and what the data is meant to represent. For example, instead of using a many-to-many cube dimension (what I call the dimesion to measure tie) to represent something like a bill of materials, I often see this done afterwards somehow via MDX calculations and such. Instead of going back to the dimensional modeling, the answer is usually "we can do this in MDX later".&lt;/P&gt;
&lt;P&gt;4) Yet another language with its own syntactical oddities - damn you syntax, you will be the death of me!&lt;/P&gt;
&lt;P&gt;5) I can't count the number of calculations I've seen in a cube that could have been done before the cube is loaded in the first place. An MDX calculation that does something like PRICE * QUANTITY = TOTAL SALES is just a waste of processing on the cube side. Remember, MDX is post aggregation - so the large the cube, the more dimensions it has and the level of drill down it allows all play a roll in the speed of things.&lt;/P&gt;
&lt;P&gt;Those are 5 to start - anyone have anymore?&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=10959" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/james_luetkehoelter/archive/tags/MDX/default.aspx">MDX</category></item><item><title>A response to Linchi Shea's excellent posts on fragmentation</title><link>http://sqlblog.com/blogs/james_luetkehoelter/archive/2008/12/29/a-response-to-linchi-shea-s-excellent-posts-on-fragmentation.aspx</link><pubDate>Mon, 29 Dec 2008 23:08:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:10796</guid><dc:creator>James Luetkehoelter</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/james_luetkehoelter/comments/10796.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/james_luetkehoelter/commentrss.aspx?PostID=10796</wfw:commentRss><description>&lt;P&gt;In case this is your first visit to SQLBlog.com, Linchi Shea does very methodical analysis of the performance and behaviour of disk arrays. His most recent &lt;A class="" href="http://sqlblog.com/blogs/linchi_shea/archive/2008/12/29/performance-impact-file-fragmentation-and-san-part-v.aspx" target=_blank&gt;listings&lt;/A&gt;&amp;nbsp;specifically explore file fragmentation and its affects on performance on storage. The posts sort of&amp;nbsp;give one the impression that there is no significant impact on performance when the disk storage is a SAN. I'd be inclined to agree, and his data certainly backs that up. But in many in the posts he does compare direct attached storage, where we do see degradation.&lt;/P&gt;
&lt;P&gt;I'm writing this little blurb because my hunch is, at least from what I've encountered, the majority of SQL installations use DAS or "quasi-SANs" (Linchi, I'm sure you've run into some of these devices that claim to be SANs but are sorely lacking). In those cases, especially ones where databases are unmonitored and auto-grow occurs on a regular basis (or transaction log auto-grow/manual shrink accordianism), Linchi actually demonstrates that there will be performance degradation. This is one of the most common performance issues I run into out in the "jungle". Fragmentation. &lt;/P&gt;
&lt;P&gt;My message - those of you on direct storage or if you aren't certain of fragmentation affects, error on the safe side and defragment. Or at the very least investigate how physically fragmented your arrays are. Please.&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=10796" width="1" height="1"&gt;</description></item></channel></rss>