найти все хранимые процедуры и задания в SQL Server 2000 - PullRequest
0 голосов
/ 07 мая 2010

В SQL SERVER 2005 Этот запрос работает нормально: выберите * в sys.procedures, где object_definition (object_id), например "% J%" ВЫБЕРИТЕ * ИЗ MSDB.DBO.SYSJOBS, ГДЕ ИМЯ НРАВИТСЯ '% J%'

но в sql server 2000 он не работает. Здесь мне нужно найти все хранимые процедуры и задания, которые соответствуют моей строке? как найти в sql server 2000?

С уважением, Кумар

Ответы [ 2 ]

0 голосов
/ 07 мая 2010

syscomments содержит текст определений процедур (как в текстовом, так и в текстовом столбцах).

Однако вы должны знать, что большие процедуры могут занимать несколько строк, поэтому, если то, что вы ищете в вашем условии LIKE, велико, вам может не повезти, и он будет разбит по границе строки. Это не легко исправить, поскольку в SQL Server 2000 нет varchar (max).

0 голосов
/ 07 мая 2010

В SQL 2000 отсутствует системная таблица sys.procedures - самое близкое, что вы найдете, - sysobjects, и вы можете выбрать WHERE name=? AND XTYPE='P'.

Чтобы получить задания агента SQL, вы можете сделать это:

SELECT job_id, [name] FROM msdb.dbo.sysjobs WHERE NAME=?;
...