How to check decimal separator in T-SQL How can I check with a T-SQL Command what decimal separator is in use in a given user context. 

Microsoft Windows Server 2012 has a bug where the regional settings for Swiss German introduced an incorrect decimal separator and digit grouping
KB3060383

We are running our batch jobs via Sql agent with service accounts and we noticed that some of these service accounts are using the wrong decimal separator, some not (since some steps fail). So we want to have a step in each job that displays what settings it is using when running. Checking the regional setting alone doesn't help due to the above mentioned bug. The Windows servers have been patched but we still notice these problems.

I'm aware that we could code the jobs more defensive however that would cover the wrong settings and would make it even more difficult to discover where the bug is still active.
A T-SQL solution won't help here because SQL Server always uses . as the decimal separator and, as a server application, doesn't honor client regional settings.  One easy way to get the regional setting of the SQL Agent job step account is with a Powershell step with script like:

$numberDecimalSeparator = ((Get-Culture).NumberFormat.NumberDecimalSeparator)
Write-Output "NumberDecimalSeparator is '$numberDecimalSeparator'"


The fact you are having problems with decimal separators suggests the scheduled code is constructing dynamic SQL strings instead of using parameters.  Parameterized queries pass values in native form rather than strings, thus avoiding problems with regional settings that affect date formatting, decimal separators, etc.