Applies to
ApexSQL Build
Summary
This article explains the ApexSQL Build CLI switches, and their usage through the examples
Description
Connection switches
/server | Specifies server and instance name of the source SQL instance Alias: /s Format: /server:server_name[\instance_name] |
|
Quick tip: If a server is not specified (local) instance is assumed |
/database | Specifies the name of the database to connect to Alias: /d Format: /database:DatabaseName |
|
Quick tip: If a database name is not specified DefaultDb will be used |
/user | Specifies the login when using SQL Server authentication Alias: /u Format: /user:login Note: You must use this option together with the /password switch |
|
Quick tip: If a /user is not specified a trusted connection is assumed |
/password | Specifies the login when using SQL Server authentication Alias: /p Format: /password:pa$$w0rd Note: You must use this option together with the /user switch |
/database_script | Full path to a script that will be used for creating a database (with corresponding extension “.sql”) Alias: /ds Format: /database_script:”CreateDB.sql” |
/database_ script_type |
Specifies how database script will be created:
Alias: /dst |
/db_dir | The MDF file of the database created by generated script will be created in the specified directory Alias: /dbd Format: /db_dir:”DatabaseFolderName” |
/db_logdir | The LDF of the database created by generated script will be created in the specified directory Alias: /dbld Format: /db_logdir:”DatabaseLogDirectory” |
/db_collation | Specifies the database collation Alias: /dbc Format: /db_collation:Latin1_General_CI_AS |
/db_recovery | Specifies the recovery mode for the database:
Alias: /dbrv |
/db_size | Specifies the size for the database in KB, MB, or GB Alias: /dbs Format: /db_size:1024KB |
/drop_if_exists | Checks if database exists and drops it Alias: /die Format: /drop_if_exists |
Script switches
/include_ static_data |
Include static data from loaded input source into tables Alias: /isd Format: /include_static_data |
/invalid_objects | Enforces deferred name resolution. When it is used, a warning will be generated if an invalid object is referenced by a procedure. Alias: /io Format: /invalid_objects |
/include_ transaction |
Wrap the created script statements into explicit transactions. Any errors that occur during the script execution will roll back the transactions and leave the database in the state it was before the statements were executed Alias: /ith Format: /include_transaction |
/script_ansi_ options |
Add the SET ANSI_PADDING ON/OFF and SET ANSI_NULLS ON/OFF options to the output script before each object is affected Alias: /sao Format: /script_ansi_options |
/script_drops | Add DROP statements to the output script for each object before the corresponding CREATE statement is scripted Alias: /sdr Format: /script_drops |
/script_ collation |
Add collation scripts for character columns to the output script in CREATE TABLE statements Alias: /sc Format: /script_collation |
/script_extended_ properties |
Script extended properties for object types where applicable Alias: /sep Format: /script_extended_properties |
/script_filegroups | Script available database filegroups with the existence check Alias: /sfg Format: /script_filegroups |
/script_logins | Script SQL Server logins that the scripted database users are based on Alias: /slg Format: /script_logins |
/script_names | Script index, foreign key and constraint names Alias: /snm Format: /script_names |
/script_ permissions |
Scripts permissions granted, denied or revoked on objects where applicable Alias: /sp Format: /script_permissions |
/script_triggers | Script existing table/view triggers along with the parent object Alias: /str Format: /script_triggers |
/script_use | Add USE <database name> statements to the output scripts Alias: /su Format: /script_use |
|
Quick tip: If a /database_script_type is not specified from_application is assumed |
Specific switches
/project | Full path to the project file, along with the “.axbd” extension Alias: /pr Format: project:”ProjectFile.axdb” |
|
Quick tip: If a project file is saved outside of the installation directory, specify the path where it’s located |
/project_type | Specifies project type:
Alias: /pt |
/output_type | Specifies output type:
Alias: /ot |
/output_name | Full path to an output file or folder folder (“Build_script_%date%_%time%.sql” filename, “Package_%date%_%time%.exe” filename or “Package_%date%_%time%” folder if omitted) Alias: /on Format: /output_name:”Build_script_%date%_%time%.sql” |
/source_type | Specifies source type:
Alias: /st |
/source_name | Full path to source file (with corresponding extension “.sql” or “.axsnp”) or folder, except for source control (use source control options for source input) Alias: /sn Format: /source_name:”SnapshotFile.axsnp” |
/output_ action_type |
Specifies output action type:
Alias: /oat |
/compatibility_ level |
Sets database compatibility level:
Alias: /cl |
/postscript_ file_path |
Full path to the post-deployment script, along with the “.sql” extension Alias: /postfp Format: /postscript_file_path:”PostScript.sql” |
/output_elements | Specifies a set of the optional output elements:
Alias: /oe |
/author | Specifies the name of author in the header of the comparison report or the synchronization script Alias: /auth Format: /author:”John Doe” Note: If the /author switch is specified, its dependent switch and value /output_elements:a need to be provided |
/legal | Specifies the legal information in the header of the comparison report or the synchronization script Alias: /leg Format: /legal:”© ApexSQL LLC” Note: Note: If the /legal switch is specified, its dependent switch and value /output_elements:l need to be provided |
Source control switches
/sourcecontrol_ type |
Type of source control used as the source:
Alias: /sct |
/sourcecontrol_ user |
Source control username Alias: /scu Format: /sourcecontrol_user:sc_login |
/sourcecontrol_ password |
Source control password (used with /sourcecontrol_user switch) Alias: /scp Format: /sourcecontrol_password:sc_password |
/sourcecontrol_ server |
Name of the source control server (TFS server, Perforce host) Alias: /scs Format: /sourcecontrol_server: [<protocol>://<hostname>:<portname>/tfs| https://<accountname>.visualstudio.com/ DefaultCollection (example for Team Foundation Server) Format: /sourcecontrol_server: |
/sourcecontrol_ repository |
Repository of the source control server (Git, Mercurial, Subversion repository, and Perforce depot) Alias: /scr Format: /sourcecontrol_repository: <protocol>://<hostname>: <portnumber>/<git_server_name> (example for Git repository) Format: /sourcecontrol_repository: Format: /sourcecontrol_repository: |
/sourcecontrol_ branch |
Branch name for Git source control type (“master” if omitted) Alias: /scb Format: /sourcecontrol_branch:”branch_name” |
/sourcecontrol_ project |
Project path containing script files on the source control server (Git, Mercurial, Subversion, TFS folder, Perforce workspace) Alias: /scj Format: /sourcecontrol_project:”$/ProjectName” |
/sourcecontrol_ label |
Get script files from the source control project used as the source by label (get latest sources if omitted) Alias: /scl Format: /sourcecontrol_label:”LabelName” |
/sourcecontrol_ folder |
Path of a local working folder with script files (when source control is used as the source) Alias: /scf Format: /sourcecontrol_folder:”SourceControlFolder” |
Package switches
/package_ compression |
Reduces the size of the resulting executable by using compression Alias: /pkcm Format: /package_compression |
/package_error | Sets the package error handling:
Alias: /pke |
/package_author | Places the author tag into the about box of the package. Alias: /pkaa Format: /package_author:”Author_name” |
/package_company | Places the company tag into the about box of the package. Alias: /pkco Format: /package_company:”Company_name” |
/package_legal | Places the legal tag into the about box of the package Alias: /pkal Format: /package_legal:”Legal_notice” |
/package_comments | Places the comments tag into the about box of the package Alias: /pkac Format: /package_comments:”Comments” |
/vs_ver | Sets package Visual Studio version:
Alias: /vrv |
/create_mfs | Creates a manifest file that contains the information regarding OS compatibility versions and sets the Windows user account control level to allow the application to run without any additional permissions Alias: /cmf |
/create_dat | Creates a .dat file which contains SQL code for creating new or updating the existing database Alias: /cdf |
/create_com | Creates a CLI (Command Line Interface) executable for package. Alias: /ccf |
Learn more about additional switches from article on this link.
Return codes
Learn more about common return error codes from the article on this link.
Examples
Note: All examples assume that the current directory is the application directory. If not, the full path to ApexSQLBuild.com must be specified.
Create new database (which will be named DefaultDb, by default) and execute it on LocalServer from the script file named SQLQuery3:
ApexSQLBuild.com /ot:db /sn:”SQLQuery3.sql”
Create new database named TestDb2017 on LocalServer, where permissions and extended properties will be scripted, from the script folder named 2008SF:
ApexSQLBuild.com /ot:db /d:TestDb2017 /sp /sep /st:sf /sn:”2008SF” /oat:create
Create an executable installer for the new database named PartialDB, where previous database will be dropped if exists, from a snapshot file and including static data, with compatibility level SQL 2012:
ApexSQLBuild.com /pt:bdb /ot:ei /d:PartialDB /die /st:sn /sn:”ADW2014.axsnp” /isd /cl:SQL2012
Consolidate scripts into one script by using a project file and specifying its path, overwrite an existing file of the same name, and verbose messages that are generated during the script processing:
ApexSQLBuild.com /pr:”ProjectFile.axbd” /f /v
Create new database from the source control repository using a Git server as an input source on a local server and database named GitDB:
ApexSQLBuild.com /pt:bdb /ot:db /d:GitDB /st:sc /sct:git /scu:SourceControlUser /scp:scpass /scr:”https://Ivana@bitbucket.org/Ivana/Build.git” /scj:”$/Build”
Using an argument file, e.g. “ArgFile.xml”, to execute commands:
ApexSQLBuild.com /argfile:”ArgFile.xml”
Create new database on the server with SQL Server authentication where all database options will be customized:
ApexSQLBuild.com /s:servername /u:user /p:pass /d:NewDatabase /dbd:C:\DBS /dbld:”LogDir” /dbc:Latin1_General_CI_AI_KS_WS /dbrv:Full /dbs:”10 MB” /die
Update an existing database which will be created and executed from a snapshot file, with a drop if exist and include static data options:
ApexSQLBuild.com /pt:udb /ot:db /st:sn /die /isd /oat:create_execute /sn:”ADW2014.axsnp”