質問編集履歴

2

現状の報告

2017/07/09 12:18

投稿

chida3
chida3

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,27 @@
1
+ 2017/07/09
2
+
3
+ 下記3件の質問の内、1と2について回答が得られていないのですが、一旦質問をクローズいたします。
4
+
5
+ 理由としましては、
6
+
7
+ ・3の質問に関してご回答いただけたことで、対応策の事例収集という目的の一つは達せられたこと。
8
+
9
+ ・排他ロックについて異なる事象が発生し、1、2の質問から派生して調査等をおこなったほうがよさそうであること。
10
+
11
+ ・ただ、1、2に関して自分なりの調査・検証時間がしばらく確保できない見込みであること。
12
+
13
+ です。
14
+
15
+ ご回答いただいたお二方ありがとうございました。お礼が遅くなりすみません。
16
+
17
+ 今後、自分での調査・検証を進めることができましたら、追記等させていただきたいと思います。
18
+
19
+
20
+
21
+ ---
22
+
23
+
24
+
1
25
  SQL Serverを使用したWebアプリで発生した事象です。
2
26
 
3
27
 

1

SQL Server バージョン修正/調査時の結果追記

2017/07/09 12:18

投稿

chida3
chida3

スコア15

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  ##環境
34
34
 
35
- SQL Server2012
35
+ SQL Server2014
36
36
 
37
37
  ReadCommitted Snapshot
38
38
 
@@ -172,6 +172,20 @@
172
172
 
173
173
 
174
174
 
175
+ **推定実行プラン**
176
+
177
+ **Session1:**
178
+
179
+ Clustered Index Seek[PK] 受注情報ヘッダ
180
+
181
+ **Session2:**
182
+
183
+ Index Seek(NonClustered)[IDX_受注情報ヘッダ01] 受注情報ヘッダ 50%
184
+
185
+ Index Seek(NonClustered)[受注情報ボディのインデックス] 受注情報ボディ 50%
186
+
187
+
188
+
175
189
  **2)ロック状況の確認**
176
190
 
177
191
  いくつかサイトで紹介されていた、下記のロック状況確認SQLを実行しました。
@@ -244,6 +258,14 @@
244
258
 
245
259
  ```
246
260
 
261
+ **検索結果**
262
+
263
+ Session1と2のSQLを実行後、確認SQLを実行したときの検索結果は下図のようになりました。
264
+
265
+ 両セッション間で、resource_associated_entity_idの値が違います。
266
+
267
+ ![検索結果1](c438ddbbb1a5fcc55930d6850234d7bb.png)
268
+
247
269
 
248
270
 
249
271
  **3)WITH句のヒント句にインデックス指定**
@@ -252,6 +274,28 @@
252
274
 
253
275
 
254
276
 
277
+ **推定実行プラン**
278
+
279
+ **Session2**
280
+
281
+ Clustered Index Seek[PK] 受注情報ヘッダ 51%
282
+
283
+ Index Seek(NonClustered)[受注情報ボディのインデックス] 受注情報ボディ 49%
284
+
285
+
286
+
287
+ **検索結果**
288
+
289
+ ![検索結果2](ca7acea75d0b1b05cece8249f273e6c2.png)
290
+
291
+
292
+
293
+ ※ちなみに、nowait指定を外すとSession2は待ちとなりますが、そのときの検索結果は次のようになりました。
294
+
295
+ ![検索結果3](27a2469c949f3598c197dfe276dd1237.png)
296
+
297
+
298
+
255
299
  ##質問と仮説
256
300
 
257
301
  **1)resource_associated_entity_idとは何を指すのか?**