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

Откуда:
Сообщений: 45
Странные вещи происходят в SQL SERVER 2008 в SSMS. Я устновил себе версию Express with Tools. После выполнения простых операций, таких как DELETE и INSERT вылетает ошибка Превышено время ожидания запроса на блокировку MS SQLSERVER 1222. После этого даже таблица не раскрывается в SSMS, а вылетает та же ошибка.
Пока спасает такая процедура:
Получаем имя номер процесса
SELECT request_session_id FROM sys.dm_tran_locks WHERE request_owner_type = 'TRANSACTION'
Потом убиваю его.
Но так работать невозможно. Что же там намешано? Подскажите пожалуйста, как настроить SSMS на нормальную работу? (В SSMS для SQL Server 2005 всё нормально было)
21 сен 09, 13:23    [7686784]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 1222 в SQL SERVER 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Что же там намешано?


А Вы посмотрите, что с блокировками, а не тупо прибивайте.
21 сен 09, 13:29    [7686829]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 1222 в SQL SERVER 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Нужно в опциях задать SET LOCK TIMEOUT
21 сен 09, 13:30    [7686841]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Ошибка 1222 в SQL SERVER 2008  [new]
dropcop
Member

Откуда:
Сообщений: 2
posdnyaa
Странные вещи происходят в SQL SERVER 2008 в SSMS. Я устновил себе версию Express with Tools. После выполнения простых операций, таких как DELETE и INSERT вылетает ошибка Превышено время ожидания запроса на блокировку MS SQLSERVER 1222. После этого даже таблица не раскрывается в SSMS, а вылетает та же ошибка.
Пока спасает такая процедура:
Получаем имя номер процесса
SELECT request_session_id FROM sys.dm_tran_locks WHERE request_owner_type = 'TRANSACTION'
Потом убиваю его.
Но так работать невозможно. Что же там намешано? Подскажите пожалуйста, как настроить SSMS на нормальную работу? (В SSMS для SQL Server 2005 всё нормально было)


У тебя, похоже, включен режим неявных транзакций. Выполни это:

DECLARE @IMPLICIT_TRANSACTIONS VARCHAR(3) = 'OFF';
IF ( (2 & @@OPTIONS) = 2 ) SET @IMPLICIT_TRANSACTIONS = 'ON';
SELECT @IMPLICIT_TRANSACTIONS AS IMPLICIT_TRANSACTIONS;

Если выдает ON, то так и есть. Нужно вручную подтверждать любые инсерты, апдейты и делиты COMMITом. Ты можешь отключить его инструкцией

SET IMPLICIT_TRANSACTIONS OFF
29 апр 18, 00:44    [21378329]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить