What The Tool? Multiple choice quiz to help you choose a tool for SQL Server

There are a few different choices for tools to use when it comes to SQL Server, while the “experienced” amongst us have used query analyzer, enterprise manager and probably ssms it isn’t always clear what tool you should use. If you consider sql operations studio and vscode it is a literal minefield of possible options. I was quite pleased with how my https://the.agilesql.club/WhatTheIO/ tool worked out and so I thought I would build a simple multiple choice quiz to help people decide between SSMS, SSDT, SOS, VSCode + mssql add-in:

My Azure ARM template development workflow

Writing infrastructure as code is pretty nice and I enjoy the declarative approach of defining what you want and letting the tooling take care of the how. I guess this is because of my background as a SQL developer. What I don’t like so much is the development experience and if you don’t get this part right it can be a right pain. What are the challenges? The first real challenge is writing the correct json for each thing you want to create.

ARMED - Where is the source?

ARMED, where is the source? For quite a few years I’ve been putting everything I wrote on github and made most of it open source with a permissive license like MIT or Apache2. If anyone asked then I would be happy to change any licenses, whatever they wanted but with this new extension I haven’t put it on github. Basically it is freeware, I wrote it in TypeScript which compiles to JavaScript so if you want the JavaScript you can just read it, I prefer reading and debugging TypeScript but as it isn’t compiled to machine code the extension effectively ships with the source.

ARMED - ARM resource dependency graph inside VSCode

I think the title sums it up, I have published a new version of ARMED the arm helper extension for VSCode. This version includes the ability to see a graph of the resources and how they relate to each other: There are a couple of limitations at the moment this knows about child resources and also resources referenced via dependOn, if you have an implicit reference using “resourceId” then I don’t pick it up (yet).

ARMED - Azure ARM VS Code extension

I have been working with ARM templates for a little while and have found it really annoying to test functions inside the templates, you see if you have an ARM template it is a JSON document made up of lots of key/values like: {"name": "a_name"} but it is slightly more complicated because there is a set of functions in a javascript like language you can use in the values so you might have:

Azure Virtual Machine + Premium Disk Throughput Calculator

UPDATE: I haven’t been keeping it up to date so deprecated it - if you find something like this useful moan at microsoft and get them to implement it! I keep having to refer to the virtual machine size page and the disks pricing page to work out how best to stripe disks for whichever type of virtual maching in Azure to work out what sort of throughput we can get so I thought I would save myself some ink and automate it, hopefully someone else finds this useful.

Fixing SQL AG Routing "Cannot find host" using packet analysis (and a spell checker)

I was setting up an availability group listener recently and when I tried to connect to the listener I got an error message to say “The host cannot be found” after the usual 15 seconds connection delay. I checked the usual thing like TCP was enabled on the replicas and that routing was configured, but every time I tried I kept getting the “The host cannot be found” error. Now, I don’t know about you, but I find error messages like this completely infuriating especially when I knew the hostname of the listener resolved because I could ping the damn thing (and then connect straight to the IP address.

"the input device is not a TTY" error running docker on VSTS build agent

I have been playing around with including all my build dependencies in docker for windows lately and had a build that kept giving me this error in the build log: “the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty’” The command I had been running was along the lines of: docker exec -it powershell.exe ./some/script.ps1 The problem was that I was using -it which means “interactive” and “create a virtual TTY”, to run my script I needed neither of those so took them off.

How do I use VSTS variables in YAML CI Build definitions?

Hey, VSTS YAML builds are my new favorite thing, by like a million miles. If you have a yaml build definition ( .vsts-ci.yml ) and you want to use one of the build variables then it isn’t totally clear how to include them in a definition (it hasn’t been out long so I expect more docs to come soon), while we wait for the docs if you want to use one of the variables from https://docs.

You have your database in source control now what?

This post is for a specific type of person if you are: New to source control Are getting started on your path to the continuous delivery nirvana Have been able to get your database into some sort of source control system Have more than one person checking in code to the database source You are unsure what yo do next Then this post is for you! Choosing a source control system and tools to manage your database code is a great hurdle to have got past, well done!