Trying to diagnose an problem, I've ran into that inconsistency. In SQL Server Profiler, the RPC Starting event uses the regional settings to write real numbers (example: in Portuguese(Brazil) 14.5 will be expressed as 14,5). Normally that's not a problem, except where the RPC call is a stored procedure with real number parameters. So what is expected to be expressed as:

exec usp_something 'blabla', 14.5

Is expressed as:

exec usp_something 'blabla', 14,5

Which gives a lot of headaches when you have a long parameter list. Didn't find any clue online how to change that behavior.

Someone knows a way to change that behavior?

Btw: I'm aware that the workaround is to use SP Starting event instead, which uses '.' for decimal separator.

  • Do you also see this with an Extended Event trace of rpc_starting events? I suspect this is a bug but, given Profiler/SQL Trace are deprecated, it might not get much attention. – Dan Guzman May 11 '18 at 10:14
  • Which SQL Server Profiler version are you using? What about your login's default language? If not English, perhaps you should give it try changing it.. – Danilo Braga Apr 12 '19 at 14:17
  • @Dan :All logins' default language are English. SQL Server Profiler version: 10.0.1600.22 – Fabricio Araujo Apr 12 '19 at 17:50
  • @Dan: OS language is portuguese (both client and server) – Fabricio Araujo Apr 12 '19 at 17:51
  • 1
    Yeah. That might be the reason. I bet if you create a new OS (for testing) with English version you will not see the strange behavior. – Danilo Braga Apr 12 '19 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.