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

Есть таблица А. С ней производятся некоторые действия (INSERT,DELETE,UPDATE).
Есть таблица Б, с которой работают пользователи.


Возникает такая ситуация... если идет расчет в таблице А, то пользователи, которые хотят открыть таблицу Б - висят в блокировке. Таблицы не связаны.

Запрос который висит:


select

TABLE_CATALOG = s_pkv.TABLE_CATALOG,

TABLE_SCHEMA = s_pkv.TABLE_SCHEMA,

TABLE_NAME = s_pkv.TABLE_NAME,

COLUMN_NAME = s_pkv.COLUMN_NAME,

COLUMN_GUID = s_pkv.COLUMN_GUID,

COLUMN_PROPID = s_pkv.COLUMN_PROPID,

ORDINAL = s_pkv.ORDINAL,

PK_NAME = s_pkv.PK_NAME

from 

sys.spt_primary_keys_view s_pkv

where

(@table_schema is null and s_pkv.TABLE_NAME = @table_name) or 

s_pkv.object_id = object_id(quotename(@table_schema) + '.' + quotename(@table_name))

order by 2, 3

С чем это может быть связано?

К сообщению приложен файл. Размер - 0Kb
20 июл 09, 11:21    [7434722]     Ответить | Цитировать Сообщить модератору
 Re: странная блокировка  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
Открываем хелп и читаем:

ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_6tsql/html/568d89ed-2c96-4795-8a0c-2f3e375081da.htm
LCK_M_S
Occurs when a task is waiting to acquire a Shared lock. For a lock compatibility matrix, see sys.dm_tran_locks (Transact-SQL).


Вот и смотрите, кто мешает вашему таску наложить этот лок.
20 июл 09, 12:12    [7435086]     Ответить | Цитировать Сообщить модератору
 Re: странная блокировка  [new]
Glory
Member

Откуда:
Сообщений: 104760
странная
Добрый день!

Есть таблица А. С ней производятся некоторые действия (INSERT,DELETE,UPDATE).
Есть таблица Б, с которой работают пользователи.


Возникает такая ситуация... если идет расчет в таблице А, то пользователи, которые хотят открыть таблицу Б - висят в блокировке. Таблицы не связаны.

Запрос который висит:


Как то не совсем понятно, как запрос к sys.spt_primary_keys_view s_pkv связан с таблицами А, С и Б. Особенно с "пользователи, которые хотят открыть таблицу Б - висят в блокировке"
20 июл 09, 12:20    [7435155]     Ответить | Цитировать Сообщить модератору
 Re: странная блокировка  [new]
странная
Guest
Glory
странная
Добрый день!

Есть таблица А. С ней производятся некоторые действия (INSERT,DELETE,UPDATE).
Есть таблица Б, с которой работают пользователи.


Возникает такая ситуация... если идет расчет в таблице А, то пользователи, которые хотят открыть таблицу Б - висят в блокировке. Таблицы не связаны.

Запрос который висит:


Как то не совсем понятно, как запрос к sys.spt_primary_keys_view s_pkv связан с таблицами А, С и Б. Особенно с "пользователи, которые хотят открыть таблицу Б - висят в блокировке"



нашел причину.
хранимка, которая работала с таблицей А, перед запуском делала
EXEC @result = sp_getapplock @Resource = 'SomeTable D',@LockMode = 'Exclusive',@LockTimeout = 0

в результате, LCK_M_S пролетает...

Спасибо ;)
20 июл 09, 12:30    [7435206]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить