|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
Приветствую коллеги, немного нестандартный вопрос: 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 Кто нить использовал такое, дало ли явное преимущество использование такого уровня изоляции? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 08:38 |
|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
boogiman2) Клиент толстый и на нём не всегда стоят commit -ы после select - ов из базы (автокоммит по умолчанию включить не можем ибо не одни select - ы там присутствуют). Это иногда вызывает конкурентные блокировки. Не нужно ставить commit'ы после select'ов. Нужно открывать транзакцию перед записью, и заканчивать ее commit или rollback сразу после, а не держать ее все время открытой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 10:45 |
|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
boogimanХотим используя новые возможности сервера поставить уровень изоляции на рабочую базу (чтоб побороть блокировки на чтение): И кстати, эти "новые возможности" уже присутствуют в той версии, с которыой Вы мигрируете. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 10:49 |
|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
Да когда delete , инсерт и апдейт понятно, так и делаем всегда (открыл транзакцию, потом commit или rollback при ошибке ). Я о другом не во всех retreevestart и retrieveend на dw на клиенте стоит sqlca.autocommit = true и sqlca.autocommit = false соответственно. Отсюда и получаются взаимоблокировки от select - ов . Насчет того что такой уровень изоляции появился в 2005 это я знаю, просто проблемы начались при увеличении объёмов , а это уже было на 2008 платформе, поэтому и возник вопрос о новых уровнях изоляции. Вопрос остаётся открытым. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 11:32 |
|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
boogimanЯ о другом не во всех retreevestart и retrieveend на dw на клиенте стоит sqlca.autocommit = true и sqlca.autocommit = false соответственно. Отсюда и получаются взаимоблокировки от select - ов . Зачем вообще перещелкивать autocommit? Поставьте в true и не трогайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 13:01 |
|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
Потому что в случае update с клиента к примеру, при автокоммитной транзакции с флагом true , ничего не откатишь. Марк , при всём уважении к Вам - вы даёте советы не по существу. Я у народа спрашиваю про опыт работы с базой MSSQL от 2005 и выше с новым уровнем изоляции - вы стараетесь меня научить, причём не очень правильным вещам! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 15:05 |
|
(PB9 - Mssql2005) ->PB9 -Mssql2008
|
|||
---|---|---|---|
#18+
boogimanПотому что в случае update с клиента к примеру, при автокоммитной транзакции с флагом true , ничего не откатишь. Марк , при всём уважении к Вам - вы даёте советы не по существу. Я у народа спрашиваю про опыт работы с базой MSSQL от 2005 и выше с новым уровнем изоляции - вы стараетесь меня научить, причём не очень правильным вещам! Да неужели? Вещи про которые я говорю - как раз и есть правильные. Вы бы сперва в них разобрались. Вместо своих извращений стартуйте явно транзакцию перед началом изменений с клиента (begin tran) и все тогда спокойно будет откатываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2011, 16:36 |
|
|
start [/forum/topic.php?fid=15&fpage=20&tid=1335727]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 392ms |
0 / 0 |