2012-05-04 9 views

Odpowiedz

17

Można zapytać sys.procedures i sys.parameters ...

select pr.name, p.* 
from sys.procedures pr 
inner join sys.parameters p on pr.object_id = p.object_id 

i dołącz do typów też ...

select pr.name, p.*, t.name, t.max_length 
from sys.procedures pr 
inner join sys.parameters p on pr.object_id = p.object_id 
inner join sys.types t on p.system_type_id = t.system_type_id 
3

Można również użyć

select * from INFORMATION_SCHEMA.PARAMETERS 
1

Można również użyć

select * from INFORMATION_SCHEMA.ROUTINES \G; 
0
SELECT 
    p.name AS [SP Name], qs.execution_count, 
    ISNULL(qs.execution_count/DATEDIFF(Second, qs.cached_time, GETDATE()), 0) AS [Calls/Second], 
    qs.total_worker_time/qs.execution_count AS [AvgWorkerTime], qs.total_worker_time AS [TotalWorkerTime], 
    qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time], 
    qs.cached_time, 
    isr.ROUTINE_DEFINITION 
FROM sys.procedures AS p 
INNER JOIN sys.dm_exec_procedure_stats AS qs 
ON p.[object_id] = qs.[object_id] 
Inner Join INFORMATION_SCHEMA.ROUTINES as ISR 
on p.name = isr.SPECIFIC_NAME 
WHERE qs.database_id = DB_ID() 
    and 
    isr.ROUTINE_DEFINITION like '%XXXX%' -- name of something you are looking for in the stored procedure 

ORDER BY qs.execution_count DESC OPTION (RECOMPILE); 
+2

proszę [edytuj] więcej informacji. Tylko kod i odpowiedzi "spróbuj tego" są zniechęcane (// meta.stackexchange.com/questions/196187), ponieważ nie zawierają treści do wyszukiwania i nie wyjaśniają, dlaczego ktoś powinien "spróbować tego". Staramy się być źródłem wiedzy. – Mogsdad

0

Dla tych, za pomocą SQL 2000

SELECT * FROM [dbName]..sysobjects WHERE xtype = 'P' 

i

SELECT * FROM [dbName]..sysComments 

Dołącz do nich przez id

Powiązane problemy