All servers must be assigned a service level. Minion Enterprise comes configured to use service levels Gold, Silver, and Bronze. However, you may want to add a level – for example, a “Mud” level for nearly worthless servers, or “Platinum” for super-special, above-Gold level servers.  We’ll use “Platinum” as our example.

To add a service level to Minion Enterprise:

1. Create files

Create “Platinum” level files in C:\MinionByMidnightDBA\Collector\SQLQueries\ with the proper query inside each one. The following is a list of files to create, but only the first has the example query; reference the associated GOLD files for a model of each query:
  • ServerListWithIDPLATINUM.txt 
SELECT S.InstanceID, RTRIM(LTRIM(S.ServerName)) AS ServerName, ISNULL(SM.MgmtDB, 'master') as MgmtDB, S.SQLBuild, S.Port, S.IsCluster
from dbo.Servers S (nolock)
LEFT OUTER JOIN dbo.ServerMgmtDB SM with(NOLOCK)
ON S.InstanceID = SM.InstanceID
where S.ServiceLevel = 'Platinum'
and S.IsSQL = 1
AND S.IsActive = 1;
  • DataPropertiesPLATINUM.txt
  • DBPropertiesPLATINUM.txt
  • DBScriptPLATINUM.txt
  • DBUsersPLATINUM.txt
  • DriveSpacePLATINUM.txt
  • ErrorLogPLATINUM.txt
  • IndexStatsPLATINUM.txt
  • InstanceConfigPLATINUM.txt
  • LogFilePercentFullPLATINUM.txt
  • LogPropertiesPLATINUM.txt
  • OSDetailPLATINUM.txt
  • ServicePropertiesPLATINUM.txt
  • SQLLoginsPLATINUM.txt
  • SysColumnsPLATINUM.txt
  • SysObjectsPLATINUM.txt
  • TablePropertiesPLATINUM.txt
  • WaitStatsPLATINUM.txt

2. Edit the Powershell script

In QueryParams.ps1, add $Platinum = "$CommonScriptPath\Collector\SQLQueries\ServerListWithIDPLATINUM.txt"

In QueryParams.ps1, add if ($Query -eq "Platinum") {$ServerList = $Platinum}
 

3. Add jobs

Add “Platinum” level jobs as appropriate. The following is a list of jobs to create, but only the first has the example step definition; reference the associated GOLD jobs for a model of each step definition:
  • AlertBackupsMissingDiff-PLATINUM
Alert.Backups @SearchType = 'SLA', @SearchValue = 'PLATINUM', @BackupType = 'Diff', @IncludeDefer = 1, @IncludeException = 1, @IncludeChange = 1, @EmailProfile = 'BackupsProfile';
  • AlertBackupsMissingFull-PLATINUM
  • AlertBackupsMissingLog-PLATINUM
  • AlertDBsNewRetired-PLATINUM
  • AlertDriveFreeSpace-PLATINUM
  • AlertInstanceConfig-PLATINUM
  • AlertServiceStatus-PLATINUM
  • CollectorDBFileDataPropertiesGet-PLATINUM
  • CollectorDBFileLogPropertiesGet-PLATINUM
  • CollectorDBListGet-PLATINUM
  • CollectorDBPropertiesGet-PLATINUM
  • CollectorDBScript-PLATINUM
  • CollectorDBUsersGet-PLATINUM
  • CollectorDriveSpace-PLATINUM
  • CollectorErrorLog-PLATINUM
  • CollectorIndexStats-PLATINUM
  • CollectorInstanceConfigGet-PLATINUM
  • CollectorLoginsGet-PLATINUM
  • CollectorOSDetailsGet-PLATINUM
  • CollectorServerInfoGet-PLATINUM
  • CollectorServicePropertiesGet-PLATINUM
  • CollectorServiceStatusGet-PLATINUM
  • CollectorSysObjectsGet-PLATINUM
  • CollectorTableColumns-PLATINUM
  • CollectorTableProperties-PLATINUM
  • CollectorWaitStatsGet-PLATINUM
Then, they’ll be free to use dbo.Servers SLA = ‘Platinum’ all they want.