Selam Alıntı Paylaşımdır



Çoğu DB'de vardır sanırım ama vereyim dedim, olmayanlar eklerse iyi olur yararlı bir şey çünkü. Mesela prosedür düzenleyeceksiniz, prosedürün adını bilmiyorsunuz ama içinde geçen kodları hatırlıyorsunuz. İşte onu bulmak için bu prosedür:





Kod:
    /****** Object:  Stored Procedure dbo.sp_search_code    Script Date: 6/6/2006 6:03:33 PM ******/
CREATE PROCEDURE sp_search_code
    
@SearchStr  varchar(100)
/*@RowsReturned int*/

AS    
    
/*    
To search your database code for the keyword 'unauthorized':    
EXEC sp_search_code 'unauthorized'    
    
To search your database code for the keyword 'FlowerOrders' and also find out the number of hits:    
DECLARE @Hits int    
EXEC sp_search_code 'FlowerOrders', @Hits OUT    
SELECT 'Found ' + LTRIM(STR(@Hits)) + ' object(s) containing this keyword' AS Result    
*************************************************************************************************/    
BEGIN    
 SET NOCOUNT ON 

  DECLARE @Hits int
 SELECT DISTINCT USER_NAME(o.uid) + '.' + OBJECT_NAME(c.id) AS 'Object name',    
  CASE     
    WHEN OBJECTPROPERTY(c.id, 'IsReplProc') = 1     
    THEN 'Replication stored procedure'    
    WHEN OBJECTPROPERTY(c.id, 'IsExtendedProc') = 1     
    THEN 'Extended stored procedure'        
   WHEN OBJECTPROPERTY(c.id, 'IsProcedure') = 1     
    THEN 'Stored Procedure'     
   WHEN OBJECTPROPERTY(c.id, 'IsTrigger') = 1     
    THEN 'Trigger'     
   WHEN OBJECTPROPERTY(c.id, 'IsTableFunction') = 1     
    THEN 'Table-valued function'     
   WHEN OBJECTPROPERTY(c.id, 'IsScalarFunction') = 1     
    THEN 'Scalar-valued function'    
    WHEN OBJECTPROPERTY(c.id, 'IsInlineFunction') = 1     
    THEN 'Inline function'     
  END AS 'Object type',    
  'EXEC sp_helptext ''' + USER_NAME(o.uid) + '.' + OBJECT_NAME(c.id) + '''' AS 'Run this command to see the object text'    
 FROM syscomments c    
  INNER JOIN    
  sysobjects o    
  ON c.id = o.id    
 WHERE c.text LIKE '%' + @SearchStr + '%' AND    
  encrypted = 0    AND    
  (    
  OBJECTPROPERTY(c.id, 'IsReplProc') = 1  OR    
  OBJECTPROPERTY(c.id, 'IsExtendedProc') = 1 OR    
  OBJECTPROPERTY(c.id, 'IsProcedure') = 1  OR    
  OBJECTPROPERTY(c.id, 'IsTrigger') = 1  OR    
  OBJECTPROPERTY(c.id, 'IsTableFunction') = 1 OR    
  OBJECTPROPERTY(c.id, 'IsScalarFunction') = 1 OR    
  OBJECTPROPERTY(c.id, 'IsInlineFunction') = 1     
  )    
    
 ORDER BY 'Object type', 'Object name'    
    
/* SET @RowsReturned = @@ROWCOUNT    */
END
GO
Kullanmak için:





Kod:
exec sp_search_code 'Aratacağınız kod'
Gayet güzel bir kod



Kullanımı ...



1 Başlat > Tüm Programlar > Microsoft SQL Server > Query Analyzer ‘ a giriyoruz.

2 SQL Server’ a bağlanıyoruz ve açılan ekranda ” master ” yerine ” DBmizi ” seçiyoruz.

3 Seçtikten sonra aşağıdaki kodu kopyalayıp , yapıştırıyoruz ve F5 yaparak kodumuzu uyguluyoruz.