MSDNでのこの質問の復活:Blocked-process-report:このwaitresourceとは何ですか "OBJECT:32767:124607697:0 [COMPILE]"
プロファイラーでこれらのステートメントをキャッチしました。それらはすべて3秒以上の持続時間を持っています。いくつかの10以上。ブロックアクティビティは、MSDNからのリンクと同じです。
呼び出しはすべて3つの部分の命名を使用します。すべては、次のような形式で異なるprocを指定します。
exec [db1].[sys].sp_procedure_params_90_rowset N'proc1', 1, NULL, NULL
exec [db2].[sys].sp_procedure_params_90_rowset N'proc2', 1, NULL, NULL
exec [db3].[sys].sp_procedure_params_90_rowset N'proc3', 1, NULL, NULL
exec [db4].[sys].sp_procedure_params_90_rowset N'proc4', 1, NULL, NULL
このレベルのブロックを減らすにはどうすればよいですか?
(編集)私は今、同じことを見ています:
exec [db1].[sys].sp_primary_keys_rowset N'view1', N'dbo'
exec [db2].[sys].sp_primary_keys_rowset N'view1', N'dbo'
exec [db3].[sys].sp_primary_keys_rowset N'view1', N'dbo'
exec [db4].[sys].sp_primary_keys_rowset N'view1', N'dbo'
体系的な何かが起こっていますが、他に何をすべきかわかりません。呼び出し元はADOを介したVB6です。これらの呼び出しを行うのはADOです。
ブロックされたプロセスレポートの例を以下に示します
<blocked-process-report>
<blocked-process>
<process
id="process5bc1288"
taskpriority="0"
logused="0"
waitresource="OBJECT: 32767:124607697:0 [COMPILE]"
waittime="28887"
ownerId="11638114050"
transactionname="sqlsource_transform">
<executionStack>
<frame
line="1"
sqlhandle="0x000000000000000000000000000000000000000000000000">
<sqltext>EXEC [dbo].[spAlertDetectByPoll] ':V:^RMAlert^:Z:^&N&#RMAlert#&S&#L#&UID&#19#&AGN&#1#&DFC&#103#^', 1</sqltext>
</frame>
</executionStack>
<inputbuf>
SET NO_BROWSETABLE OFF </inputbuf>
</process>
</blocked-process>
<blocking-process>
<process
status="suspended"
waitresource="OBJECT: 32767:124607697:0 [COMPILE]"
waittime="35693"
spid="1121"
sbid="0"
ecid="0"
priority="0"
trancount="0"
lastbatchstarted="2013-12-16T14:45:48.960">
<executionStack>
<frame
line="1"
sqlhandle="0x000000000000000000000000000000000000000000000000" />
</executionStack>
<inputbuf>
SET NO_BROWSETABLE OFF </inputbuf>
</process>
</blocking-process>
</blocked-process-report>