ScriptDom versioning issues

I installed the 2016 SSMS client recently and in one way or another any of my apps that I have written that use the DacFx ScriptDom have all broken in slightly different ways. One app throws a type conversion error and another just failed to find any statements in a batch. When I started debugging the problem I noticed that I got this when I started one of the apps from Visual Studion:

Why is my tSQLt test not running?

I wrote a test earlier and forgot one of the two cardinal rules about tSQLt so I was running my test suite and the test did not run, I re-deployed and it still didn’t run so I thought I would create this handy list of things to check that mean that even when the tests exist in the database they do not run: Are the tests in a schema that has the tSQLt test class extended property?

Slides for my pass virtualisation virtual chapter talk on how sql fits into a containered world

The slides are up: https://github.com/GoEddie/SQL-Server-Containers Any questions shout!

We can do professional SQL Server deployments using SSDT

Really excited by my first post on medium, haven’t really used it before but found it to be a really nice tool: https://medium.com/@edelliott.the.agilesql.club/let-s-start-doing-profes…

Slides and Demos for SQLSupper August meeting

Last night I had a lot of fun presenting on one of my favorite topics, MARS and SQL Server protocols including a rather fun live demo. The slides and demo apps are available: https://github.com/GoEddie/SQLSupper-WhenMarsAttacks If anyone wants to know more about MARS or TDS feel free to contact me as always :)

I dont use the Visual Studio SSDT Publish

I see questions pretty regularly on stack overflow and the ssdt msdn forum that is some variation on “I am doing a publish through visual studio and it doesn’t quite do what I want” or “I want to publish the database when I press F5 except when I don’t want it to publish”. The second variation I particularly enjoy because I have always though that what I want is a computer that I can think something and it will do it - I guess we are a little way off but one day hopefully that will be possible.

Ignore a warning on a dacpac reference at your peril

I worked on a project where we had two SSDT projects with different versions of SQL, one 2012 and one 2008. The 2012 project referenced the 2008 project as a “this database” reference and while this seemed like it worked, the reference in solution explorer had a little warning sign and it caused nothing but problems. The first thing was that the reference didn’t work on anyone else’s machine when they checked out the solution, the other developers had to delete and re-add the reference once.

Shared databases or private databases?

Traditionally database developers have shared a database and while this certainly made sense when everyone had a limited amount of ram and a few hundred megabytes of hard disk space it has been a while since we have had a development machines without enough resources to easily run a few copies of visual studio and SQL Server - if this isn’t the case then you really need to re-evaluate the cost of a new machine versus the cost of developers time.

AdventureworksCI Step 5 Adding tSQLt to the solution

This is part of a series on how to take the Adventureworks database and bring it in line with modern standards. How do we put a legacy SQL Server database into source control? What issues do we face and how hard is it? Then how do we build a continuous integration pipeline and possibly move towards continuous deployment. This series takes a look at how we achieve this whilst also implementing some coding standards and making an imperfect database a little bit better.

AdventureworksCI Step 4 Pushing to GitHub

This is part of a series on how to take the Adventureworks database and bring it in line with modern standards. How do we put a legacy SQL Server database into source control? What issues do we face and how hard is it? Then how do we build a continuous integration pipeline and possibly move towards continuous deployment. This series takes a look at how we achieve this whilst also implementing some coding standards and making an imperfect database a little bit better.