SchemaSmith Documentation

Templates - SQL Server (Community)

SQL Server Community template configuration and edition-specific limitations.

SchemaSmith Template.json configuration for SQL Server Community database schema management.

Overview

Each Template.json file targets one logical group of databases on SQL Server. For the full field reference, quench slot pipeline, and template ordering rules that apply across all platforms, see Products & Templates.

This page covers what is specific to the Community edition: the available template properties and features that are reserved for Enterprise.

Community Example

From the SchemaSmith Community Demos, a minimal template targeting a single database. Community templates use a fixed set of default script folders and do not support custom ScriptFolders or template-level ScriptTokens:

{
  "Name": "Main",
  "DatabaseIdentificationScript": "SELECT [name] FROM master.dbo.sysdatabases WHERE [name] = '{{MainDB}}'",
  "VersionStampScript": "PRINT '{{ReleaseVersion}}'"
}

SQL Server Identification

Community templates use DatabaseIdentificationScript to query master.dbo.sysdatabases or master.sys.databases, the same pattern as Enterprise.

13 Fixed Default Folders

Community uses the same 13 default script folders as Enterprise, but the folder set is fixed and cannot be customized. See default script folders.

Community Limitations

The Community edition supports the core template workflow but reserves several features for Enterprise. The following Template.json properties are not available in Community:

Feature Enterprise Only
ScriptFolders Custom folder-to-slot mappings. Community uses the fixed 13-folder default set.
ScriptTokens Template-level token definitions. Community templates can reference product-level tokens but cannot declare new ones.
ServerToQuench Always-On AG replica targeting. Community does not support AG deployments.
IndexOnlyTableQuenches Index-only mode for secondary replicas or third-party databases.
Required Optional template skipping when no databases match. Community aborts if no databases are found.

Available Properties

Property Required Default Description
Name Yes Must match the folder name under Templates/ and the TemplateOrder entry.
DatabaseIdentificationScript Yes SQL query returning database names this template targets.
VersionStampScript No SQL executed per database after quench completes.
UpdateFillFactor No true Whether to update index fill factors to match the schema package.
BaselineValidationScript No Per-database gate that must return a value comparing equal to 1 before quench work begins.