|
|
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
ТЕМА Использование недокументированных средств и обход прямых запретов (далее именуемые ФИЧИ) ПОСЫЛКИ 1. BOL - de facto самая широко используемая официальная документация по теме 2. К BOL есть много претензий, в т.ч. по полноте информации (уже обсуждалось на форуме) 3. Как следствие пп.1-2 - имеют широкое хождение ФИЧИ, т.е. неописанные либо прямо запрещенные в BOL средства, но имеющие место быть (недавно на форуме - Getdate() в функции из VIEW, штук несколько недокументированных процедур и функций) 4. Осмелюсь предположить (даже просто по материалам форума), что подавляющее большинство так или иначе, чаще или реже - но все-же используют вышеупомянутые ФИЧИ 5. Наш человек нервно реагирует на слово "нельзя" и никогда не остановится перед запретом, если для этого нет других причин, кроме самого факта, что нельзя. 6. А раз уж ФИЧИ все равно используются- пусть решение об их использовании будет приниматься после взвешенного анализа ЗА и ПРОТИВ в каждом конкретном случае 7. А вот для взвешенного анализа нужна информация, которую кроме как друг от друга не получишь, думаю, что многие наступали в связи с темой на какие-то экзотические грабли либо находили редкие ФИЧИ ПРЕДЛОЖЕНИЕ А давайте попробуем сбить эту информацию в кучу и упорядочить. Это, между прочим, будет похлеще рассуждений о книге по SQL. :)) (безусловно нужной) ЧТО ХОТЕЛОСЬ В ОКОНЦОВКЕ 1. Программа-минимум: при малом интересе к теме - просто расширение кругозора по ней 2. Программа-максимум: (в случае сбора достаточного количества материала) упасть в ножки ГУРУ с просьбой: а). Упорядочить и структурировать б). В FAQ создать соответствующий раздел с анализом и подразделами (пополняемыми): 1-недокументированные средства,2-обходы (с комментариями по использованию) (я понимаю, что это наглость- в СВОЕМ предложении нагружать ДРУГОГО работой, но трезво отдаю себе отчет в том, что моего опыта тут не хватит) P.S. Реплики вроде "...никогда не использую...","...всегда использую...", "...а кто тебя заставляет?" считаются неконструктивными, интерес должны представлять: 1. Резоны ЗА и ПРОТИВ, возможно в разных типах задач (грабли общего пользования) 2. Конкретные возможности (с их конкретными граблями) ПРИМЕР 1 Прямой запрет на использовании в Check() ссылок на другие таблицы обходится так: Код: plaintext 1. 2. 3. 4. ЗА - сервер не дает DROPнуть функцию, так что м.б. запрет надуман? ПРОТИВ - а где гарантия, что так будет всегда? ПРИМЕР 2 Лежащие на поверхности грабли общего пользования: - Очередной Service Pack может принести FIX ФИЧИ или изменить ее работу - У ФИЧИ уже есть внутренний редко проявляющийся BUG, и никто его FIXить не будет, средство-то недокументировано НО! Уж больно жалко отказываться от OUTPUT-параметров (неописанных) в sp_executesql. Извиняюсь за многословие, ужимался как мог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 14:21:50 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
Кажись, неинтересно...или букв много...или жалко... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 17:24:28 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
Да нет - не жалко, просто IMHO придется - сортировать фичи по версиям - подтверждать/опровергать фичи после выхода сервиспака/хотфикса И кто за этим всем будет следить ?(вопрос риторический) А без постоянного контроля через пару месяцев весь труд просто окажется никчемным по причине своей неактуальности. ЗЫ Хотя может быть я слишком пессиместичен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 17:34:47 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
Да нет не слишком ... Абсолютно согласен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 18:47:40 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
2snake После Glory всякий может... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 08:12:07 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 08:55:04 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
Добрый день! я так понял, что это можно писать сюда:-) может это уже писалось, а может и нет 1) в SQL7 можно было писать if coalesce(@varint,@varchar,@varguid) is null, в 8 уже нельзя, т.к. теперь он не просто выполняет проверку на null, но еще и на одинаковые типы переменных 2) в 6.5 была такая бага, и она была выловлена только из-за того, что была использована "неправильный" запрос. Сейчас уже не помню, что это точно было ибо давно, но смысл такой, что если при запросе с удаленного сервера использовался order by, то любые клиенты падали с воплем про invalid TDS протокол, только QA оставался стойким. Выяснилось при применении LANalizer, что в TDS пакете было в этом случае на 2 байта больше, чем положено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 10:58:06 |
|
||
|
Использование недокументированных средств и обход прямых запретов
|
|||
|---|---|---|---|
|
#18+
Действительно, MS какие то фичи может пофиксить, но он вкдь может их и легализовать.... Т.ч. мне видится, что информация никогда не бывает бесполезной, бесполезным бывает её применение ... Если вы совместно подготовите сырую сборку таких фич, я могу взятся за её редектирование и публикацию. Большего не обещаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:12:45 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32070766&tid=1818582]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 280ms |

| 0 / 0 |
