В мониторе активности такая строка:
95 1 СИсториейДляТиБ_02 SUSPENDED SELECT 1C:Enterprise 8.2 187631 LCK_M_SCH_S objectlock lockPartition=1 objid=489493639 subresource=FULL dbid=2 id=lock4c243c680 mode=Sch-M associatedObjectId=489493639 66 16 default ERY-ПК sa
Выполняемый запрос:
SELECT OBJECT_NAME(mid.object_id) SQL,
AVG(migs.unique_compiles) unique_compiles,
AVG(migs.user_seeks) user_seeks,
AVG(migs.user_scans) user_scans,
AVG(CAST(migs.avg_total_user_cost AS int)) total_user_cost,
AVG(CAST(migs.avg_user_impact AS int)) user_impact,
db.create_date
FROM sys.dm_db_missing_index_groups mig
JOIN sys.dm_db_missing_index_group_stats migs
ON migs.group_handle = mig.index_group_handle
JOIN sys.dm_db_missing_index_details mid
ON mig.index_handle = mid.index_handle
LEFT JOIN sys.databases db
ON 1=1
AND mid.database_id = DB_ID()
GROUP BY
OBJECT_NAME(mid.object_id),
db.create_date
Но по сути от запроса это не зависит есть и такой запрос:
(@tablename nvarchar(12))--declare @TableName varchar(100)
--set @TableName ='_Reference72'-- '_Reference19646' --'_Reference6' '_AccumRegTotals19685''_AccumReg17132'
--для уровня совместимости 80
set nocount on
DECLARE @db_id int,@object_id int
SET @db_id = DB_ID()
SET @object_id = OBJECT_ID(@TableName)
--создаем таблицу рекомендованных индексов
If OBJECT_ID ('tempdb.dbo.#newIndex', 'U') IS NOT NULL
DROP TABLE #newIndex
Create Table #newIndex(
index_group_handle int
,column_name varchar(100)
,column_usage varchar(20)
,column_id int)
В итоге какой бы таймаут я не выставлял блокировка висит до таймаута.
Сервер: 10.50.2500
База большая (800 гб) пытаюсь смотреть индексы по регистру (120 000 000 записей)
Но если блокировок нет то все срабатывает быстро.