Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Один сотрудник создает вьюшки с помощью конструктора. Более того, он редактирует в конструкторе те вьюшки, которые я писал вручную. Результат немного предсказуем — запросы получаются не оптимальны и плохо читаемы. Запретить или уговорить не пользоваться конструктором нет никакой возможности. Однако я несколько раз писал запросы, при попытке открыть которые в конструкторе последний выдавал сообщение навроде "неподдерживаемый тип объединения" и отказывался открываться.

Вопрос: можно ли добавить в произвольную вьюшку какой-нибудь финт ушами, который и на запрос бы не влиял и конструктор обламывал?
27 фев 12, 15:25    [12157736]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Права отберите, чтобы правил только свои.
27 фев 12, 15:26    [12157740]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
алсо, шифрование опцией WITH ENCRYPTION вообще напрочь вырубает десигнер для такой вьюхи
27 фев 12, 17:52    [12159347]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Crimean
Member

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

но хорошо добавляет гемороя административной группе :)
27 фев 12, 17:52    [12159356]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Гавриленко Сергей Алексеевич
Права отберите, чтобы правил только свои.
Не могу, он мой начальник, да и вьюхи общие.
SamMan
алсо, шифрование опцией WITH ENCRYPTION вообще напрочь вырубает десигнер для такой вьюхи
Алсо, оно вырубает пункт "создать сценарий используя...". Не подходит.
27 фев 12, 18:45    [12159722]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Crimean
Member

Откуда:
Сообщений: 13147
> Не могу, он мой начальник, да и вьюхи общие.

ээ... а что это меняет? а "общего" кода не бывает. кто огребает за проблемы - тот и отвечает за код
27 фев 12, 18:47    [12159743]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antonariy
Не могу, он мой начальник, да и вьюхи общие.

И что тогда помешает ему отдать вам приказ вернуть работу конструктора запросов обратно ?
27 фев 12, 18:53    [12159784]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
из области извращений: можно написать ddl-триггер, запрещающий alter view, а самому пользоваться drop/create
например
27 фев 12, 19:03    [12159853]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Antonariy
Алсо, оно вырубает пункт "создать сценарий используя...". Не подходит.


И? Обоснуйте "непроходимость" варианта.

Напомню задачу:

Antonariy
можно ли добавить в произвольную вьюшку какой-нибудь финт ушами, который и на запрос бы не влиял и конструктор обламывал?
27 фев 12, 19:26    [12159994]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
автор
а "общего" кода не бывает
Под sa не общего не бывает :) Нас мало, разграничений доступа нет.
Crimean
кто огребает за проблемы - тот и отвечает за код
Странные у вас порядки. Огребает первый попавший под горячую руку персонаж и становится ответственным за код?

Glory
И что тогда помешает ему отдать вам приказ вернуть работу конструктора запросов обратно ?
Странный вопрос. Даже в приказном порядке я не смогу вернуть работу конструктора в случае "неподдерживаемый тип объединения". Правильный вопрос "что помешает ему отредактировать вьюху обратно". Теоретически ничто. Практически же он может писать запросы и руками, и делает это, когда конструктор не работает. Я просто надеюсь подтолкнуть его к тому, чтобы это стало привычкой.
27 фев 12, 19:48    [12160103]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
SamMan
Antonariy
Алсо, оно вырубает пункт "создать сценарий используя...". Не подходит.


И? Обоснуйте "непроходимость" варианта.

Напомню задачу:

Antonariy
можно ли добавить в произвольную вьюшку какой-нибудь финт ушами, который и на запрос бы не влиял и конструктор обламывал?
Это я вам напомню задачу: вырубить конструктор. А не возможность получить исходный код запроса.
27 фев 12, 19:54    [12160132]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Antonariy
Это я вам напомню задачу: вырубить конструктор. А не возможность получить исходный код запроса.
Я только одного не пойму: неужели вы считаете, что отсутствие конструктора заставит вашего начальника писать оптимальный и хорошо читаемый код? Или смиритесь, или уговорите начальника, или пишите все запросы за начальника.
27 фев 12, 20:00    [12160157]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
Гавриленко Сергей Алексеевич
Antonariy
Это я вам напомню задачу: вырубить конструктор. А не возможность получить исходный код запроса.
Я только одного не пойму: неужели вы считаете, что отсутствие конструктора заставит вашего начальника писать оптимальный и хорошо читаемый код? Или смиритесь, или уговорите начальника, или пишите все запросы за начальника.
Как минимум заставит не корёжить форматирование.

Но в принципе правильный путь - убедить начальника.
27 фев 12, 20:05    [12160181]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
alexeyvg
Но в принципе правильный путь - убедить начальника.
Я убеждал. Он со мной согласен. Но — привычка. Ломать привычки нужно другими привычками, слова неэффективны.
Если вьюшка будет заблокирована, а в ее тексте найдется комментарий не использовать для нее конструктор и не трогать предохранитель, он внемлет. Но предохранитель должен быть.
Гавриленко Сергей Алексеевич
Я только одного не пойму: неужели вы считаете
Я не считаю, я надеюсь.
что отсутствие конструктора заставит вашего начальника писать оптимальный и хорошо читаемый код?
Оптимальный — навряд ли, хорошо читаемый — 100% (это тоже привычка, но полезная).
27 фев 12, 20:45    [12160317]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antonariy
Странный вопрос. Даже в приказном порядке я не смогу вернуть работу конструктора в случае "неподдерживаемый тип объединения". Правильный вопрос "что помешает ему отредактировать вьюху обратно". Теоретически ничто. Практически же он может писать запросы и руками, и делает это, когда конструктор не работает. Я просто надеюсь подтолкнуть его к тому, чтобы это стало привычкой.

"неподдерживаемый тип объединения" не работает by design от производителя конструктора
А кто запретит начальнику обязать вас убрать ваш "финт ушами, который и на запрос бы не влиял и конструктор обламывал" ?
27 фев 12, 20:59    [12160385]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Glory
"неподдерживаемый тип объединения" не работает by design от производителя конструктора
Есть что-то еще, что не работает by design? Я точно помню, что конструктор обламывался еще как минимум с одним вариантом ошибки.

А кто запретит начальнику
А попытка не пытка.
27 фев 12, 21:16    [12160457]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Может попробовать с пунктами меню поиграться. Не то конечно, но вдруг наведёт.
Ещё можно сборку заменить/поломать.
А ещё закрыть доступ к какой-нидь малополезному системному представлению, чтоб дезайнер обломался взять подробные метаданные. Можно профайлером поймать запросы и вабрать жервенный.

Если получится, обязательно отпишитесь!
28 фев 12, 03:14    [12161265]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Antonariy
Это я вам напомню задачу: вырубить конструктор. А не возможность получить исходный код запроса.


Еще раз перечтите свое же задание. Не требуется там конструктор вырубать тотально! А только для
произвольную вьюшку

В моем варианте для таковой вьюшки конструктор не вызывается. В чем трабл?
28 фев 12, 08:37    [12161415]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Mnior
А ещё закрыть доступ к какой-нидь малополезному системному представлению, чтоб дезайнер обломался взять подробные метаданные. Можно профайлером поймать запросы и вабрать жервенный.
Дельная мысль, обязательно попробую.

SamMan
В чем трабл?
В том, что исходный код шифруется и становится недоступен вообще, а не только конструктору. Не надо больше объяснять мне, что мне нужно, и задавать тупые вопросы.
28 фев 12, 10:23    [12161809]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antonariy
В том, что исходный код шифруется и становится недоступен вообще, а не только конструктору. Не надо больше объяснять мне, что мне нужно, и задавать тупые вопросы

А вы что храните исходники только на сервере ?
А если с базой что случится ?
28 фев 12, 10:25    [12161828]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Glory
А вы что храните исходники только на сервере ?
Не только. После работы с объектам базы sql-файлы скидываются в папку обновлений. Но ведь редактирование начинается не из папки обновлений, а из ssms. Удобнее же, когда все необходимое находится под рукой в одной среде.

Mnior
Увы, не стал пробовать. Я как-то упустил из виду, что шеф работает с отдельным сервером, поэтому решение должно лежать в пространстве TSQL: я правлю вьюшку, вставляя "предохранитель", после работы скидываю скрипт в папку обновлений, шеф забирает, запускает у себя, предохранитель попадает к нему. Он не станет избавляться от предохранителя: создавать новые вьюшки конструктором, как ему удобно, ничто не мешает, а исправления существующих в подавляющем большинстве случаев сводятся к добавлению новых полей. Это не сложнее написать руками, чем клацнуть в галочку в конструкторе, так что предохранитель не должен вызывать фундаментального раздражения, что было бы возможно при полной блокировке конструктора.

Тупо мечтаю о конструкции create/alter view <имярек> without constructor as ... :))
28 фев 12, 14:34    [12163870]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Antonariy
Я как-то упустил из виду, что шеф работает с отдельным сервером

ну так тем более. напишите ему ddl-триггер, блокирующий alter view. если нужно блокировать только некоторые, то в триггере проверяйте имя объекта через eventdata()
28 фев 12, 14:42    [12163926]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antonariy
Не только. После работы с объектам базы sql-файлы скидываются в папку обновлений. Но ведь редактирование начинается не из папки обновлений, а из ssms.

Вот так сразу на промышленном сервере правятся все объекты ? Потому что так _удобнее_ ?
Вам бы над организацией работы подумать

Antonariy
Тупо мечтаю о конструкции create/alter view <имярек> without constructor as ... :))

В политиках оп.системы поставьте начальнику запрет на запуск SMS
28 фев 12, 14:44    [12163938]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Glory
Вот так сразу на промышленном сервере правятся все объекты ?
Я где-то сказал, что разработка происходит на промышленном сервере?
Glory
В политиках оп.системы поставьте начальнику запрет на запуск SMS
Может вообще его к компьютеру не пускать?

Shakill
ну так тем более. напишите ему ddl-триггер, блокирующий alter view.
Мне не нужно блокировать alter view. Мне не нужно ничего, что уменьшает удобство пользования средой. Мне не нужно решение на уровне операционной системы, sql-сервера, политик его безопасности. Я ищу решение в рамках исходного текста вьюшки.

По зрелым размышлениям with encryption пока что становится наименее неудобным вариантом из предложенных. Приношу извинения автору. Мне в принципе не в лом открыть файл из обновлений, однако за шефа не уверен. Надо попробовать.
28 фев 12, 15:26    [12164295]     Ответить | Цитировать Сообщить модератору
 Re: Запретить конструктор запросов в sql2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antonariy
Glory
Вот так сразу на промышленном сервере правятся все объекты ?
Я где-то сказал, что разработка происходит на промышленном сервере?

Да хоть бы и не на промышленном. Если объекты правят несколько человек, то они НЕ должны делать это напрямую.

Antonariy
Glory
В политиках оп.системы поставьте начальнику запрет на запуск SMS
Может вообще его к компьютеру не пускать?

Ну так вы же это и стремитесь сделать. Только программно.
28 фев 12, 15:35    [12164383]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить