2012-04-16 17 views
6

Saklı yordamların bir SQL Server 2005 veritabanında çağrıldığı yeri bulabilmemin bir yolu var mı?Depolanmış prosedür çağrılarını nasıl bulabilirim?

Find'u kullanmayı denedim, ancak Visual Studio'larda olduğu gibi çalışmıyor.

Şimdiden teşekkürler. Ada göre (örneğin tablolar, sütunlar, tetikleyiciler) veritabanı nesneleri bulmak gerekiyorsa

cevap

11

- bunu yapar SQL Search denilen SERBEST Kırmızı Kapı aracı bir göz - bu dize her türlü için tüm veritabanını arar (ler).

Durumunuza göre, 'u biliyorsanız, saklanan yordamın ilginizi çağıran şey nedir diye soracaktır - yalnızca arama kutusuna girdiğinizde SQL Search, bu saklı yordamın bulunduğu tüm yerleri hızlı bir şekilde gösterecektir. denir.

enter image description here

enter image description here

Bu büyük herhangi DBA veya veritabanı geliştiricisi için sahip olması gereken araç var - Zaten bahsetti mi onu SERBEST kullanım her türlü kullanımı kesinlikle var ??

+0

ne kadara mal olur? =) – Yatrix

+1

@Yatrix: ** hiçbir şey ** - zip, zilch, nada - niente - rien du tout - yeterince açık? :-) –

+1

Ses pahalı, ama bunu karşılayabilirim. Teşekkürler. – Yatrix

6

SQL Server Management Studio'da View Dependencies kullanmayı deneyebilirsiniz.

Kayıtlı prosedüre sağ tıklayın ve View Dependencies'u seçin. Ancak her zaman% 100 doğru olmadığını tespit ettim.

6

Sen veritabanı nesneleri metin aramak için bu birini kullanmak bir 'Bul' SP

oluşturabilirsiniz:

CREATE sp_grep (@object varchar(255)) 
as 

SELECT distinct 
'type' = case type 
when 'FN' then 'Scalar function' 
when 'IF' then 'Inlined table-function' 
when 'P' then 'Stored procedure' 
when 'TF' then 'Table function' 
when 'TR' then 'Trigger' 
when 'V' then 'View' 
end, 
o.[name], 
watchword = @object 
FROM dbo.sysobjects o (NOLOCK) 
JOIN dbo.syscomments c (NOLOCK) 
ON o.id = c.id 
where c.text like '%'[email protected]+'%' 
İlgili konular