View on GitHub

SqlBuildManager

SQL Build Manager is an all-in-one database management tool to easily update your fleet SQL Server databases - from one to tens of thousands.

Command Line Overview


Getting started

The sbm executable uses a command pattern for execution sbm [command]

For detailed information on the available and required options for each command, leverage the self-generated documentation via sbm [command] --help

build

Performs a standard, local SBM execution via command line

threaded

For updating multiple or querying databases simultaneously from the current machine

containerapp

Commands for setting and executing a build running in pods on Azure Container App

k8s

Commands for setting and executing a build running in pods on Kubernetes

aci

Commands for setting and executing a build running in containers on Azure Container Instances. ACI Containers will always leverage Azure Key Vault.

batch

Commands for setting and executing a batch run or batch query

utility

Utility commands for generating override file from SQL statement and interrogating Service Bus and EventHubs

create

Creates an SBM package from script files (fromscripts), calculated database differences (fromdiff) or diffs between two DACPAC files (fromdacpacs)

add

Adds one or more scripts to an SBM package or SBX project file from a list of scripts

package

Creates an SBM package from an SBX configuration file and scripts

unpack

Unpacks an SBM file into its script files and SBX project file.

dacpac

Creates a DACPAC file from the target database

createbackout

Generates a backout package (reversing stored procedure and scripted object changes)

list

List the script contents (order, script name, date added/modified, user info, script ids, script hashes) for SBM packages. (For SBX, just open the XML file!)

policycheck

Performs a script policy check on the specified SBM package

gethash

Calculates the SHA-1 hash fingerprint value for the SBM package(scripts + run order)

getdifference

Determines the difference between SQL Build run histories for two databases. Calculate and list out packages that need to be run between –database and –golddatabase. Only supports Windows Auth

synchronize

Performs a database synchronization between between –database and –golddatabase. Can only be used for Windows Auth database targets

showcommands

Creates export of all command and sub-command descriptions


Logging

For general logging, the SqlBuildManager.Console.exe has its own local messages. This log file is named SqlBuildManager.Console{date stamp}.log and can be found in the same folder as the executable. This file will be the first place to check for general execution errors or problems.

To accommodate the logging of a threaded or batch build, all of the output is saved to files and folders under the path specified in the --rootloggingpath flag. For a simple threaded execution, this is a single root folder. For a remote server execution, this folder is created for each execution server.

For for details and script run troubleshooting suggestions, see Log Files Details for Threaded, Batch, Kubernetes and ACI execution