Understanding how a 3rd party application works | SQL Server Performance Forums

SQL Server Performance Forum – Threads Archive

Understanding how a 3rd party application works

I work with an database application that uses MS SQL server (actually MSDE in my case) to manage records for its database. Like any other application, it has a GUI for users to enter transactions – the app then takes these transactions and translates them into SQL commands that are sent to SQL server. For certain easy tasks, I find the user interface too cumbersome to work with, and instead, I want to bypass using this GUI to update the database. I assume I will probably need write my own program which itself issues this same command to SQL server.
Is this correct, or is there an easier way (3rd party tools) which do the job? If I need to write my own program, I would like to write one that automatically performs the identical SQL queries that the application does. In other words, I would like to mimick the same SQL commands that the application currently does when it performs one of these tasks. For instance, when the application adds an entry to the database, it might issue a command like "INSERT INTO table (a,b,c) values (1,2,3)". So, my program would have to send this same query to the SQL server instance in order to update the database in the correct manner. I haven’t done anything like this before, so I am wondering if this sounds reasonable to accomplish, or am I in over my head? Is it generally dangerous (i.e. prone to bugs) if I try to update the database on my own? First, I need to figure out how my app currently writes to its database tables when a user of the application performs particular task. For this, I assume I will need to get my hands on some sort of SQL database auditing tool that can log all commands issued to SQL server, when I use the app to perform that task. When I get that information, I will write a program that just copies the syntax of those commands. Which tool can do this job? I have heard about tools such SQL profiler, and also Log Explorer, but I have never used them.
All the tools that you need are provided by SQL Server. For a nominal cost you can buy a devloper edition for SQL Server and you’ll have the following client tools – – Query Analyzer – Used for sending quesries to database. Can be used to see the execution plan and I/O statistics for the query. Very informative and easy to use.
– SQL Profiler – Used for tracing the calls to database. Very useful, informative and easy to use. Gaurav
Moderator
Man thrives, oddly enough, only in the presence of a challenging environment- L. Ron Hubbard

Interrogate the stored procedures in the system. If you are lucky, and its well designed, most if not all of the business logic will be in these procedures, and the app should be little more than a graphical interface to it. It doesnt always work this way tho <img src=’/community/emoticons/emotion-5.gif’ alt=’;-)’ />
Thanks for the info. I guess my next step is to get this developer version of SQL server. How is the developer edition different from the standard SQL server package?
Does it come with all the tools you mentioned (Profiler, Query Analyzer?)
It seems to be a lot cheaper, so I am wondering what would prevent someone
from simply purchasing the developer edition for their needs rather than
paying a whole lot more for the standard version?
Developer edition can’t be used for commercial deployements. It comes with all the tools and utilities provided by SQL Server over all the editions. So if the purpose is to investigate the SQL processing and not use licence as "SQL Server" installation, use developer edition. However if you are going to replace MSDE by SQL Server, consider buying Standard / Enterprose edition as per requirements. HTH. Gaurav
Moderator
Man thrives, oddly enough, only in the presence of a challenging environment- L. Ron Hubbard

]]>