Сбросить SCHEMABINDING из всех представлений в базе данных

Мне нужно воссоздать все представления без SCHEMABINDING , но когда я создаю скрипт с syscomments , text столбец содержит CREATE VIEW вместо ALTER VIEW . Как я могу сгенерировать скрипт ALTER ?

Один из способов – выделить узел «Представления» в обозревателе объектов, а затем нажать F7View > Object Explorer Details ). Справа будут все взгляды; к сожалению, вы не можете фильтровать или добавлять новый столбец для сортировки на основе того, имеет ли представление SCHEMABINDING . Таким образом, вам придется вручную выбрать те, которые вы хотите (или просто выбрать все, кроме папки « System Views »), затем щелкнуть правой кнопкой мыши, « Script View As > DROP and CREATE to > New Query Editor Window . Теперь вы можете просто SCHEMABINDING поиск этого сценария для SCHEMABINDING , удалить или прокомментировать каждый экземпляр, а затем запустить скрипт. Если у некоторых из выбранных вами представлений не было SCHEMABINDING в первую очередь, тогда ничего особенного – они просто будут сброшены и снова созданы.

(На мой взгляд, это намного проще, чем пытаться искать и заменять CREATE VIEW с помощью ALTER VIEW – так как между CREATE и VIEW может быть любое количество пробельных символов, и вам все равно придется комментировать или удалять SCHEMABINDING . это может не повредить, как часть этого упражнения, чтобы убедиться, что соглашения синтаксиса здесь согласованы и фиксировать мнения, которые не соблюдаются, например, изменение CREATE______VIEW на CREATE_VIEW (подчеркивание для представления пробелов).)

Обратите внимание, что это, очевидно, удалит любые индексы, связанные с этими представлениями.

Также обратите внимание, что мастер создания скриптов также позволит вам выбирать все представления, но не фильтровать, имеют ли они SCHEMABINDING , а мастер не будет скриптом ALTER но вы можете выбрать DROP and CREATE в дополнительных настройках. Вам все равно нужно будет отрегулировать вывод, чтобы удалить SCHEMABINDING и, в зависимости от выбранных опций, вам может потребоваться удалить любые инструкции CREATE INDEX для индексированных представлений, которые теперь будут терпеть неудачу.

Давайте будем гением компьютера.