2010-05-07 5 views
0

Dans SQL Server 2005 Cette requête fonctionne correctement: Sélectionnez * dans sys.procedures où object_definition (object_id) comme '% J%' SELECT * FROM MSDB.DBO.SYSJOBS O WH NOM COMME '% J%'trouver toutes les procédures stockées et les tâches dans le serveur SQL 2000

mais dans SQL Server 2000, il ne fonctionne pas. Ici, j'ai besoin de trouver toutes les procédures stockées et les emplois qui correspondent à ma chaîne? comment trouver dans SQL Server 2000?

salutations, kumar

Répondre

0

SQL 2000 n'a pas la table système sys.procedures - le plus proche, vous trouverez est sysobjects, et vous pouvez faire votre sélection WHERE name=? AND XTYPE='P'.

Pour obtenir des emplois d'agent SQL, vous pouvez le faire:

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

salut pour la procédure de magasin il fonctionne bien et qu'en est-il des emplois? – kumar

+0

@Kumar, j'ai mis à jour ma réponse pour vous permettre de rechercher les emplois de l'agent. – SqlRyan

+0

ça marche thanx – kumar

0

syscomments contient le texte des définitions de procédure (à la fois il est du texte et des colonnes de CTEXT). Toutefois, vous devez savoir que les procédures volumineuses peuvent s'étendre sur plusieurs lignes. Par conséquent, si ce que vous recherchez dans votre condition LIKE est important, vous risquez d'être malchanceux et de le répartir sur une ligne. Il n'y a pas de solution facile pour cela, car SQL Server 2000 n'a pas de varchar (max).

Questions connexes