Hlavní stránka
Object search v MSSQL 2005 PDF Tisk E-mail
Napsal Stanislav Duben   
Čtvrtek, 12 červenec 2007

Search text in trigger a store proceduřeV Microsoft SQL 7 a SQL 2000 se dalo hledat v objektech databáze poměrně snadno. Stačilo oteřvít Query Analyzer zmáčknout F4 a už jste měli otevřený Object Search. Stačilo jen nastavit v kterých objektech chcete hledat, zadat hledaný text a bylo to.

Hledáte tuto možnost v MS SQL 2005? Bohužel marně. Vývojové centrum Microsoftu se rozhodlo tuto funkci odstranit, protože "jí nikdo nepoužívá". Tolik vysvětlení ze strany Microsoftu. Nicméně i tak můžeme dál hledat v objektech databáze, jen si na to musíme napsat script. 

Pro hledání textu použijeme systémové tabulky sysobjects a syscomments. Kód pro hledání může vypadat například takto.


SELECT DISTINCT sysobjects.name AS [Object Name] ,
case
when sysobjects.xtype = 'C' then 'CHECK constraint'
when sysobjects.xtype = 'D' then 'Default or DEFAULT constraint'
when sysobjects.xtype = 'F' then 'Foreign Key'
when sysobjects.xtype = 'FN' then 'Scalar function'
when sysobjects.xtype = 'P' then 'Stored Procedure'
when sysobjects.xtype = 'PK' then 'PRIMARY KEY constraint'
when sysobjects.xtype = 'S' then 'System table'
when sysobjects.xtype = 'TF' then 'Function'
when sysobjects.xtype = 'TR' then 'Trigger'
when sysobjects.xtype = 'U' then 'User table'
when sysobjects.xtype = 'UQ' then 'UNIQUE constraint'
when sysobjects.xtype = 'V' then 'View'
when sysobjects.xtype = 'X' then 'Extended stored procedure'
end as [Object Type]
FROM sysobjects
WHERE
sysobjects.type in ('C','D','F','FN','P','K','S','TF','TR','U','V','X')
AND sysobjects.category = 0
AND CHARINDEX(@SEARCHSTRING,sysobjects.name)>0
AND ((CHARINDEX(@notcontain,sysobjects.name)=0 or CHARINDEX(@notcontain,sysobjects.name)<>0))

@SEARCHSTRING  přiřadíme hledaný text, pokud chceme určitý text vyloučit naplníme hodnotu @notcontain

Pro omezení jen na určité objekty stačí zakomentovat určité kusy kódu s WHEN a změnit podmínku sysobjects.type in ('C','D','F','FN','P','K','S','TF','TR','U','V','X').

Přehled type objektů, které můžeme použít:

type
C = CHECK constraint
D = Default or DEFAULT constraint
F = FOREIGN KEY constraint
FN = Scalar function
IF = Inlined table-function
K = PRIMARY KEY or UNIQUE constraint
L = Log
P = Stored procedure
R = Rule
RF = Replication filter stored procedure
S = System table
TF = Table function
TR = Trigger
U = User table
V = View
X = Extended stored procedure


Přidat jako oblíbený (218) | Shlédnutí: 1836

  Napište první komentář
RSS komentáře


Přidat komentář
  • Komentujte prosím relevantě k obsahu článku.
  • Vyplnění položek označených hvězdičkou je povinné.
Jméno:*
E-mail:
WWW:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
Komentář:*



MathGuard security question, please solve:

JU1         N7H      
A      5      Y   H38
GG2   5KU   MMU      
W H    J      X   OK3
LOP         5SQ      

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved

 
< Předch.   Další >