Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Блокировка на несуществующей таблице  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
Версия
Microsoft SQL Server 2014 - 12.0.4416.0 (Intel X86)
Jun 11 2015 20:03:03
Copyright (c) Microsoft Corporation
Developer Edition on Windows NT 6.3 <X86> (Build 10586: )
Код:
+
set nocount on;
while @@trancount>0 rollback;
use tempdb;
declare @id bigint,@i int=0;
while 1=1 begin
  if object_id('tempdb.dbo.locks','U') is not null drop table tempdb.dbo.locks;
  create table tempdb.dbo.locks(id bigint not null primary key nonclustered,
    fil varchar(30) not null default '');
--  create nonclustered index locks_fil on tempdb.dbo.locks(fil);
  insert into tempdb.dbo.locks(id) select partition_id from master.sys.partitions;
  select top(1) @id=id from tempdb.dbo.locks order by newid();
  set tran isolation level serializable;
  begin tran;
  update tempdb.dbo.locks set fil='filmax' where id=@id;
--  select @fil=fil from tempdb.dbo.locks with(paglock,repeatableread) where id=@id;
locks:
  select db_name(l.resource_database_id) resource_db,
    case
      when l.resource_type='OBJECT'
        then object_name(l.resource_associated_entity_id)
      when l.resource_type in('RID','PAGE','KEY')
        then (select object_name(p.object_id)+
                case p.index_id
                  when 0 then ''
                  else (select '.'+name
                        from sys.indexes i
                        where i.object_id=p.object_id
                          and i.index_id=p.index_id)
                end
              from tempdb.sys.partitions p
              where p.hobt_id=l.resource_associated_entity_id)
      else 'n/a'
    end resource_nam,l.resource_type,l.resource_description,
    l.resource_associated_entity_id,l.request_mode,l.request_type,
    l.request_status
  from sys.dm_tran_locks l
  where l.request_session_id=@@spid and l.resource_database_id=db_id();
  set @i+=1;
  if @@trancount=1 begin
    rollback;
    if @i=3 break;
    goto locks;
  end;
end;


К сообщению приложен файл. Размер - 44Kb
9 апр 16, 19:58    [19037027]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка на несуществующей таблице  [new]
Мимоходящий
Guest
andrey odegov,

А в чем проблема?
10 апр 16, 16:59    [19039043]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка на несуществующей таблице  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
проблема в потере пары часов на то, что бы найти, что это за object "пока не заметил, что у сарая нет 4 стенки"
10 апр 16, 17:18    [19039070]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить