Different app behavior when connecting to 2 different SQL Server

  • I am troubleshooting one issue and I am wondering if someone can help me. Maybe guide me where and what to look for???

    We have an application where the user logs in, creates a dummy user, grants that user access to view certain information, and approves it. Then the API call is made, which creates a user in salesforce and returns the contact ID. Then the same api updates a table in  SQL Server with that contact ID in a contact table but it times out and no information is displayed. But when the user closes the browser, reopens it again, searches for the user, then the information is displayed. This is when the app is pointing to D1 instance but when the app is connected to D2, everything works as expected and the information is displayed as soon as the user approves it. No need to restart the browser.

    D1 is a standalone server, running on 2016, SP2-CU17-GDPR whereas D2 is part of AG, which is also running on 2016. SP2-GDPR

    "He who learns for the sake of haughtiness, dies ignorant. He who learns only to talk, rather than to act, dies a hyprocite. He who learns for the mere sake of debating, dies irreligious. He who learns only to accumulate wealth, dies an atheist. And he who learns for the sake of action, dies a mystic."[/i]

  • If I had to guess, I'd say that the transaction is not committing.

    But my first steps when troubleshooting things like this are to check things like profiler or extended events to see what is happening on the database side as well a loading up the developer tools on the application side to see what is happening there. That and to review any logs that I can find between the 2+ systems. I'd be checking the application logs (assuming it is logging anything), the web server logs (in case something is sending an error somewhere but not to the client), the SQL logs (not expecting anything interesting in there, but doesn't hurt to look), and the windows logs (may have some network related issues).

    It also depends on the application. What I mean is is the application host remaining constant, just changing the config OR is the application hosted on 2 different machines, one that talks back to D1 and one that talks back to D2? The reason I ask that is it ALMOST sounds like it is a caching issue on the client machine and not an issue with the application/database. If the application is hosted on 2 machines (one for D1 and one for D2), it could be a slight misconfiguration on D1.

    But anyway, I think the above is how I'd start investigating the issue. I have a feeling it is not related to the SQL instance but is more related to the web server/client configuration, but if ONLY the SQL instance is what is changing, I'd be launching a profiler session against D1 and D2 then update things. Make sure the SQL going to both systems is the same and that the timing is similar from start to end factoring hardware differences (if any) and rule out the SQL side. Once you rule that out, get the application support team to investigate stuff on their end and try to prove it is the database.

    The above is all just my opinion on what you should do. 
    As with all advice you find on a random internet forum - you shouldn't blindly follow it.  Always test on a test server to see if there is negative side effects before making changes to live!
    I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply