2015-03-05 6 views
0

У меня странная проблема с блокировкой, и вам нужна ваша помощь, чтобы понять, что происходит.Блокировка 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> 

ответ

Смежные вопросы