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

Откуда: оттуда
Сообщений: 360
Были блокировки -2. Килял килял, сессии, которые она блокировала, они опять возникал - я перезагрузил через Configuration Tools сервис MS SQL. И далее начался полтергейст: база после перезагрузки сначала в нормальном режиме, отзывается на все запросы, открывает древо объектов - потом переходит в саспект, причем запросы на выборку в нее делать можно. А в процессах вообще висит блокировка -3! Информации по ней вообще нет нигде. Что это и как с этим бороться!?
21 сен 14, 08:08    [16601031]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
aleks2
Guest
Специально для "ежиков в тумане"

1. Нинада мучит сервер перезагрузками - хуже будет тока тибе.
2.
USE [имярек]
go 
ALTER DATA base [имярек] set single_user with rollback immediate;
go
dbcc checkdb( [имярек], repaire_rebuild ); -- это будет небыстро...

3. Потом расскажи нам чиво там dbcc checkdb скажет.
21 сен 14, 10:00    [16601100]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
Ёжик25
Member

Откуда: оттуда
Сообщений: 360
aleks2,

А вот фигушки)))) Все оказалось гораздо проще. Спасибо коллеге. Подвисла распределенная транзакция у сервис брокера, и из-за нее не подключался лог-файл к базе. База то была на месте, по этому из нее читались и писались данные, а вот с логом была проблема... Решалась проблема удалением подвисшей транзакции. После перезагрузил сервис, что бы подключился лог...
Удивительным оказалось то, что про блокировку -3 весь интернет умалчивает! Неужели я первый с таким столкнулся?))
MS SQL 2005 со всеми обновлениями...
22 сен 14, 00:04    [16602827]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
aleks2
Guest
Ёжик25
База то была на месте, по этому из нее читались и писались данные, а вот с логом была проблема...

Это даже не сказка, а миф какой-то.
22 сен 14, 05:59    [16603103]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31779
Ёжик25
Неужели я первый с таким столкнулся?))
Это точно :-)

Вы хоть почитайте, как пишутся данные в базу. Когда вы делаете INSERT или UPDATE, в файл базы вообще ничего не пишется, вся запись идёт в лог. А потом, в фоновом режиме, данные из файла лога постепенно переносятся в файл базы.
Так что это чистые фантазии, что бы сервер работал с файлом данных и без файла лога.
22 сен 14, 08:27    [16603206]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Ёжик25
Удивительным оказалось то, что про блокировку -3 весь интернет умалчивает! Неужели я первый с таким столкнулся?))
И официальную документацию уже прочитали?
23 сен 14, 03:30    [16607826]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
Exproment
Member

Откуда:
Сообщений: 416
alexeyvg
А потом, в фоновом режиме, данные из файла лога постепенно переносятся в файл базы.

Вы имеете ввиду последовательный накат операций из лога на диск в фоновом режиме ? Если не ошибаюсь, данные пишутся в RAM + Log. И в фоновом режиме страницы из RAM перебрасываются в файл данных, а не из лога.
23 сен 14, 11:54    [16609072]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка -3  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31779
Exproment
И в фоновом режиме страницы из RAM перебрасываются в файл данных, а не из лога.
Из RAM - это если место есть. Если нет, то из лога. Может, у вас транзакция намного больше размера RAM? Но это всё неважно, это вопрос кеширования. Всё равно до записи в лог записи в файл данных не будет.

В любом случае окончание транзакции - это физическая запись изменений в лог (на поверхность диска, или, как минимум, в кеш контроллера); пока этого не случится, выполнение дальше не пойдёт, блокировки не снимутся и т.д.
23 сен 14, 12:49    [16609627]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить