Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / (PB9 - Mssql2005) ->PB9 -Mssql2008 / 7 сообщений из 7, страница 1 из 1
10.05.2011, 08:38
    #37252190
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
Приветствую коллеги, немного нестандартный вопрос:
1) Перешли с SQL 2005 на 2008 SR2.
2) Клиент толстый и на нём не всегда стоят commit -ы после select - ов из базы (автокоммит по умолчанию включить не можем ибо не одни select - ы там присутствуют). Это иногда вызывает конкурентные блокировки.

Хотим используя новые возможности сервера поставить уровень изоляции на рабочую базу (чтоб побороть блокировки на чтение):
ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON
go
ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON
go

Кто нить использовал такое, дало ли явное преимущество использование такого уровня изоляции?

Спасибо!
...
Рейтинг: 0 / 0
10.05.2011, 10:45
    #37252283
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
boogiman2) Клиент толстый и на нём не всегда стоят commit -ы после select - ов из базы (автокоммит по умолчанию включить не можем ибо не одни select - ы там присутствуют). Это иногда вызывает конкурентные блокировки.

Не нужно ставить commit'ы после select'ов. Нужно открывать транзакцию перед записью, и заканчивать ее commit или rollback сразу после, а не держать ее все время открытой.
...
Рейтинг: 0 / 0
10.05.2011, 10:49
    #37252289
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
boogimanХотим используя новые возможности сервера поставить уровень изоляции на рабочую базу (чтоб побороть блокировки на чтение):

И кстати, эти "новые возможности" уже присутствуют в той версии, с которыой Вы мигрируете.
...
Рейтинг: 0 / 0
10.05.2011, 11:32
    #37252350
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
Да когда delete , инсерт и апдейт понятно, так и делаем всегда (открыл транзакцию, потом commit или rollback при ошибке ).
Я о другом не во всех retreevestart и retrieveend на dw на клиенте стоит sqlca.autocommit = true и sqlca.autocommit = false соответственно. Отсюда и получаются взаимоблокировки от select - ов .

Насчет того что такой уровень изоляции появился в 2005 это я знаю, просто проблемы начались при увеличении объёмов , а это уже было на 2008 платформе, поэтому и возник вопрос о новых уровнях изоляции.

Вопрос остаётся открытым.
...
Рейтинг: 0 / 0
10.05.2011, 13:01
    #37252522
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
boogimanЯ о другом не во всех retreevestart и retrieveend на dw на клиенте стоит sqlca.autocommit = true и sqlca.autocommit = false соответственно. Отсюда и получаются взаимоблокировки от select - ов .

Зачем вообще перещелкивать autocommit? Поставьте в true и не трогайте.
...
Рейтинг: 0 / 0
10.05.2011, 15:05
    #37252861
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
Потому что в случае update с клиента к примеру, при автокоммитной транзакции с флагом true , ничего не откатишь. Марк , при всём уважении к Вам - вы даёте советы не по существу. Я у народа спрашиваю про опыт работы с базой MSSQL от 2005 и выше с новым уровнем изоляции - вы стараетесь меня научить, причём не очень правильным вещам!
...
Рейтинг: 0 / 0
10.05.2011, 16:36
    #37253196
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PB9 - Mssql2005) ->PB9 -Mssql2008
boogimanПотому что в случае update с клиента к примеру, при автокоммитной транзакции с флагом true , ничего не откатишь. Марк , при всём уважении к Вам - вы даёте советы не по существу. Я у народа спрашиваю про опыт работы с базой MSSQL от 2005 и выше с новым уровнем изоляции - вы стараетесь меня научить, причём не очень правильным вещам!
Да неужели? Вещи про которые я говорю - как раз и есть правильные. Вы бы сперва в них разобрались. Вместо своих извращений стартуйте явно транзакцию перед началом изменений с клиента (begin tran) и все тогда спокойно будет откатываться.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / (PB9 - Mssql2005) ->PB9 -Mssql2008 / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]