У меня странная проблема с блокировкой, и вам нужна ваша помощь, чтобы понять, что происходит.Блокировка SQL Server Проблема
Используя запрос, я присоединяюсь к нескольким таблицам (EventTransaction, Contact, Event и Outbound) в базе данных Prod_DW и сохраняю результат в таблице в базе данных CustomDataExtract.
Запрос что-то вроде этого:
SELECT Col1, Col2, .... INTO CustomDataExtract..A1345_Contact_15022503
FROM Prod_DW..EventTransaction with (nolock) join ....
Все таблицы в Prod_DW, используемых в запросе есть с опцией (NOLOCK), но до сих пор я вижу другие соединения блокируются на столах Prod_DW, когда я бегу выше запрос. Я ожидаю, что, поскольку я запрашиваю использование с (nolock), во время выполнения запроса он не должен блокировать блокировку в таблицах prod_DW. Не могли бы вы пролить свет на это и сказать мне, почему все еще я вижу, что другие соединения заблокированы.
Вот XML блокировки во время запуска запроса:
<Database name="CustomDataExtract">
<Locks>
<Lock request_mode="S" request_status="GRANT" request_count="1" />
</Locks>
<Objects>
<Object name="(null)">
<Locks>
<Lock resource_type="DATABASE.BULKOP_BACKUP_DB" request_mode="NULL" request_status="GRANT" request_count="1" />
<Lock resource_type="DATABASE.BULKOP_BACKUP_LOG" request_mode="NULL" request_status="GRANT" request_count="1" />
<Lock resource_type="DATABASE.ENCRYPTION_SCAN" request_mode="S" request_status="GRANT" request_count="1" />
<Lock resource_type="PAGE" page_type="*" request_mode="X" request_status="GRANT" request_count="1" />
</Locks>
</Object>
<Object name="A1345_Contact_15022503" schema_name="dbo">
<Locks>
<Lock resource_type="ALLOCATION_UNIT.BULK_OPERATION_PAGE" request_mode="S" request_status="GRANT" request_count="1" />
<Lock resource_type="HOBT.BULK_OPERATION" request_mode="IX" request_status="GRANT" request_count="1" />
<Lock resource_type="METADATA.INDEXSTATS" request_mode="Sch-S" request_status="GRANT" request_count="1" />
<Lock resource_type="OBJECT" request_mode="BU" request_status="GRANT" request_count="1" />
<Lock resource_type="OBJECT" request_mode="X" request_status="GRANT" request_count="1" />
</Locks>
</Object>
</Objects>
</Database>
<Database name="Prod_DW">
<Locks>
<Lock request_mode="S" request_status="GRANT" request_count="1" />
</Locks>
<Objects>
<Object name="Contact" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="Sch-S" request_status="GRANT" request_count="9" />
</Locks>
</Object>
<Object name="Event" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="Sch-S" request_status="GRANT" request_count="1" />
</Locks>
</Object>
<Object name="EventTransaction" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="IS" request_status="GRANT" request_count="2" />
<Lock resource_type="OBJECT" request_mode="Sch-S" request_status="GRANT" request_count="8" />
<Lock resource_type="PAGE" page_type="*" index_name="ndx_EventTransaction" request_mode="S" request_status="GRANT" request_count="1" />
</Locks>
</Object>
<Object name="Outbound" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="Sch-S" request_status="GRANT" request_count="1" />
</Locks>
</Object>
</Objects>
</Database>