Category: Blog

  • The Future of Database Development at SQL Saturday #870–Memphis

    I’m off to Memphis today for SQL Saturday #870. I’m excited as I’ve never been to Memphis and hope to wander around and see something while I’m there. I know Tennessee has a great #sqlfamily, so I’m looking forward to seeing old friends and making new ones.

    If you’re in the area, register and come out for a free day of learning tomorrow. The event is at the FedEx Institute of Technology, and there are a lot of great sessions on the schedule.

    I’ll be delivering The Future of Database Development with Containers at 2:45. This is a fun session and I’ll be referencing some research we’ve done at Redgate that might change how we help you develop with databases in the future.

    Come join me and shake my hand tomorrow in Memphis.

  • Shutting Off PowerShell Warnings–#SQLNewBlogger

    Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

    Not really a SQL Server post, but I ran into this minor issue. While running a script, I saw this:

    2019-09-19 16_47_13-● RestoreUnknownStripedBackup.ps1 - SitC 2018 - CreateProtectManageDB - Visual S

    The warnings aren’t a big deal, and in fact, have no bearing on my script. At least, not on this script. Since I needed to give this to a customer as a PoC item, I didn’t want any weird warnings. As a result, I needed to suppress these. A little intellisense in VS Code gave me a hint, but what value to use for the parameter?

    2019-09-19 16_47_46-● RestoreUnknownStripedBackup.ps1 - SitC 2018 - CreateProtectManageDB - Visual S

    A quick search brought me to Server Fault, where I saw the value. I added the SilentlyContinue to my script and messages suppressed.

    2019-09-19 16_48_11-● RestoreUnknownStripedBackup.ps1 - SitC 2018 - CreateProtectManageDB - Visual S

    SQLNewBlogger

    This is a helpful tip for me, and I think I showed you how I found an issue, researched, and solved it. It’s good to give a potential employer some confidence that you can work through issues and find answers.

    This took me less than 10 minutes. I bet you could do the same thing in the same time. Write about how you solve a small issue and drop it on your blog.

  • Using SQL Dependency Tracker as a Picklist

    This is part of a demo series I did for a customer workshop. I’m adding a little more detail and explanation of the demos of products I gave.

    A long time ago Andy and I were chatting with the founder of Redgate. At the time SQL Compare use was growing and it was becoming one of the “must have” tools for any DBA. I suggested that having a separate way to getting just the dependencies for an object listed was a good idea. Redgate agreed and at some point SQL Dependency Tracker was released.

    This post looks at one of the main uses I’ve found for Dependency Tracker: a picklist of things to examine.

    Altering a Table

    One of the common things a developer might do is change a table. In my case, I’ll add a column to a table.

    2019-09-13 17_10_12-Window

    Once I do this, I might think I’ve fixed something, but what if there are dependencies? Could there be a view of other item I want to ensure gets changed? There might be. While I could run a query against sys.depends, that might not get me everything that I need.

    Dependency  Tracker fulfills a need here and can make this process smoother. I’ll flip over to my SQL Source Control tab and click the icon in the upper left. I can use this integrated menu to launch Dependency Tracker with context, in this case, the database in which I’m working.

    2019-09-13 17_11_27-Window

    When Dependency Tracker launches, it will build a project out from my database, including a diagram. While this looks great, I find the diagram hard to use and navigate, especially when I’m in an unfamiliar database.

    Maybe if Redgate bought me a 42” monitor for home, I’d feel differently (hint, hint).

    In any case, this is the basic Dependency Tracker view

    2019-09-13 18_03_05-Window

    To me, the best part of the tool is on the right side. Specifically, the middle and lower panes. If I click in the middle pane, I can see my objects listed.

    If I now start to type a table, say my “Articles” table, I can see the list of objects sorts down to matching items.

    2019-09-13 18_03_41-Window

    Nothing special here, but when I click on the object in the middle pane, the bottom pane fills. In this case, I see what items depend on my object.

    2019-09-13 18_03_45-Window

    This bottom pane is where I find value. This is my picklist of things to examine. I can click on one of the items, and then go back to SSMS and find that item in SQL Search. I can see if I need to do work.

    2019-09-13 18_03_52-Window

    When I’m done, I ALT+TAB back to the Dependency Tracker screen and down arrow to the next item. In this way, I can walk down a picklist and try to ensure I don’t miss any dependencies. If I change any object, I can double click on it in the “Dependencies” window in Dependency Tracker and see if there are lower dependencies on that object.

    2019-09-13 18_03_57-Window

    Keeping track of work and ensuring I catch everything that might be affected by a change is an area that many developers struggle to do well.

    Dependency Tracker is a great way of ensuring that you catch all the dependencies that might be affected by your database change.


  • Pre-Con in Denver

    As prep for our pre-con at the PASS Summit, Kendra and I are presenting a pre-con at the Denver SQL Saturday#908, on Friday, October 11, 2019. We’ll be talking about How to Architect Successful Database Changes: Source Control and Release Patterns for Performance and Availability.

    This is a look at development patterns that we’ve found to help handle more complex changes, both with state and migration patterns.

    The pre-con is $150, which is a bargain compared to the cost at large conferences. If you want to discuss development patterns that keep your database up and usable, come join us.

    Register today and we’ll see you in a couple weeks.