Have you have ever looked for something and expected it to be there…and it wasn’t? If so, you will understand my day today. I have a SQL Server Agent job that uses VBScript in one of it’s job steps and we tried to move it to a SQL Server 2016 server. It unexpectedly failed because the ActiveX Script job step type is no longer an option.
Below you will find a screenshot from a pre-2016 server. As you can see, the job step type is there.
Now here is a screenshot of the job step properties from a SQL Server 2016 server. Notice, NO script job step type. However, you will see a PowerShell job step type that we can use instead.
Here is the link to Microsoft that describes other features that were removed from SQL Server 2016.
You can query the sysjobsteps table to find the jobs that have these types of job steps.
SELECT j.name
, s.step_id
, s.step_name
, s.subsystem
FROM dbo.sysjobsteps s
INNER JOIN sysjobs j
ON s.job_id = j.job_id
I have been telling my students for a number of years that as DBAs we will need to learn PowerShell someday. That day actually arrived a few years ago. This is a great example of why we should know PowerShell.
I really try to keep up on the features that are removed from versions of SQL Server, however this one slipped through the cracks and I missed it. I just really never expected it to be removed, although I do understand why MS did remove it.