SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 

Bill Nicolich

A Place for the Good Stuff
Add to Technorati Favorites Add to Google
Author Bio
Bill is a Microsoft database and web developer coming up on a decade of industry experience, enjoys writing and thinking.
Browse by Tag : TSQL (RSS)

Database Developer tools in Team Foundation Server Now Available in Visual Studio 2010 Premium

Rating: (not yet rated) Rate this |  Discuss | 886 Reads | 155 Reads in Last 30 Days |2 comment(s)

So this week I attended a preview for Visual Studio 2010. In addition to database development, I do ASP.NET development and use Visual Studio 2008 for that. So that's why I was curious about the new Visual Studio 2010 rollout.

Up to this point, I haven't done database development in Visual Studio. I have not worked in the Team Foundation Server Edition. Like a lot of shops out there that are just SQL Server shops - or are just small and don't want to deal with TFS, I do database development in SSMS and if it's for SQL Server 2000, then I use Enterprise Manager and Query Analyzer. I augment these tools (albeit with some pain) with 3rd party tools like TSQL Unit for unit tests, Redgate Data Generator to generate test data, Redgate SQL Compare to create change scripts and schema scripts for source control, Redgate SQL Doc to generate documentation, and so forth. An announcement was made that will likely change all that.

The presenter announced that many of the database developer tools that have only been available in TFS Database Deloper edition are being added to the VS Premium license - and that for VS 2010 rollout, everyone gets an upgrade. So those with a VS Pro license and MSDN Premium will upgrade to the new VS 2010 Primium with MSDN Premium and will have the database developer tools. Finally these tools (which really in my opinion Microsoft should have made widely available to everyone doing SQL Server programmability tasks from the get-go) - finally they will be freed from TFS and will be made available to a much wider audience in the community - including myself. That's good for the community. But it could be better. The tools could be added to SSMS and the reach in the community would be even wider.

So coming up, I'll be presumably doing my database development there in VS 2010 Premium with the extra tools. To be honest, I'd rather have these tools available in SSMS. Wouldn't you?

Stepping back I think it's uncomfortable that development is shifting out of SSMS and into Visual Studio per Microsoft. I understand it intellectualy. I understand the economics. Microsoft has to be paid somehow to develop the tools and afford the development teams. But the "cultural shift" if you will feels odd.

Sure you can still do your development in SSMS. But nobody will respect you for it. That's where you go if you don't plan to do things right. You get what I mean, hopefully. If I'm right, most of us have been doing development in SSMS. Now Microsoft knocks on the door and says "Well it's called 'Management Studio' because it's mainly for management - not programmability. You do your development in VS." Oh. silly me. Silly us majority of the SQL Server community for doing our development in SSMS. That was silly. We should have been doing it in VS TFS Developer Edition all along.

But not many of us have done that. So to help us make the cultural shift, Microsoft is giving everyone an upgrade - and is giving a big chunk of the community the extra tools. Those who are on VS 2008 Pro with MSDN Premium get an upgrade to VS 2010 premium with the database developer tools included- so we'll get with the program. That's an up-front cost savings. Neat. But let's not forget that there's a likely cost hit when the license renewal swings around.

In my ideal world - the same world where my beverage is stirred by unicorns before being served to me - and where waterfalls are made of grape Fanta - those extra tools would go into SSMS.

I can't help but voice the following opinion. I think a lot of best practices for database development have been slow to adoption in part because the Microsoft tools have been locked in TFS.

Looking at the SQL Server community as a whole, from a thousand-mile view, I see that there's been a big struggle to do programmability development in the safety zone - adopting test-driven development practices, agile practices and so forth. That stuff has gone by the wayside. Sure there's a minority that have been doing this stuff. But there have been two choices. One, you augment your toolset with 3rd party tools and open-source tools patch things together and do it on your own, or two, you have the TFS Developer Edition and you use those tools - which I doubt accounts for much of the community market share. Both have significant barriers to entry in cost and time. So on the ground in the real world, these practices have been neglected and not picked up by each new wave of community members. In my opinion, some of the blame has got to be laid on the fact that the tools have been locked up there in TFS.

In community sites and forums like SSC, we've been talking about how to do TDD and Agile in database development outside of TFS. I've seen articles on organizing your project in SSMS, or using third-party TDD tools like TSQL Unit. That leads me to believe that a majority of the community aren't in TFS. So now starting with VS 2010, we won't have to be in TFS, but we will have to be in VS Premium and we'll get the tools that we really should have available to us to do things and do it right - and those of us who are used to using 3rd party tools to augment our toolbox will have an extra choice. But I'd rather these tools be in SSMS.

One last oddity to note. So we get the picture from Microsoft. You SQL Server Database Developers should do your database development in VS - you say. However, just recently Microsoft has branched out the SQL Server 2008 certifications into two certs. There's a separate certification for Database Developer and a test 70-433 for Microsoft SQL Server 2008 Database Development. However, you go through the certification and note that there is NOTHING that I'm aware of that relates to using these developer tools that have been locked in TFS. Nothing. Isn't that odd? We'll have these certified database developers who may have never so much as touched the Microsoft database developer tools in question! Interesting and odd.

The 70-433 material is all related to doing development in SSMS. Maybe I'm not so crazy after all for being culturally tied to SSMS for my development. I mean - the Microsoft certification team isn't pushing me out of there. Just put the tools in there - please. That will make it even more available to the community than putting it in non-TFS VS licenses.


Flight or Invisibility: Which do you Choose?

By Bill Nicolich in Bill Nicolich | 11-12-2009 4:41 PM | Categories: Filed under: , , , , , , , , , , ,
Rating: |  Discuss | 2,208 Reads | 211 Reads in Last 30 Days |5 comment(s)

A colleague of mine pointed out a great podcast called This American Life - specifically an episode with John Hodgman (the PC guy in the Macintosh commercials) where Hodgman poses the question to people, what super power would you choose - flight or invisibility? In our tech careers, we are faced with similar questions.

I've been struggling lately with similar tradeoffs. There's a great role-playing game on XBox 360 called Oblivion that I play on occasion where a character can build a skill tree that includes various forms of magic. The game is part of an ongoing Elder Scrolls series - and this latest incantation has apparently bumped up against a memory barrier. There's only so much data that can fit in memory. So, the game makers obviously chose to improve the graphics - but in so doing had to dispense with a very significant magic trait from the previous version, Morrowind - the trait of levitation.

In Morrowind, one can levitate around the game world without experiencing area loads. I'll enchant a robe with constant-effect levitation - offering an excellent mode of transportation. I can levitate way up in the air to get a stunning view of the game world and levitate over a mountain rather than walk around it. It has solved a lot of problems for me. Any character that can't issue a range attack against me is toast. I'll levitate out of reach and rain down havoc until my purposes are complete.

So, in Oblivion, I've had to resort to other means for survival. I've resorted to invisibility spells. Whenever danger is lurking, I cast an invisibility spell. The problem is, I've started to feel like a coward always becoming invisible. The game levels up as the character does - and my character has become dependent upon invisibility for mere survival. I'll get killed almost every time if I try to deal with danger in other ways.

So, I'm faced with a choice. I can keep playing Oblivion and choose invisibility, or I can go back to Morrowind and use "levitation (flight)." The problem is, the Game of the Year Edition of Morrowind has become rare and hard to get. I was recently able to get a copy on eBay - but it cost a good bit of elf gold. The Xbox 360 plays games made for the Xbox original - so I'm good.

Looks like I've chosen flight (levitation) as my super power.

Software vendors try hard for things like this not to happen (like me buying a previous version of the game series). Imagine the loss of profit if people decided that an earlier version of SQL Server were preferred over the newer versions. It could be argued that it happened with Windows XP and Windows Vista to some extent. But that's not really my main point.

The direction I want to take this is in thinking of the career tradeoffs that are made in a tech career. One has a skill tree that one constantly works on - and it's much like a role playing game. One can choose to dabble in a wide variety of skills or choose to specialize in specific skills. There are tradeoffs and benefits to the various approaches.

In the world of SQL Server, and Microsoft application development - the treadmill of change has happend fast and furious lately. I've put a good deal of effort into new technologies this year. I'm starting to make plans for 2010 - and there is definitely not enough time to do all the things that I want to do. There's a lot to do in the realm of BI and reporting, there's new T-SQL extensions, new data types, some game-changers for XML approaches including indexing of sparce columns, there's a variety of new technologies like change tracking - there's web services extensions - and the list seems to go on for a mile.

But the role playing game analogy I think really fits nicely. We set up a character - ourselves. We have a skill tree that we can analyze and plan. We can take a block of time, like a year - and decide what skills to add to the tree, what skills to keep sharp, what skills to let fade - and we can pretty much tell after planning if we'd be satisfied with the result provided we can stick to our plan of action.

Many distractions will come our way. Many side quests will tempt us. Sometimes, new needs arise that takes us in a different direction than planned - and we get skills that weren't on the list. Or, maybe the distraction is entertainment or game playing - and we simply fail to acquire the real-life skills we want. That's just the name of the game when you're trying to actively plan your career and your life.

Point is, choosing which super power you'd take isn't all that far off from choosing which killer tech skillset you're going to work on next year.

 


PASS Conference 2009 Oddities and Curiosities

By Bill Nicolich in Bill Nicolich | 11-05-2009 2:38 PM | Categories: Filed under: , , , , , ,
Rating: (not yet rated) Rate this |  Discuss | 924 Reads | 148 Reads in Last 30 Days |no comments

Down on the docks in Seattle there's a shop of oddities and curiosities where one can find things like a chapter of the Bible written on a grain of rice, an aligator boy, a gobblet of glass eyes - you know - stuff like that. So too one can find oddities and curiosities at the 2009 PASS Conference.

One presentor who discussed the new hierarchy data type and the bill of materials problem used a 3D Lego modeler tool called the Lego Digital Designer to explain in a visual way the hierarchical relationship between the parts of a model. How cool is that? The download is free at ldd.lego.com. Also an insider note is that several good sources have suggested that the new HIERARCHYID is not the best way to solve the bill of materials problem. Rather, other techniques are preferred like Joe Celko's Advanced Nested Sets model or the more simple adjacency list model (for scenarios where data doesn't change much).
 
An interesting note that was made is that Microsoft developed the HIERARCHYID to make some of the native XML features work efficiently. Hmm. Then the decision was made to expose it to users so they can benefit from it in various scenarios.
 
TSQL developers are familiar with the GO directive which sets up an implicit transaction. Kalen Delaney pointed out that one can run a block of TSQL code multiple times simply by doing something like GO 320 - and the code will run three hundred and twenty times. Imagine using this to test constraints for insert statements. Pretty neat.
 
Listening in on a Microsoft presentation on database connectivity, the presenter mentioned "fuzzy testing." Is that when Elmo takes a hammer to your laptop? No. Apparently it's a bug-finding technique that commonly that enters random data to controls and systems. The presenter mentioned using a tool called "Slammer." I hope on the box there's a picture of a professional wrestler in the air about to deliver a flying elbow or something.
 
David J. DeWitt, keynote speaker on Thursday overviewed trends in database technology over the past 30 years. He points out that since SQL Server is row-based, and entire rows in a table are sent through the CPU cache, a large amount of CPU usage is wasted due to cache misses. That being the case, then there's another reason why narrow tables - or tables with fewer columns and smaller data types are preferable due to the CPU cache bottleneck. Another neat point is that Dr. DeWitt mentioned that future versions of SQL Server like SQL Server 10.5 and 11 may do some really nifty things like using in-memory column-based tables to take advantage of high compression opportunities and to drastically reduce cache misses, getting operations through to CPU much more efficiently. That's cool.
 
I had an in-depth question about the full-text features of SQL Server. I asked around and was told by Microsoft personnel that I needed to talk to Fernando. I played a game similar to "Where's Waldo?" that I call "Where's Fernando?" I wanted to learn more about how full text correlates words like "light," "lights", "lighter" and "lighting" as belonging to the same English root word. I talked to some other very knowledgeable people like Robert Cain, a SQL Server MVP who is also a fantastic presenter.
 
I learned that Robert Cain has recently changed employers - and is working on some really cool projects for NASA. One really interesting and odd note is that NASA uses Microsoft Project extensively - and perhaps in ways it was never intended. They have the larges Project database on planet earth - and Robert is helping them manage that odd data store. It's like the bill of materials problem for complex engineering projects mixed with project management, mashed together into one solution slash problem! Wow. Wierd.
 
Thursday at lunch yielded a curiosity. I sat next to a guy who swims with Alistair Cockburn, one of the founders of the Agile Movement. Where does he swim? Stein Erickson or something like that. Also, I learned that Microsoft has recently added a research lab at Thanksgiving Point in Salt Lake City. That makes sense. There's always a lot of interesting research going on over there at the University of Utah. After all, it's one of the original four nodes of the Arpanet - the precursor to the internet.
 
It turns out that the room where the session "Storage for the DBA" is actually not where all the DBAs are stored.
 
The official commedian of the conference is Buck Woody. Speaking of users, Buck says "The Internet is down! have you ever heard that? Despite what Al Gore told you, [the internet] isn't all on your laptop."