PoshSSDTBuildDeploy Update - Now With Dynamic SqlCmdVar Updates

One of the big challenges in the whole “build once/deploy many” ideology is the need for environment configuration. And this is true with SSDT-based database deployments. Happily the variables are stored in the publish.xml file. And so today’s release of PoshSSDTBuildDeploy added a switch on the Publish-DatabaseDeployment function. When included, this switch (getsqlcmdvars) will attempt to resolve SqlCmd variables via matching PowerShell variables explicitly defined in the current context. The drawback here is that all SqlCmdVars have to exist in the current context. [Read More]

PoshSSDTBuildDeploy Update - Now With LocalDB

Hello! Late on Friday I published a PowerShell Module that gives working examples of using DataToolsMSBuild. All very interesting,go and have a read of my previous post. One of the things I really want the module to do is to set up all software required for building/deploying. And so from version onwards there are three new Functions that will check if LocalDb is installed, and if it isn’t then it will download and install. [Read More]

PoshSSDTBuildDeploy Released

Hello! Over the recent past I’ve been working on a variety of build/deploy PowerShell scripts that make use of Microsoft.Data.Tools.MSBuild. And I’ve been wanting to get like a standardized “this is how I would do it” set of scripts together. And so I’m happy to say that I’ve got around to it. The source code is on GitHub, and the releases are on both NuGet and PowerShell Gallery. There is a test file to to show the expected workflow. [Read More]

DevOps Teams Maturity Levels

You can tell a lot about how much someone has embraced continuous delivery by how they react when either a build or an automated deployment fails. I have worked with quite a few teams who are at different levels of working with continuous delivery, but irrespective of whether they familiar with the practice or not, you can tell how adaptive a team member is when something goes wrong, like a failed build or deployment. [Read More]

SQL Server 2012 SP4 Released - Clone Database Added

Hello! One of the most interesting features of SQL Server 2012 Service Pack 4 is the availability of the management command DBCC CLONEDATABASE. The idea of it is to create an “empty” copy of the database; all the metadata and statistics of the original and clone are identical, but the clone contains no data. The syntax of the command is very straightforward with only 4 arguments required. So I ran this on a very small (50mb) database, and within a few seconds it was completed. [Read More]

Updating XML With PowerShell Now Including Elements

Hello! So, last month I posted an article about changing XML values in memory. All very useful for when you have to manage configuration in the modern world of “build once, deploy many.” I’m not going to repeat myself on what I said on that blog, it’s all very interesting to for people who like that sort of thing, go and have a read. Yet it only focused on a somewhat simple example, and so as XML can get very complex, I wanted to show a similar method to find elements where they are not unique by making use of attributes that are. [Read More]

AssistDeploy Samples Repo Released

Hello! So AssistDeploy has been out for a little while now and so I decided to release the project I was using for testing during development. At the moment it uses just one scenario I used for testing as opposed to the several that I ran through. This is because initially I just want to provide a straightforward working sample. What became quite a big challenge was the fact that you need more than just an Integration Services project. [Read More]

Kill a Connection, Session, or Command in Analysis Services

One of the useful features of the SSAS Activity Monitor is the ability to cancel sessions and queries. Though there is no obvious way to do this through SSMS you can in fact write an xmla query to kill either the session, connection or command: If you specify the connection ID it will kill all sessions, if you kill a session it will cancel all SPIDs that pertain to that session, and if you kill the SPID it will kill that one command. [Read More]

Failed SSIS Build DtsRuntimeException

Hello! I was helping a team debug a failed build today. Despite the fact that the build compiled on the devs box - something that’s become almost cliché to hear these days - it would fail using devenv.com via cmdline. Annoyingly, there was no errors outputted. So i cloned the repo and took a look myself - This is helpful to approximately no one. But based on experience we figured out that the Azure Feature Pack for SSIS needed to be installed on the build agent. [Read More]

What Do You Get if You Unpack an Ispac

I’ve spent what feels like a lifetime working on automating SSIS deployments, more specifically SSIS packages that have been created in Visual Studio that use the project deployment model. If your SSIS Project is using this model you’ll know that the output of a build is an .ispac file. But what is in an ispac? Funnily enough, someone forwarded me a link to a page that covers some details about the ispac file format on MSDN. [Read More]