Skip to content

Workhorse Server Role

EdVassie edited this page Sep 7, 2021 · 11 revisions
Previous Site Level Default Values Lightweight Server Role Next

This page describes Workhorse Server Role deployment. The purpose of this file is to hold the parameters that define what is needed to be added to the Site Level Default Values to define the Role. A suggested approach is to use the FineBuild Parameter Inventory and review each of the pages in Parameters by Function as a checklist for what may be useful to your organisation. The source of each parameter used can be documented using /Comment: parameters.

This page consists of the following steps:

Workhorse Role Assumptions

The assumptions relating to this role are:

  • This Role will be used to build a Failover Set for the Clustered SQL with dAG architecture
  • Two SQL Clusters (DVGB01SQLC01 and DVGB02SQLC02) each consisting of two servers will be built using this Role
  • The two clusters will be linked using a Distributed Availability Group called DVGBSQL01

Create Role File

Create a role file in the Site SQL Files Folder similar to the example below. Call the file DVGBSQL01.bat.

  • The /Comment: parameters are optional, but help in documenting the options chosen
  @ECHO OFF
  REM Copyright FineBuild Team © 2021.  Distributed under Ms-Pl License
  REM
  REM ACME Development 8-Core dAG Role DVGBSQL01
  REM
  CALL "SQLDev.bat" %*                                     ^
  /Comment:"FineBuild: https://github.com/SQL-FineBuild/Common/wiki/FineBuild-General-Parameters"            ^
  /Comment:"General Environment Parameters"                ^
   /IAcceptLicenseTerms                                    ^
   /ManagementServer:DVGBSQL01                             ^
   /Server:"Unknown"                                       ^
  /Comment:"Disk Volume Parameters"                        ^
   /VolTempWin:Z                                           ^
  /Comment:"SQL DB: https://github.com/SQL-FineBuild/Common/wiki/SQL-DB-Parameters"                          ^
  /Comment:"SQL DB Accounts"                               ^
   /SecurityMode:SQL                                       ^
   /WinLogin10:ROOT\AppGB_SQLMD_D01                        ^
   /WinLogin11:ROOT\AppGB_SQLMW_D01                        ^
  /Comment:"SQL DB Always On"                              ^
   /SetupAlwaysOn:Yes                                      ^
   /SetupAODB:No                                           ^
   /SetupAOAlias:Yes                                       ^
   /AGDagName:DVGBSQL01                                    ^
  /Comment:"SQL DB Cluster"                                ^
   /SetupAPCluster:Yes                                     ^
   /SetupSQLDBCluster:Yes                                  ^
  /Comment:"SQL DB Data Quality and MDS"                   ^
   /SetupDQ:YES                                            ^
   /SetupMDS:YES                                           ^
  /Comment:"SQL DB Disk Volume and Folder"                 ^
   /DirSQL:MSSQL                                           ^
   /VolData:"J"                                            ^
   /VolLog:"K"                                             ^
   /VolDataFS:J                                            ^
   /VolTemp:Z                                              ^
  /Comment:"SQL DB DTC"                                    ^
   /VolDTC:M                                               ^
  /Comment:"SQL DB External Services"                      ^
   /SetupPython:Yes                                        ^
   /SetupRServer:Yes                                       ^
  /Comment:"SQL DB Filestream"                             ^
   /FileStreamLevel:3                                      ^
   /VolDataFT:J                                            ^
  /Comment:"SQL DB Management Data Warehouse"              ^
   /SetupMDW:NO                                            ^
  /Comment:"SQL DB PolyBase"                               ^
   /SetupPolyBase:Yes                                      ^
  /Comment:"SQL AS: https://github.com/SQL-FineBuild/Common/wiki/SQL-AS-Parameters"                          ^
  /Comment:"SQL AS Basic Install"                          ^
   /ASServerMode:Multidimensional                          ^
  /Comment:"SQL AS Cluster"                                ^
   /SetupSQLASCluster:Yes                                  ^
  /Comment:"SQL AS Configuration"                          ^
   /SetupOLAPHTTP:Yes                                      ^
  /Comment:"SQL AS Disk Volume and Folder"                 ^
   /VolDataAS:F                                            ^
   /VolLogAS:G                                             ^
   /VolBackupAS:F                                          ^
   /VolTempAS:G                                            ^
  /Comment:"SQL RS: https://github.com/SQL-FineBuild/Common/wiki/SQL-RS-Parameters"                          ^
  /Comment:"SQL RS Basic Install"                          ^
   /SetupPowerBI:Yes                                       ^
   /RSName:"Development Report Server"                     ^
  /Comment:"SQL RS Alias"                                  ^
   /SetupRSAlias:Yes                                       ^
   /RSAlias:ACMEReportsDev                                 ^
  /Comment:"SQL RS Cluster"                                ^
   /SetupSQLRSCluster:Yes                                  ^
  /Comment:"SQL RS Configuration"                          ^
   /CatalogServer:DBDEVNPC3                                ^
   /SetWorkingSetMaximum:6000000                           ^
  /Comment:"SQL RS Unattended Execution"                   ^
   /SETUPRSEXEC:YES                     

The role file contains all the parameters that define the role

  • All servers built using this role will run the AutoConfig Processing scripts in the \DVGBSQL01 sub-folder

Create Server File

  1. Create install files for each of the 4 servers in the dAG similar to the example below. The files should be called:

    • DVGB01SQLC01N01.bat, for use with server DVGB01SQLC01N01
    • DVGB01SQLC01N02.bat, for use with server DVGB01SQLC01N02
    • DVGB02SQLC02N01.bat, for use with server DVGB02SQLC01N01
    • DVGB02SQLC02N02.bat, for use with server DVGB02SQLC01N02

    The install file contains the parameters unique to the server, which normally should only be the server name

  @ECHO OFF
  REM Copyright FineBuild Team © 2021.  Distributed under Ms-Pl License
  REM
  REM Server DVGB01SQLC01N01
  REM ACME Development 8-Core dAG Role DVGBSQL01
  REM
  CALL "DVGBSQL01.bat" %*                                  ^
  /IAcceptLicenseTerms                                     ^
  /Server:DBDEVTDC4N1           
  1. Create similar Server files for each of the other three servers that will use this role

    The file and server names should reflect the server to be built. The /IAcceptLicenseTerms parameter is shown in all build files as a reminder that performing a SQL FineBuild install requires acceptance of all License Terms

Install Process

The Server-level files can be run in any order but must be run sequentially. When each install file is run, it runs the role file to pick up the standard role parameters. The role file then runs the environment default values file which in turn will invoke FineBuild with the combined set of parameters

At run time add the /AdminPassword: parameter to specify your password. This will allow SQL FineBuild to log on automatically when it needs to perform a reboot

Copyright FineBuild Team © 2014 - 2021. License and Acknowledgements

Previous Site Level Default Values Top Lightweight Server Role Next

Key SQL FineBuild Links:

SQL FineBuild supports:

  • All SQL Server versions from SQL 2019 through to SQL 2005
  • Clustered, Non-Clustered and Core implementations of server operating systems
  • Availability and Distributed Availability Groups
  • 64-bit and (where relevant) 32-bit versions of Windows

The following Windows versions are supported:

  • Windows 2022
  • Windows 11
  • Windows 2019
  • Windows 2016
  • Windows 10
  • Windows 2012 R2
  • Windows 8.1
  • Windows 2012
  • Windows 8
  • Windows 2008 R2
  • Windows 7
  • Windows 2008
  • Windows Vista
  • Windows 2003
  • Windows XP
Clone this wiki locally