Eu tenho executado o monitor do sistema (sysmon) no Sybase ASE 15.7 (SP139) no HP-UX (Itanium) com o comando abaixo:
sp_sysmon "00:10:00"
go
Observou que o número de inserções é muito alto a qualquer hora do dia, incapaz de encontrar a fonte e os detalhes, por exemplo, nome da tabela, nome do banco de dados, nome do programa etc. sem carga:
Transaction Profile
-------------------
Transaction Summary per sec per xact count % of total
------------------------- ------------ ------------ ---------- ----------
Committed Xacts 10.7 n/a 6390 n/a
Transaction Detail per sec per xact count % of total
------------------------- ------------ ------------ ---------- ----------
Inserts
Fully Logged
APL Heap Table 58665.7 5508.5 35199448 100.0 %
APL Clustered Table 0.0 0.0 7 0.0 %
Data Only Lock Table 13.2 1.2 7918 0.0 %
Fast Bulk Insert 0.0 0.0 0 0.0 %
Fast Log Bulk Insert 0.0 0.0 0 0.0 %
Minimally Logged
APL Heap Table 0.0 0.0 0 0.0 %
APL Clustered Table 0.0 0.0 0 0.0 %
Data Only Lock Table 0.0 0.0 0 0.0 %
------------------------- ------------ ------------ ---------- ----------
Total Rows Inserted 58679.0 5509.8 35207373 100.0 %
Parece que as inserções estão acontecendo no tempdb, no entanto, essas muitas inserções são um pouco incomodas, agradeço ter conselhos de especialistas sobre isso.
Encontrei uma maneira indireta de resolver o problema postado na minha pergunta, pois não encontrei nenhuma ferramenta ou script que pudesse monitorar todas as inserções acontecendo no nível do banco de dados, analisei o procedimento (consulta) que é executado 24 horas por dia e está usando recurso máximo no banco de dados de produção. Para simular, executei esse procedimento manualmente no ambiente de Teste com todos os seus parâmetros e mantive o sysmon rodando em segundo plano pelo mesmo período que leva para o procedimento ser executado. E consegui reunir quase o mesmo número de inserções no ambiente de teste.
Para provar que este é o único procedimento que está fazendo esse número muito alto de inserções a cada segundo, também executei o sysmon antes e depois do procedimento problemático e capturei esse número de inserções também, que está em centenas e nem mesmo em milhares.
Symon Durante a execução do procedimento:
Sysmon Antes/Depois da execução do procedimento (quando não está em execução):
Dessa forma, consegui encontrar o procedimento que fazia 60k inserções a cada segundo. Além disso, essas inserções foram por causa de junções impróprias da tabela (contendo registros enormes) e o número de inserções estavam na forma de tabela de trabalho como abaixo:
Espero que acima ajude outras pessoas caso enfrentem problemas semelhantes que eu enfrentei.