2010-05-07 4 views
0

В SQL SERVER 2005 Этот запрос отлично работает: выберите * из sys.procedures, где object_definition (object_id), например, «% J%» SELECT * FROM MSDB.DBO.SYSJOBS WHERE NAME LIKE '% J%'найти все хранимые процедуры и задания в SQL Server 2000

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

С уважением, Kumar

ответ

0

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

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

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

привет для магазина процедура работает нормально и как насчет рабочих мест? – kumar

+0

@Kumar, я обновил свой ответ, чтобы вы также могли искать работу агента. – SqlRyan

+0

он работает thanx – kumar

0

syscomments содержит текст определений процедуры (в обоих его текст и CTEXT столбцы).

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

Смежные вопросы