Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SQL Profiler/Trace equivalent in MS Access

4 views
Skip to first unread message

KJ

unread,
Sep 9, 2002, 11:05:22 AM9/9/02
to
Hi,
I've search around but have had no luck finding exactly what I'm
looking for. That would be a tool or utility I can use against an MS
Access database, local or on a remote/network server, that logs the
activity similar to how SQL Trace does for a SQL Server.

If there are any postings here, web sites, programs, etc. that you can
point me to as well as any answers you can provide, it would be
appreciated.

Albert D. Kallal

unread,
Sep 10, 2002, 10:51:56 AM9/10/02
to
No, but there are few things:

Use show plan:

From the white paper on performance:

<quote>
When ShowPlan is turned on, Jet appends text to a file called SHOWPLAN.OUT
every time a query is compiled. You must modify or compact the database in
order to have a stored query show its query plan. It is also important to
note that SHOWPLAN.OUT appends new data for every new query plan. Leaving
ShowPlan on could result in an extremely large SHOWPLAN.OUT file.
Jet 3.5 includes enhancements and bug fixes to ShowPlan. For example, you
can now determine the inputs to the query. This is very useful in
determining the uniqueness of an index; thus determining how useful that
index is in retrieving the overall result set and what affect it may have on
concurrency. Since Jet 3.5 utilizes a different registry key structure, the
physical location of ShowPlan has changed. To activate ShowPlan for Jet 3.5
you must use this key location:

\\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\JET\3.5\Engines\Debug

<quote/>

I don't know if JET 4 (access 2000) has showplan...but I bet is does

I also use the following code to test forms:

You can also use the following code:
Call DiskStats(True)
docmd.OpenForm "myform"
etc. etc.

On the form myform, place a command button to then do the following

Call DiskStats(False)


I also do a CallDiskStats on code that opens recordsets etc...


The code for disk stats is:

Public Function DiskStats(bolReset As Boolean)


Dim lngTemp As Long

If bolReset = True Then

DBEngine(0).BeginTrans
DBEngine(0).CommitTrans
lngTemp = DBEngine.ISAMStats(0, True)
lngTemp = DBEngine.ISAMStats(2, True)

Else

MsgBox "disk read = " & DBEngine.ISAMStats(0) & vbCrLf & _
"CacheRead = " & DBEngine.ISAMStats(2) & vbCrLf

End If

' lngDiskRead = DBEngine.ISAMStats(0)
' lngDiskWrite = DBEngine.ISAMStats(1)
' lngCacheRead = DBEngine.ISAMStats(2)
' lngCacheReadAheadCache = DBEngine.ISAMStats(3)
' lngLocksPlaced = DBEngine.ISAMStats(4)
' lngLocksReleased = DBEngine.ISAMStats(5)

End Function

--
Albert D. Kallal
Edmonton, Alberta Canada
kal...@msn.com

0 new messages