У меня когда-то были похожие проблемы.

Переход на MSSQL - это прежде всего вложение денег

1) в покупку его лицензии
2) в обучение программистов, и администраторов БД на местах
(прямо - в виде курсов, или косвенно - в виде потери времени)

а ведь у вас сейчас все работает... оно того стоит?
как верно замечено, зависит от размера откатов.

3) переписывание "с нуля" большого количества кода, если конечно, у тебя в БД есть триггеры и процедуры.

я тогда пробовал написать конвертер моей Ya БД в MSSQL2000,
причем вообще слабо вредставляя себе MSSQL. попутно смотрел в BOL.

разумеется, уперся в несколько проблем...
все ниже изложенное относилось, к MSS2000, как там в 2005 - незнаю, сразу говорю.

а) FOR SELECT конвертировался в локальный курсор.
при этом этот курсор работал раза в два медленее, чем наш FOR SELECT на том же объеме данных и тех же индексах.

б) про джойн с процедурой можешь сразу забыть, как и про вызов процедур в подселектах
Для этого у них Функции... у которых масса ограничений.

в) Вообще говоря вот так просто конвертнуть нашу процедуру в их - неполучалось. Часть получалось получалось конвертнуть в FUNCTION да и заголовок больно похож..., но в функции нельзя было модифицировать БД....

г) внутри FOR SELECT из другой процедуры непосредственно - нельзя...
или я ненашел как.

д) триггера просто придется писать заново.
И всю логику, которая на них опиралась.
Потому как их триггера срабатывают не сразу, а потом - в конце тр-ции.

в общем - переход туда - это еще и ломка стереотипов,
к которым привык в Ya/IB/FB. проектировать будешь по-другому.
Правильно или нет не говорю... плохому танцору, как известно...

P.S. я выложил все это моему руководству.
подействовало. :-)
благо, что оба тогдашних руководителя - бывшие программисты.



Ответить