powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как найти в каких хранимых процедурах или функциях встречается нужная строка
26 сообщений из 26, показаны все 2 страниц
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599480
alm2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как найти в каких хранимых процедурах или функциях встречается нужная строка ?

Чтобы не открывать каждую отдельно.
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599481
alm2,

для затравки:
Код: sql
1.
2.
3.
4.
SELECT [name]
  FROM [sys].[objects]
 WHERE [type]='P' 
   AND OBJECT_DEFINITION([object_id]) LIKE N'%НУЖНАЯ СТРОКА%';


а там - видно будет :)
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599535
a1ex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from syscomments where text like '%something%'
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599566
alm2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не то !
Мне нужен не список процедур по заданному шаблону, а список процедур, внутри которых в тексте есть нужная мне строка !
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599573
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alm2Это не то !
Мне нужен не список процедур по заданному шаблону, а список процедур, внутри которых в тексте есть нужная мне строка !Вам же написали! OBJECT_DEFINITION()!
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599575
ага
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alm2Это не то !
Мне нужен не список процедур по заданному шаблону, а список процедур, внутри которых в тексте есть нужная мне строка !

в первом же ответе уже написано. вы хоть скрипт-то запустили?
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599576
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a1exselect * from syscomments where text like '%something%'Это плохая идея. Там строки процедуры, порезанные на куски.по 4000 символов.
Искомая строка может храниться частями на соседних строках.
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599578
ага
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эхalm2,

для затравки:
Код: sql
1.
2.
3.
4.
SELECT [name]
  FROM [sys].[objects]
 WHERE [type]='P' 
   AND OBJECT_DEFINITION([object_id]) LIKE N'%НУЖНАЯ СТРОКА%';


а там - видно будет :)

а для функций добавь еще 'FN', 'IF', 'TF'
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599581
a1ex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто направление для поиска, не более. хорошая или плохая это идея может определить только тот, кто построит окончательный запрос
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599592
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
агаДобрый Э - Эхalm2,

для затравки:
Код: sql
1.
2.
3.
4.
SELECT [name]
  FROM [sys].[objects]
 WHERE [type]='P' 
   AND OBJECT_DEFINITION([object_id]) LIKE N'%НУЖНАЯ СТРОКА%';



а там - видно будет :)

а для функций добавь еще 'FN', 'IF', 'TF'Тогда и триггеры - 'TR'
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599598
ага
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iapагапропущено...


а для функций добавь еще 'FN', 'IF', 'TF'Тогда и триггеры - 'TR'

ну про триггеры ТС не спрашивал :)
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599807
alm2,

select BODY.ID, BODY.[TEXT], OBJ.NAME
from syscomments BODY
INNER JOIN sys.objects OBJ ON BODY.ID = OBJ.object_id
where
BODY.[TEXT] like '%то что нужно найти в теле объекта%'
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39599908
Barclay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alm2,
Если все рекомендуемые советы вас не устроили,
Зайдите в раздел с процедурами, нажмите F7, выделите все процедуры CTRL+A, правой мышкой Script Stored Procedure as -> Create to....
Через минуту в отдельном окне вам будет выдан скрипт всех процедур, где с помощью Ctrl+F вы найдете нужный вам текст.
Вот так через одно место, можно получить желаемое:)
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39600183
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barclayalm2,
Если все рекомендуемые советы вас не устроили,
Зайдите в раздел с процедурами, нажмите F7, выделите все процедуры CTRL+A, правой мышкой Script Stored Procedure as -> Create to....
Через минуту в отдельном окне вам будет выдан скрипт всех процедур, где с помощью Ctrl+F вы найдете нужный вам текст.
Вот так через одно место, можно получить желаемое:)

Если все рекомендуемые советы вас не устроили, ставим бесплатный тул и пользуемся, например:
https://www.red-gate.com/products/sql-development/sql-search/index
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750078
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подниму темку, а если не на все процедуры у меня есть права, скрипт тоже в них будет искать строку и выдаст имя?
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750109
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetik,

Вас в гугле забанили или пользоваться поиском религия не позволяет?

https://docs.microsoft.com/ru-ru/sql/t-sql/functions/object-definition-transact-sql?view=sql-server-2017 Разрешения

Определения системных объектов видимы для всех.

Определения пользовательских объектов видимы владельцу объекта или участникам,
которым предоставлены следующие разрешения: ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION .
Эти разрешения неявно предоставляются членам предопределенных ролей базы данных db_owner, db_ddladmin и db_securityadmin .
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750119
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаОпределения системных объектов видимы для всех.
я не про объекты системного словаря спрашивал, логично что если к ним нет прав то и селект не сработает

я спрашивал если у меня нет прав на пользовательскую процедуру ХХХ и я ее даже не вижу в списках объектов, но есть права запроса к словарю, будет ли доступен поиск по тексту процедуры ХХХ?
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750122
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаSintetik,

Вас в гугле забанили или пользоваться поиском религия не позволяет?

https://docs.microsoft.com/ru-ru/sql/t-sql/functions/object-definition-transact-sql?view=sql-server-2017 Разрешения

Определения системных объектов видимы для всех.

Определения пользовательских объектов видимы владельцу объекта или участникам,
которым предоставлены следующие разрешения: ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION .
Эти разрешения неявно предоставляются членам предопределенных ролей базы данных db_owner, db_ddladmin и db_securityadmin .

ну и при чем тут все перечисленное?
вам показалось, что ТС "член предопределенных ролей базы данных db_owner, db_ddladmin и db_securityadmin"
или что у него есть ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION?

он ясно написал, что у него есть лишь разрешения на некоторые процедуры.
так вот на какие процедуры имеется EXECUTE, ровно те процедуры товарищ и "увидит" в sys.sql_modules
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750124
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetikя спрашивал если у меня нет прав на пользовательскую процедуру ХХХ и я ее даже не вижу в списках объектов, но есть права запроса к словарю, будет ли доступен поиск по тексту процедуры ХХХ?
вы правильно все поняли,
у вас не будет доступа к тексту процедур, на которые у вас нет прав.
будет лишь доступк тексту процедур, которые вы "видите" в Object Explorer
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750136
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123Sintetikя спрашивал если у меня нет прав на пользовательскую процедуру ХХХ и я ее даже не вижу в списках объектов, но есть права запроса к словарю, будет ли доступен поиск по тексту процедуры ХХХ?
вы правильно все поняли,
у вас не будет доступа к тексту процедур, на которые у вас нет прав.
будет лишь доступк тексту процедур, которые вы "видите" в Object Explorer
спасибо, просто я не владелец и не админ базы
т.е. если я попрошу запустить запрос из под роли "db_owner, db_ddladmin и db_securityadmin", то будет поиск по всем пользовательским процедурам во всех схемах, что есть в базе?
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750148
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetikт.е. если я попрошу запустить запрос из под роли "db_owner, db_ddladmin и db_securityadmin", то будет поиск по всем пользовательским процедурам во всех схемах, что есть в базе?
да.
причем достаточно иметь просто VIEW DEFINITION.
членство в ролях необязательно.

как вариант, пусть человек с правами напишет вам процедуру поиска с параметром.
и в процедуре укажет EXECUTE AS OWNER.
теперь достаточно выдать EXEC на это процедуру кому-то типа вас,
и будете искать по всем процедурам от имени того пользователя
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750170
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123ну и при чем тут все перечисленное?
вам показалось, что ТС "член предопределенных ролей базы данных db_owner, db_ddladmin и db_securityadmin"
или что у него есть ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION?

он ясно написал, что у него есть лишь разрешения на некоторые процедуры.
так вот на какие процедуры имеется EXECUTE, ровно те процедуры товарищ и "увидит" в sys.sql_modulesВо-первых, про EXECUTE - это вы сами придумали. Товарищ лишь сказал, что у него "права не на все процедуры". Какие именно права - не уточнялось. Поэтому, если кому и показалось, то, скорее всего, вам.
Во-вторых, все перечисленное ГАРАНТИРУЕТ доступ ко всем определениям процедур, чего и требуется по итогу автору вопроса, если , конечно, вы этого сами не поняли...
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750176
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123да.
причем достаточно иметь просто VIEW DEFINITION.
Ну конечно. А в моем-то ответе как-то не так про тоже самое было написано...

Щукина АннаSintetik,

Вас в гугле забанили или пользоваться поиском религия не позволяет?

https://docs.microsoft.com/ru-ru/sql/t-sql/functions/object-definition-transact-sql?view=sql-server-2017 Разрешения

Определения системных объектов видимы для всех.

Определения пользовательских объектов видимы владельцу объекта или участникам,
которым предоставлены следующие разрешения: ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION .
Эти разрешения неявно предоставляются членам предопределенных ролей базы данных db_owner, db_ddladmin и db_securityadmin .

Вы уж определитесь. Или "достаточно иметь просто VIEW DEFINITION", или "ну и при чем тут все перечисленное"
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750183
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаВо-первых, про EXECUTE - это вы сами придумали. Товарищ лишь сказал, что у него "права не на все процедуры". Какие именно права - не уточнялось.
нет, дорогая курильщица, EXECUTE это то, что у него есть.
или какие же еще права ему выдали на процедуры?
придумайте такой фантастический пример,
когда юзеру на некоторые процедуры выдано что-то иное.
и чтобы в этом был какой-то смысл

Щукина АннаВо-вторых, все перечисленное ГАРАНТИРУЕТ доступ ко всем определениям процедур
вот именно.
а у него этого доступа КО ВСЕМ ПРОЦЕДУРАМ как раз и нет.
учимся читать написанное:
автор не на все процедуры у меня есть права
ну и в-третьих, где же ответ на вопрос,
какие же именно тексты процедут ТС увидит?
мой ответ как раз на этот вопрос: на какие процедуры имеется EXECUTE,
те и увидит.
а ваше цитирование доказывает лишь то,
что вы не поняли: ничего из перечисленного у ТС нет.

но это не значит, что ТС ничего не найдет.
потому что вполне возможно, что искомое как раз в тех процедурах, на которые права есть.
и имеющегося EXECUTE как раз и хватит, чтобы найти искомое
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750223
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

Что же вы не предупредили-то, что страдаете семантической дислексией....
Попробую «перевести» диалог на понятный вам язык...

Автор поинтересовался: «у меня есть [какие-то] права на какие-то процедуры. Смогу ли я искать текст в ЛЮБЫХ процедурах»
На что ему мной был дан ответ цитатой из документации: «для поиска некоего текста в любых процедурах нужны любые права из списка»

Надеюсь, теперь вам будет понятнее. Если нет, то это уже не на техническом форуме обсуждать, а на приеме у логопеда в лучшем случае, и у психиатра в худшем.
...
Рейтинг: 0 / 0
Как найти в каких хранимых процедурах или функциях встречается нужная строка
    #39750253
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаВы уж определитесь. Или "достаточно иметь просто VIEW DEFINITION", или "ну и при чем тут все перечисленное"

эта часть относится к моему совету,
как товарищу поискать в текстах всех процедур,
не имея на них прав.
но если вам не нравится, то можно и просто выдать в базе EXECUTE.
почему-то не вижу его в вашем списке, как же так?
а ведь вопрос у ТС как раз и возник в связи с наличием у него EXECUTE.
ибо часть процедур он как раз и "видит", и может в их текстах искать.
и получается, что он ищет, не имея ничего из вашего списка
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как найти в каких хранимых процедурах или функциях встречается нужная строка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]