![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Есть у меня колонка по имени bundle в одной таблице. Мне надо прошерстить все остальные таблицы и views, чтобы узнать не используется ли эта колонка в них в where clause, как условие для чего-либо.
Пытался поискать в гугле как это сделать - ничего внятного. Может есть SQL Server системная таблица, аналогичная sys.tables, sys.columns, но в которой не имена таблиц и колонок, а where clauses хранятся?
Если такой нет, то как бы сделать поиск, чтобы обнаружить эти where clauses?
Спасибо за ответы.
P.S. Таблиц тысячи
P.P.S. Фильтр с "Schema" "Contains" "Bundle" - не находит ничего, даже в селектах, хотя я точно знаю, что такие таблицы и views имеются.
Пытался поискать в гугле как это сделать - ничего внятного. Может есть SQL Server системная таблица, аналогичная sys.tables, sys.columns, но в которой не имена таблиц и колонок, а where clauses хранятся?
Если такой нет, то как бы сделать поиск, чтобы обнаружить эти where clauses?
Спасибо за ответы.
P.S. Таблиц тысячи
P.P.S. Фильтр с "Schema" "Contains" "Bundle" - не находит ничего, даже в селектах, хотя я точно знаю, что такие таблицы и views имеются.
no subject
Date: 2018-01-09 04:20 pm (UTC)SELECT DISTINCT a.[name]
FROM sysobjects a
INNER JOIN syscomments b on a.id = b.id
WHERE UPPER(b.[text]) LIKE '%INSTITUTIONMAP.INSTITUTIONID%'
причем если ты откроешь вью по правому клику - Design, то там в Where условие будет в виде :
AND (dbo.InstitutionMap.InstitutionId IS NOT NULL)
так вот поиск по '%dbo.InstitutionMap.InstitutionId%' ничего не принесет. Стоит смотреть в скрипте на создание этого вью - там будет именно так как оно в тексте sysobjects - для моего примера:
'AND InstitutionMap.InstitutionId IS NOT NULL'
no subject
Date: 2018-01-09 04:23 pm (UTC)sysobjects & syscomments нужны определенные права. Если их нет, то возможно ты просто получишь ничего в результате - те типа поискали и ничего не нашли.
Сперва посмотри есть ли у тебя что то в результате исполнения :
SELECT a.[name], b.[text]
FROM sysobjects a
INNER JOIN syscomments b on a.id = b.id
no subject
Date: 2018-01-09 04:32 pm (UTC)P.S. Прав навалом, если не хватит, я их себе еще наприсваиваю )))
no subject
Date: 2018-01-09 04:40 pm (UTC)no subject
Date: 2018-01-09 04:49 pm (UTC)спасибо!
no subject
Date: 2018-01-09 04:50 pm (UTC)SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID('some_view')
делать, и искать уже что-то совсем сложное. Хотя конкретно Ваша задача-то – пойди уже и решена :)