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

Откуда:
Сообщений: 50
Здравствуйте уважаемые, случилась проблема - есть сервер на котором крутится SQL server 2008 r2. Устали мы от того что блокировка стоит таблиц а нужно поставить строк но не могу найти код для этого. Если кому не сложно выложите кусочек кода что бы он делал построчную блокировку в не табличную.

Заранее благодарю.
15 ноя 12, 12:39    [13477454]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37225
with (rowlock)
15 ноя 12, 12:40    [13477460]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ejik89
Устали мы от того что блокировка стоит таблиц

Кто на ком стоял ? И кто кого утомил ?
15 ноя 12, 12:48    [13477538]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Ejik89
Member

Откуда:
Сообщений: 50
Гавриленко Сергей Алексеевич,

Если у вас есть возможность можно полный код, что бы его просто вставить Запрос и нажать выполнить.
15 ноя 12, 13:09    [13477749]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37225
Ejik89
Гавриленко Сергей Алексеевич,

Если у вас есть возможность можно полный код, что бы его просто вставить Запрос и нажать выполнить.
Как только я угадаю текст вашего запроса, так сразу напишу. Будьте на связи.
15 ноя 12, 13:12    [13477764]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Ejik89
Гавриленко Сергей Алексеевич,

Если у вас есть возможность можно полный код, что бы его просто вставить Запрос и нажать выполнить.


Смотрите примеры.
15 ноя 12, 13:15    [13477799]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Ejik89
Member

Откуда:
Сообщений: 50
Гавриленко Сергей Алексеевич,

Извеняюсь, есть база данных, у нее стоит постраничная блокировка в транзакциях, нужно установить построчную, помогите пошагово как это сделать?
15 ноя 12, 13:15    [13477803]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ejik89
у нее стоит постраничная блокировка в транзакциях

Это, извините, как ?

Ejik89
помогите пошагово как это сделать?

Вы пишите много терминов, которые слабо связаны между собой

Может просто напишите
- какой коннект, каким запросом, какие блокировки и куда накладывает
- какие коннекты, какими запросами, что именно ожидают
15 ноя 12, 13:22    [13477854]     Ответить | Цитировать Сообщить модератору
 Re: Установка построчной блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37225
Ejik89
Гавриленко Сергей Алексеевич,

Извеняюсь, есть база данных, у нее стоит постраничная блокировка в транзакциях, нужно установить построчную, помогите пошагово как это сделать?
Изменить гранулярность блокировок вы можете следующим образом:
  • на уровне запросов, написав соответствующий хинт with (rowlock) или with (paglock)
  • на уровне индекса конкретной таблицы (отключить pag-локи опцией ALLOW_PAGE_LOCKS = OFF)
  • отключить эскалацию на уровне таблицы опцией LOCK_ESCALATION через ALTER TABLE (статья тут: http://technet.microsoft.com/en-US/library/ms184286(v=SQL.90).aspx )
  • использовать SNAPSHOT ISOLATION

    Вообще, действия зависят от причин, не надо бездумно все сводить к блокировкам записи: потом будете пищать "почему у нас все тормозит".

    Сообщение было отредактировано: 15 ноя 12, 13:23
  • 15 ноя 12, 13:23    [13477860]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Ejik89
    Member

    Откуда:
    Сообщений: 50
    Спасибо всем, будем разбиратсья. А ситуация в следующем: Есть сервер на нем база данных завода в SQL, с ней работает 1с 8,1. Проблема заключаетсья в том что много Deadlock`ов, и просто блокировки возникают при любом поралельном действие(обрашении к одному ригистру), вот и нужно свети блокировки к минимуму.

    А пока минимальные мои знания в SQL. Перерыл интернет нашел решение от "мертвых" блокировок, при его реализации не устрайвает, что колличество блокировок обычных не уменшилось, вот теперь ищу варианты.

    Лечили "мертвые" блокировки этой статьёй: http://nefrit.arvixe.ru/page/blokirovki-v-1s-81
    15 ноя 12, 13:31    [13477901]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104751
    Ejik89
    Проблема заключаетсья в том что много Deadlock`ов,

    И почему вы решили, что поможе построчная блокировка ?

    Ejik89
    и просто блокировки возникают при любом поралельном действие(обрашении к одному ригистру), вот и нужно свети блокировки к минимуму.

    Невозможен запрос без единой блокировки
    15 ноя 12, 13:35    [13477937]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Ejik89
    Member

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

    понимаю, но думаем над решением уменьшения блокировок, почему хочу поставить острочную - толе блокируют всю таблицу толи только строчку логически должно уменьшется колличество блокировок по тмоу как не на одной же строке все работают...
    15 ноя 12, 13:42    [13477991]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104751
    Ejik89
    понимаю, но думаем над решением уменьшения блокировок, почему хочу поставить острочную

    на основании чего вы решили, что построчная блокировка ликвидирует именно ваши deadlock-и ?
    15 ноя 12, 13:46    [13478011]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Ejik89
    Member

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

    deadlock-и мы ликвидировали, осталось большое колличество просто блокеровок, посиму и хотим поставитьпострочный режим.
    15 ноя 12, 15:00    [13478627]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    WarAnt
    Member

    Откуда: Питер
    Сообщений: 2423
    Ejik89,

    сделаете построчную блокировку получите опять дедлоки:) эскалацию однако никто не отменял.
    15 ноя 12, 15:03    [13478653]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Ejik89
    Member

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

    Ваш совет на сию проблему тогда?
    15 ноя 12, 15:06    [13478671]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    WarAnt
    Member

    Откуда: Питер
    Сообщений: 2423
    Ejik89
    WarAnt,

    Ваш совет на сию проблему тогда?


    менять 1с на что то более продуктивное, либо переписывать тамошние процессы работы с базой.
    15 ноя 12, 15:11    [13478704]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104751
    Ejik89
    осталось большое колличество просто блокеровок, посиму и хотим поставитьпострочный режим.

    Почему вы считаете, что эти блокировки исчезнут ?
    15 ноя 12, 15:13    [13478718]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Ejik89
    Member

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

    Предпологаю что когда будет блокироватся только строка на не попасть меньше шансев у например двух бухгалтеров нежели на одну таблицу
    15 ноя 12, 15:16    [13478740]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104751
    Ejik89
    Предпологаю что когда будет блокироватся только строка на не попасть меньше шансев у например двух бухгалтеров нежели на одну таблицу

    Т.е. вы даже не знаете, какие именно блокировки ожидают эти бухгалтера ?
    15 ноя 12, 15:18    [13478752]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Ejik89
    Member

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

    Нет, возможно я неправельно подхожу к вопросу, тогда бы хотелось услышать совет куда и как посмотреть. Заранее спасибо!
    15 ноя 12, 15:19    [13478762]     Ответить | Цитировать Сообщить модератору
     Re: Установка построчной блокировки  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104751
    Ejik89
    Glory,

    Нет, возможно я неправельно подхожу к вопросу, тогда бы хотелось услышать совет куда и как посмотреть. Заранее спасибо!

    13477854
    15 ноя 12, 15:22    [13478774]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить