Anni Kristensen
2005-01-10 13:35:03 UTC
0X000E
While Navision is using the same stored procedures over and over again, we
can see that the users often is locked and are waiting for a wait_event named
0X000E.
This tells us that the users are waiting for a ”COMPILE lock”. The procedure
still does exist in cache and is valid, but in the Navision application the
owner is not written before the object and therefore the SQL server will not
be sure whether the object does exist in other schema's. The SQL Server is
then forced to capture the compile lock to investigate. Therefore instead of
using ex. 'Execute sp_execute', use 'execute dbo.sp_execute'.
While Navision is using the same stored procedures over and over again, we
can see that the users often is locked and are waiting for a wait_event named
0X000E.
This tells us that the users are waiting for a ”COMPILE lock”. The procedure
still does exist in cache and is valid, but in the Navision application the
owner is not written before the object and therefore the SQL server will not
be sure whether the object does exist in other schema's. The SQL Server is
then forced to capture the compile lock to investigate. Therefore instead of
using ex. 'Execute sp_execute', use 'execute dbo.sp_execute'.