Author: way0utwest

  • SSMS Maturity

    I’ve used a lot of tools with SQL Server over the years. We had a variety of individual tools from Microsoft for SQL Server 4.2, including the isqlw query editor that I used for years. I wrestled with the Enterprise Manager MMC plugin and eventually moved away to use the Embarcadero suite to work with SQL Server before coming back to Microsoft’s SSMS in SQL Server 2005. I’ve had a love/hate relationship with that tool ever since, though the Redgate suite of extentions has certainly made life easier.

    However Management Studio (SSMS) hasn’t really evolved in quite a few years. It seems that the enhancements and additions that have been made with each version have been minimal, sometimes barely working and rarely improved across versions. It’s been disappointing that relatively few resources have been expended on SSMS, despite the regular evolution of SQL Server every 2-3 years. And despite the fact that one of the big reasons SQL Server was touted over Oracle and other RDBMSs is that the tooling was better. 

    I suspect some of the problems were the pressure to release the core parts of SQL Server first, and link SSMS to the server product, despite the fact that it really needs to support multiple versions and previous tooling should have been improved.

    That’s changing a bit. As Tim Ford noted, SSMS now has it’s own release and upgrade path. The tool should not have it’s own, separate download and lightweight installer along with a separate release cadence from SQL Server. I suspect this will evolve more rapidly, probably closer to an Azure like schedule, with more regular patches and enhancements. At least that’s what I hope.

    I was glad to see SSMS being made available for 2012 and 2014 versions as a separate download, and the change to a completely separate product that will likely become de-linked from SQL Server versions. I expect we’ll just have SSMS in the future, with some version that’s more like what we see in Chrome and Firefox. 

    For now SSMS is still based on the 2010 Visual Studio shell, but the comments in this announcement seem to indicate it will move to the 2015 shell soon. Let’s hope that happens and the performance improves along with the maturity of the tool in the future.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.1MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • Training Computer Scientists

    We work in an interesting industry. While I think you can certainly enter many other professions, electrician, plumber, artist, etc. without any formal schooling, programming allows you to earn a very good living with little physical effort. You can also work in any location, even from home. I think the opportunities and requirements open this field up to many more people than previous occupations in the past.

    Of course, plenty of people still go to school to learn about computers, though I’m not sure I’d recommend that to people if you want to work in this business. I think you can teach yourself lots of the skills you need, and I think companies are really starting to realize that a college degree doesn’t correlate with a strong technology worker.

    I was reminded of this when I saw a piece on a student that dropped out of a computer science curriculum. While I would hope that 3rd year CS students had written lots of code (I had by that point), I do agree that the exercises and requirements of many universities do not necessarily prepare many students for working as developers or DBAs. The most valuable thing you can learn in university is great communication skills, on which most people don’t spend enough effort concentrating.

    There is a lot of potential for universities to really train students in very strong ways to solve complex algorithmic problems, but schools need to evolve more quickly. The world is advancing quickly and companies are searching for employees that can learn quickly and adapt to new situations. However for students to learn these types of skills, we also need instructors that are willing and able to adapt as quickly to teaching new subjects and techniques, rather than relying on a curriculum that was built twenty years ago.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.1MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • Updating Extended Properties on a Table

    I’m writing this post as a way to help motivate the #SQLNewBloggers out there. Read the bottom for a few notes on structuring a post.

    I wrote recently about adding an extended property to a table. As part of what I was testing, I also needed to update properties, changing values back and forth. It’s fairly easy to do so, and I wanted to document this for my own reference.

    The sp_updateexteendedproperty is analogous to the sp_addextendedproperty procedure. Here’s the code I used to change my property value on the table from the last post.

    EXEC sp_updateextendedproperty 
    @name = N'PKException', 
    @value = '1',
    @level0type = N'Schema', @level0name = 'dbo',
    @level1type = N'Table',  @level1name = 'SalesTax3'
    ;
    
    

    As you can see, I pass in the same parameters. The procedure then changes the parameter in the table. A quick check in SSMS will show you the values changed. In my case, I was changing the value from 0 to 1 to test a query.

    The property does need to exist. If I execute this:

    EXEC sp_updateextendedproperty 
    @name = N'PKcheck', 
    @value = '1',
    @level0type = N'Schema', @level0name = 'dbo',
    @level1type = N'Table',  @level1name = 'SalesTax3'
    ;
    
    

    I get an error thrown from the database engine.

    Msg 15217, Level 16, State 2, Procedure sp_updateextendedproperty, Line 112

    Property cannot be updated or deleted. Property ‘PKcheck’ does not exist for ‘dbo.SalesTax3’.

     

    This is a good way to handle this, as a TRY..CATCH can trap the error and do an insert instead of something else.

    SQLNewBlogger

    This was another side post from my testing of a solution. As I used this code to solve a problem, I kept a copy and made a few screenshots. This one was about 10 minutes in total.

    References

    sp_updateextendedproperty – https://msdn.microsoft.com/en-us/library/ms186885.aspx

    sys.extendedproperties – https://msdn.microsoft.com/en-us/library/ms177541(v=sql.90).aspx

  • The Importance of Our Work

    My wife has often uttered a particular saying during stressful times in her career. She spent 20 years working in computer telephony and speech, often in sales, and would remind her colleagues that they “weren’t saving babies” as they worked with customers.

    It was a reminder that most of our work isn’t, ultimately, that critical to the world. It matters for our businesses to success, for our careers to move forward, but most of the time we should keep some perspective on the value of the time we spend at work versus the rest of our lives.

    I ran across that saying recently in a post from Scott Hanselman, and like him, I’ll apologize if your work is actually affecting life. If so, I agree with Mr. Hanselman, make sure you have unit tests. Lots of them.

    However for most of us, we’re trying to improve commerce in some way. A few of us work for non-profits or the government and hopefully are trying to make the workings of that organization more efficient.  Some of us might be building systems using open data to improve society in some way. No matter what you do, remember that there is some life outside of technology.

    Remember to spend time with your family, with friends, even taking care of yourself. Not only is it healthy to get away from work, it can help refresh you and give you a new perspective on the work you do. Work is important, but keep your efforts in perspective.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.0MB) podcast or subscribe to the feed at iTunes and LibSyn. feed