1. Panos Platanas
  2. PowerBuilder
  3. Sunday, 2 October 2022 16:37 PM UTC

Hi all,

this is a shot in the dark...

I have installed sp_BlitzFirst to a customer of ours in order to get some metrics and check on performance on his SQL Server.

They are running SQL Server 2019 and their databases are on compatibility level 120 (SQL Server 2014).

Our PowerBuilder (2017) application is using the SNC to connect to SQL Server (DBMS="SNC")

In SQL Server 2014 and onwards there is the new Cardinality Estimator.

Blitz returned the the Top10 issues and all of them were SQL statements that were going Downlevel C.E

From what I gathered, it seems that for these statements SQL Server picks (or is forced to pick) the old C.E.

The databases are already in compatibility level of SQL Server 2014.

We have no Trace Flag 9481 anywhere in our Stored Procedures and I was wondering whether PowerBuilder itself is transparently setting the SQL statements with the old Trace Flag.

Do I need to state anywhere in my connection string that the SQL Server version is 2014 and onwards in order to behave correctly?

As I said, it is a shot in the dark but I have ran out of ideas how SQL statements can go with the old C.E

Thank you

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Sunday, 2 October 2022 17:37 PM UTC
  2. PowerBuilder
  3. # 1

Hi Panos; 

  Have you tried ...

SQLCA.DBMS = "TRACE SNC"

  That will output a PB App DB trace where you can see exactly what the PB/SS db driver is sending your SS DBMS client.

HTH

Regards .... Chris 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.