Разделы
Публикации
Популярные
Новые
Главная » Оптимизация производительности transact

1 ... 40 41 42 43 44 45 46 ... 55

Описг-ие: 9 aaei сг.-сск обьечтсэ ic а^ало-/:- с чосолоГ' сгерациси-.ой спс:е я OIR.

Си.ч'аксис: 5p dir [@1Г:а5к=1ь'ЗбпСн /ген/ О0о>::к;а][ .§ooi,ype=H обьекта][ .РогбепЬуПорядок сортировки [ASCIDESCJ]

Criask = шасгон имен г;еоеч/,сляемь/, сбьек-оз поддерживает наолоны SQL): по умолчанию в5:водя-ся все обьекн!

Scctyce = ти1 перечисляемь.л обьектов \:сйдер*иэае1 и.аСг:с-о SGL): пс учогнанию вь,бсьят:я пользовательские таблицы

Поддерниваются следующие типы обьектов:

и = пользовательские таблицы

S = системные таблицы

V = представления

Р = хранимые процедуры

/ = расширеннь;е процедуры

RF = процедуры фильтра репликации

TR - триггеры

С = обьекть1-умолцания

R = обьекты-празила

т = пользовательские типы данных

gorderby = поле, пс которому производится сортировка.

Для указания сортировки по возрастанию-убыванию могут применяться ключевье слова ASC ипи DESC.

Псддеьживаются следующие виды сортировки:

/N = по имегти

/R по номеру записи

/S = по общему размеру обьекта

/О = по дате создания

/А = по суммарному объему страниц дан-ь,х

/X = по суммарному сбьему страниц индексов

/и = по суммарному объему неисло;:ьзуемых страниц

1\. = по максима.льнсй длине записи

/О = по з;1адельцу

Возвращаемое значение: (нет)

Автор: Кеп Henderson. Email: khenKhen.corr;

Версия: 7.0

Пример использования:

Параметры могут быть указаны пс порядку:

sp dTr TRAr .U.VS

или по имени:

зр с:тг eaiask=TRAI,@obtype=U.@order-by-7S DESC

С помощью iiapaMeipa Porcerby можно указать дополниleiiiHb.e голя для сортировки: sp d:r gmask-lRAX.@obtype=U.Porderby/S DESC, rcw counl. date created DESC



Параметры гсс.;едурс! -е язияклс^ с,с=3с'ерь!-и.м.. i\:[:;<i;:pi, ге yasj ;... Вг: с;1едую-1ая к,:иандг.

sDjir Г , U,

Даа созласля: i92-C6-i2. Дата пссле^негс гзгеген/я: 1999-0/-С2

*/ AS

SET NCCCUM ON

IF (gMSk-/; GOTC Help

SELECr gordertyUPPERSerdcroy;

SlCIAR: Pexecstr va с+а; (8G00;

SET @execstr=

SELECT ~- Получ/ть CiincoK o6a;4hbX обьекюв

пагле=ЕЕЕТ(с.пап1е.ЗС). с.type,

date created=o,crdate. row count=ISNULL(rcws.O), row len in bytes=

ISNULL((SELECT SUFdength) FRCt syscobmns whERE id-o,id AND o.type

in (U.S)).0). total sizejn KE-

ISNULL((SELEC SUH{ eberved; FROM bysincexes WHERE mdid -n (C. 1. 255) AND id = c.id).C)*2. data space in KB=

ISNULL;((SELECr SUM(cpages) fRCM sysindexes WHERt irjid > 2 AlvO id = o.id)-

(SEL.CT ISNULL(SDM;used), 0) FROM syside.es WHERE incio 2,55 AND id = 0,10)),0)*2. index space in <B=

ISNULL(((SFLEC( SUM(useo) FRCM sysindexes WHERE mdio in (0, 1, 255) AND id = o.id) -

(CSELECr SUM(dpages) FROM sysindexes WHERE inG;d> 2 AND id = o.Td)+ (SELECT ISNULL(SUM;used). 0) FROM sysindexes WHERE indid - 255 AND id = o.id))),0)*2. unused space in KB=

ISNULI(((SELECT SUM(reserved) FROM sysindexes WHERE mdid m (0.1,255) AND ia o.id) -

(SELECT SUM(used) FROM sysincexes WHERE indid :r. (0, I. 255, AND id =

o.id)),0*2, owner=USER NAME(o.uid) FROM sysobjects 0, sysindexes i

WHERE cname like +Pmask+ AND o.type LIKE 4=obtype+ AND o.id*=i,id AND i.i,ndio>=l

UNION ALL -- Получить сп :сок псльзовагельскях гклоз aatiHbx

SELECT , ЕЕП(пагпе,30), Т', NULL NUL!, NULL. NULI, NULL. NUL( , NULL, USE

FROM systypes

WHERE (usertype & 256)<>0

AND naine LIKE +Coinask

+-AND T LIKE -?oDtype

+ UNION ALL Вь1 1Слить итоговь'е Згачения



;тод,.;г.

NLLI ,

NUI L

MILL.

SUM* aa ta spaceJ r <S,. SUf!; r.ae, ipace i; Kb,. SUM{i.nu5ed space !n KB;. NUL

FROM (SELECT

rCW C0Unt=iS\UL.. ( :Oiit .jl .

total sizo in KB=

ISNULL( (SELECT SL;i(reseived; l-K!;M syL;:de/.os лНШ ]:iciC it (0, i, 255; AND id = 0.id),0*2, da:a space in KB= ;SNULL(((SE[.ECT SUit,dpogeb) FROH sysindexes

WHERE -naid > 2 AND id=o. iOMSELECT ]SNULL(S;jM(L.sea;, ID FROM sysindexes WHERf inc-.d 255 ANO id = or.d)) .Q)*2. index SDace in KB JSNUlL((fStL£CT SUM(used) FROM sysirdexcs WHERE indid ir; (C. 1. 255; AND id - 0,id) -

((SELECT SbM(opaces) FROM Sysindexes WHERE inGid > 2 AND ic - o.io)-(SELECT ISNULL(SUM(L;sed), 0) FRCM sysindexes WHERE V.do - 255 ANC Id = 0,id))),0*2, unused space in ,<B=

!SNULL(((SELECT SUM(reserved) FRCM sysindexes WHERE mdd 1n (G, i, 255) ANC id = 0, iri)-

(SELECT SLM(useG) FRCM sysindexes WHE.RE mcid in (G, 1, 255) AND id = o.id)),0)*2 FROM sysobjects 0, sysindexes ;

WHERE o.name like <-gnia5k + AND o.type L1,<E *?nbtype+ ANC o,iG*=i,id AND i, incid-=l) С

ORDER BY , + Еараигирсван, чгс итсовь.е значения выдаются последними CASE LEFT(iaorderoy,2)

-- Включить при необходимости шла, ASC/DESC WHEN 7N THEN name-SUBSTKlNG(eorderby,3,80GG) 1f there T s one ELSE

CASE ЕЕРТ(0С'-сегьу,2) WHEN /D THEN date created WHEN /S THEN total size in KB WHEN /R THEN ncw codnt WHEN /A THEN data space in KB WHEN /X THEN index space in KB WHEN /IJ THEN unused space in KB WHEN /L THEN now len in bytes WHEN /0 THEN owner END+SUBSTRlNG(iacrderoy,3,80G0) + ,name Включить name в критерий

соотирсвки

EXEC(C°execstr)



Helc;

tXtC sp jscge @0Djectnanie=sp d-i-

i?cesc=Lists object catdicg Inormatior sliilar tc Vc CS IR соглапа,.

?pa-anietes=T9n35<=name mask][ ,?ODtype=opject type] .So.-de-by-o-der

switch:

ASCIDESCJj

i?msK = pattern of ODject naires to iist (supports SQL vvildcards): defaults to aH objects

(Pobtype = type of objects to list (supports SQL wldca-ds;: C6fa.lt to user tatles

The follcwirg object types are suppcrlec:

и = Use-- tables S = System tables V = Views

P = Stored procedures

X = Extended procedures

RF = Replication filter stored procedures

TR = Triggers

D - Default objects

R = Rule objects

) = User-defined data types

Porderby = column on which to sort listirg.

Can also include ASC or DESC to specify ascerding/descenc;ng order.

The following orderings are supporteo:

/N by Name

/R = by number of rows

/S = by total object size

/0 = by date created

/А by total size of data pages

/X = by total size of index pages

/и = by total size of unused pages

/L = by maximum row length

/0 = by Owner.

(aexample=

Parameters can be specified positionally. 1ке so: sp dir TRAr . U. /S or by name, like so:

sp dir (amask=TRAX.(aobtype=U.(?orderby=/S DESC

You can also specify additional ordering columns with (aorderby. like so:

sp dir (Pmask-TRAr .(aobtype=U.@crGerby=/S DESC, row count. date created DESC

All paraneters are optional. If no parameters are specified, the following command is executed:



sp d:r Г , У . N , &dL-tnor-Kep Henderson. Ccemai ! = кпепС=<г;еп.соп1, (aversion=7. @nevision=G.

?catecrea!:ed=19920612. Cadateidstcnanged19990702 RETURN -]

SD d;r tV

(результаты сокращены)

name type dateceated now count row len 1n bytfc£

temp authors U 1999-06-17 23:33:19.120 23 151

testident U 1999-05-19 17:52:29.570 132 14

testtxt и 1999-05-28 16:43:08,683 0 16

tid T NULL NULL NULL

titleautiiop U 1998-11-13 03:10:49.220 25 22

titleauthor2 U 1999-05-28 16:10:34.153 25 22

titles и 1998-11-13 03.10:48.970 18 334

* (TOTAL) NULL NULL 223 NULL

Эта процедура возвращает несколько полезных элементов .мега,танных объектов. Их можно систематизировать по и.мени объекта и упорядочить по любому возвращае.мо.му полю (включая их ко.мбинацию).

Как видно из фрагмента результата выполиеьиш процедуры, пользовательские типы данных выдаются в.месте с остальными типа.уш объектов, несмотря на то что они хранятся в другой системной таблице. Обычно разработчики склонны считать, что пользовательские типы данных зани.мают равное положение среди других типов объектов, поэто.му эта процедура обрабатывает их единообразно.

В коде есть две особенности, которые стоит обсудить. Во-иервых, обратите bhh.MaiHie на то, что при формировании результата процедура не использует циклы или команды управления ходом выполнения. Набор данных, возвращае-.мый процедурой, генерируется едииственны.м, хотя и весь.ма гро.\юздким операторо.м SELECT. Этот оператор использует конструкцию UNION ALL для объединения объектов из таблиц sysobjects, systypes, а также суммарных величии нз таблииы sysobjects. Делается это скорее для упражнения в синтаксисе, че.м для иных целей - можно было бы сохранить данные из каждого раздела оператора UNION во временной таблице и зате.м выполнить по ней выборку. Такой подход работа.! бы ие хуже, а может быть, и лучше, поскольку запрос, формиру!ОЩ1и ! !!Тоговь!е значения, .мог бы обращаться ко време!1!1ой таблице, а не к таблице sysobjects.

Конструкция UNION ALL при.ме!1яется вместо UNION, поскольку первая из них более эффе!<тивна в тех ситуациях, когда !1аличие повторя!ощихся записей в результате запроса иесуществе!1но. Прежде че.\! возвратить результат, 0!1ератор UNION удаляет повторяющиеся за1Н!си, тогда как UNION ALL этого не делает. В данном случае уникальность имен объектов, хранящ1!хся в табл1;ще sysobjects, гарантируется систе.\ют1, поэтому на.м !ie нужно удалять дубликаты между таблица.ми systypes и sysobjects. Мы используем UNION ALL, потому что эта конструкция работает быстрее

Другая важ!1ая особе!1ность запроса за!<:лючается в приме!1ении специа.!Ь-ного пеевдостолбца для упорядочивания результатов запроса. Мы хотим, чтобы



записи с сум.мариы.чп! значсппя.чш р;1спола)а.1М1-ь п niiixTicii части отчета, но при .эго.м нсоб.ходп.мо обеспечить цо..можцость сортпроики оста.и.ных . iaiuirei:. По-.мннте, что ислйя рассчнты!аП) на естсстнеин1лГ иоря.чок .saiinceii и таблице - если нужно, чтобы запнси распс)лага.тись п определеию.м порядке, иы до.т;1чНЫ указать его в раздел ORDER BY. Это делает задачу иеско.тько с.тожнее псдосгаточно про-стт) но.местшъ запнси во временную таблицу в то.м порядке, в которо.м нх слел\ег гнлвести. Решение, представленное в левой чаети отчета, ([юр.мирует нсе|!лосто,тбсц, содержащи!! лнбо пробелы для обычных записен. лнбо звездочки для итоговых, и испо.чьзует его п качестие ncpBoio выражения в условии С())тировкп раздета ORDER BY, независи.мо от выбранно о но.тьзоватетем порядка сортировки. Поскольку значение этого столбца одинаково для всех записей, не содержащих итоговых величин, порядок етедования этих за1н1сей определяется лруги.ми столбца.ми. а не псевдостолбцом.

В за1слючение еще одни .чю.меит, о которо.м ечелует уно.мянуть, - это гибкость, которую обеспечивает пронедура при сортировке результата. По.ми.\го простой сп.мволики, которую люжно передавать пара.метру @orderby для указания порядка сортировки, процедура допускает также указание ключевых слов Transact-SQL DESC и ASC, прн.меняе.чнлх в разделе ORDER BY операто] SELECT. Можно также указать другие столбцы, но которым выполняется сортировка - поэтому, чтобы упорядочитъ результат по дате создания в порядке возрастания и по владельцу в порядке уб,н!ання, можно наппсать VD DESC. owner ASC. Такая воз.можность возникает благодаря прн.менепию функции ЕХЕС() д.чя выполнения запроса, дшшхигчески сфор.мироваиного во время выполнения процедуры. Всякое условие сортировки, указьшаелюе при вызове процедуры, просто добавляется в конец запроса после ссылки на упо.чгянутьн! выше псевдосто.тбец.

Процедура sp object

Начиная с версии SQL Server 7.0, в Tran.sact-SQL появился набор системных функц1п г для организацнн доступа к метаданны.м системы. Ранее для доступа к системному каталогу приходилось рыться в систс,\пи>1х таблицах, аиа.чн.зировать массу загадочных битовых .\ютрнц и непоиятнь1х значений no.ieii. Теперь это не так - функгцти Transact-SQL, работающие с метаданны.чш, делают доступ к системным данным иcключитeJЧьнo простым делом. Для решсиня подобных задач особенно удобны функцпп 0bjectpr0perty(), TYPEPROPERTY(), COLUMNPROPERTY(), INDEXPROPERTYO и DATABASEPROPERTY().

Приводимая далее процедура использует эти футсщт для получения .метаданных объекта, хранящегося в базе. С по.мощыо анализа информации системного каталога она может даже выдать текстовое описание основных характери-стти< объекта. Доступной инфор.мацни .много - иадо только знать, где искать.

По аналогии с sp dir, процедура sp object выдает подробную информацию об одно.м или нескольких объекта.х. Она работает как с обычны.ми объекта.чт, так и с пользовательски.ми типа.ми данных, используя упо.мянутые выше функции ...PROPERTY() для сбора деталей о каждо.м из них. Вот исходньн! код процедуры sp object:

USE master

DROP PROC sp object



varchapCSOOC;-i,2,3,4.5,6 /*

иьек: Р С06С ,

Оп/carJie: Выдает подцсоук; .ihifup-ciiiiv об обечге

С,н;ачсис: so.ccjoct §(fejeclnan!c .. >- -.Сье/в .wj асло-/ .&oi-cer&y раздел OROtR вг дкя запроса]

Возвращаемое л-аныис ( е:)

Автср, <ег; i-erdersor. Lina. kheri&khe, .con

Верс/я: 7.С

Пр/мер использования: bp otject ajrjTc.s

Дета создания: 1994-05-29. Дате пссле::--егс измене.1ия: I999-07-G!.

IF (Sobjectnanp--/f; СОЮ e-p lXlCC

SELEC! ObjectLhFTfC Oojec-,30. Clypr ЗиЬ'урь'-CASKCASE CType лНЕМ Cons-ra;n;. i-iEN CASE WHEN 0BJECT?R0FERI(icI.bCiiecE3Hbr, WHEN 0EJECTPR0FERiV(i(1, IsFo.OTgnKey / WHEN OEJECTPPGPERTYdd, isP--;ПТйгуКеу)

WHEN OBJECrPRGPEREVdd, IsDefajUCn5f)=-L hEJ Oefaut Const,-aint WHEN OBjECT-ROPER](id, IsUn-queCnst)-l THEN Unique Constraint END

rtHEN Taoie THEN CASE яНЕ\ CBJECTFR0FER;V( id, rabielsFakeTHEN Virtue;

WHEN CBJECfPROPERT-.;id.IsSystemTab-e)-l TI-EN System

WHEN OBJECiPROPERlYdd,isUser3bie) = ; THEN User EJD

WHEN Trigger THEN

(SElEC; ISNULL(SUBS:RI,\G(Inse~t , CEGECfPROPERTY {id, ExecIsInsertTnggcr),/), ) ISNULL(SUBSTR:mG{Delete , OBuECTPROPERTY (ic, ExecIsDeiete rigger;, 7), IS№jLL;SUBSTRING(Update , OBJECTPROPER - (id, ExecIsUpdateTngger), 7), ) ISNULKSUBSTRINGC (Disabled) , OBJECTCROPERT/ (id, ExecIsTriggerDisabied),ll).))

IHEN Cneck Constraint THEN Fore gn Key Constraint IHEN Pnimaiy Key Constraint

WHEN Stored Prccedure THEN CASE WHEN OBJECT.cRCPERY(id,IsE/tendedProc)=l THEN Extended WHEN OEJECTP,ROPERfV(id,IsReplPr-oc)=--I THEN Repl-cation ELSE User END

WHEN i/iew THEN

CASE WHEN CEJECIPROPERTYdd,Cwne-!d)-3 THEN ANSI SOL-92



лНЕМ CBJ:.CTPROPtRTv(;c. IsMSSiipped; = ] THEN Syr.en ELSE user

rtHEN User-defined Datd Type THEN (SEI FCT name-

CASE wHEN nare m (char.varchar.nc.har.nvarchar; THEN

С fCAST(TYPEPRO?ERTr(Object.Precision) AS varchar)*)

ЖН rame ir (floa:.numeric.oecimar ,real.money.sr.aImoney

THEN

(+CAST(~Y?EPROPERTY(Object,Precision) AS varchar)+ ,* CAST(ISNULL(TYFEPROPERTY(ODject.Scale).0) AS varchar)*) ELSE END

EROM systypes aHERE (type-id) AND (usertype & 256)=0 AND (nameo sysname) AND

prec=(SELECT MAX(prec) FROM systypes WHERE type=id)) END

AS varchar(25)). Owner=LEFT(USER NAME(uid).25). System-Supplied= CASE Type

WHEN User-defined Data Tyoe THEN NO -- Невозможно no определению ELSE

CASE CBJECTPROPERTYtid.IsMSShipped) WHEN 0 THEN NO ELSE YES END END,

Description-SUBSTRING( CASE WHEN 0,Type=Constraint THEN

(SELECT ISNULKSUBSTRINGC ,Clustered Key OBJECTpROPERTYdd,

CnstIsClustKey),30). )+

ISNLLL(SUBSTRING(,Column Constraint..0BJECPROPERTY(id.

CnstlsColumn).30).)+

ISNULL(SUBS1RING(.Disabled..OBJECTPROPERTY

(id.CnstlsDisabieo ).30),)*

ISNULL(SUBSTRING(.Non-clustered кеу.. OBJECTPRCP£RTY(id. CnstlsNonClustKey) .30). )+ISNULL(SUBSTRING(.NOT FOR REPLICATION. .OBJECTpROPERTYdd.Cnst IsNotRepl), 30), )) WHEN 0,Type=Table THEN (SELECT CASE

WHEN OBJECTpROPERTYdd,TableHasDeleteTrigger)=i THEN ,# DELETE trig, : <AST(OBJECTPROPERTY(id, TableDeleteTriggerCount) AS varchar) ELSE END+ CASF WHEN OBJECTpROPERTYdd.TableHasInsertTrigger)=1 THEN .# INSERT trig,:-b CAST(OBJECTPROPERTYdd, TaolelnsertTriggerCount) AS varchar) ELSE CASE WHEN OBJECTpROPERTYdd,TableHasUpdateTr ,# UPDATE trig,;+CAST(0BJECTPR0PERTY(1d, TableUpdateTriggerCounf) AS varchar) ELSE ,Full-text index?:-bRTRIM(SUBSTRINGC NO YES TableHasActiveFul1 text Index)*3)+1.3)) + (CASE WHEN OBJECTpROPERTYdd. TableHasActiveFul ITextlndex)=1 THEN .Full-text catalog ID: *ISNULL(CAST(OBJECTPROPERTY(id. FulltextCataiogID) AS varchar).(None))+ .Full-text key column: +

ISNULL((SELECT name FROM syscolumns WHERE idid and colid=CEJECTPROPERTY(id,TableFulltextKeyColumn)).(None))

END+ gger)=1 THEN

END+

(OBJECTpROPERTYdd,



rtb. (CbuLCiPRUPtSi

: iG,

.,OBJ£CTPROPERTY{id. {OBJECTpROPtRTYdd.

ills

C6JECrPRCPERiY(-c

ELSt - ENij;

.РГ-.ЖГУ f;ey?: 7RIR::1;SuBS:RING; TdbieHasPriir.arytey )*3)*i,3)) + .Check cnst?: +RTRIM{SbBSTRING. NO V iaP :e!iasCheckCr,5,t)*3)-1.3}J + ,Cefau t cnstl -RTRIM(substring; ;\C

labieHasDoaultCnst )3;+1.3);+ .Roreign <ey?:+Rtr;h;SJBSTR1NG{NG ves iabeliasFc.-eignKey J*3)1.3;; +

.Foreign key ref . vRTRlMfSUBSTRING; TvG yes . {0BJECT?,R0FERTV{ id. TabiehasForeignRef) 3)-l,3)}+

.Unique cnst?: +RTRIM(SUBSTR1.\G; no yes, {OBJECTPRO?ERrY(id, TableriasUnqueCnst;-3)+1.3))-

.Irdcxed? +RTRI,1(SbESTR!NGCNG YES .{OBJfCTP.RQPERlrfd, TabieHcSlndex}*3) 1.3))+

.Ciust. idx?:+RTRIM{SUBSrRING(NO YES,{OBJECTPROPERTy{;d, TabieHasClustIndex;*3)+l,3))+

.Nor-clust. iax?;+RTR1M{SUBSTR!NG( NC YES,{OBJECTPROPERr/lid. TabeHasNonclustIndex)*3)+1.3))+

,I dent i ty :+RTRIM{SUBSTRING(NO YES.{OBJECTPROPERTY(id. TabieHasIdentity)*3)-l,3))

.RCivGUIDCOL?: <-RTRIM(SUBSTRING(NG YES . (OBJECTPROPERTYdd, TableHasRowGUIDCoDB/l.B))*

.Text col.?:+RTRIK;SUBSTRING;NO YES.(CBJECTPRCPERTY(id. TabieHasTextlmage)*3)+1.3;)+

.Tiniestainp?: +RTRIM(SUBSTRING(NO YES . (OBJECTPROPERTY( id. TableriasTimestamp)*3)+] .3)) +

.Pinned?: -RTRIM(SUBSTRING( NC YES, (OBJECTPROPERIYdd, TablelsPinned)*3)+1.3))) WHEN O.Type=User-defined Cata fype THEN

(SEL

.Allows NULLS?:+RTRIM(SUBSTRING(NC vES

I HEN

(TYPEPROPERTY(Gbject. AllowsNuir)*3)1.3)) + ISNULLC .Uses ANSI trim?:+RTRIM(SUBSTRING(NO YES (TYPEPROPERTY(Cbject.UsesANSIFr пл)*3)+l.3)). )j WHEN O.Type IN (Trigger.Stored Procedure,View) (SELECT .ANSI NULLS=+RTRI,M(SUBSTRING(OFFON , (OBJ ECTPROPERTY(i d.Exec IsAns i Nu11sOn)*3)11,3)i + .Startup=*RTRIM(SUBSTRING(FALSFTRUE . (OBJECTPROPERTYdd, ExecIsStartUp)*5)-fl.5)) + .QuotedIdent=+RTRIM(SUBSTRING!FALSETRUE ,(CBJECrPROPERIY;id. E xec I sQuoted I dentOn) *5) 1,5)) i END

,2.400G;

FROM (

SELECT Object-name. Type-CASE

WHEN OBJECIPROPERlYdd, WHEN OBJECTPROPERTYdd. WHEN OBJECTPROPERTYdd,

OBJECTPROPERTYdd.

OBJECTPROPERTYdd, WHEN OBJECTPROPERTYdd, WHEN OBJECTPROPERTYdd, WHEN OBJECTPROPERTYdd, WHEN OBJECTPROPERTYdd, ELSE Unknown END.

IsConstraint)-l IHEN Constrant IsOefduit)-! THEN Uefault Object IsProcedure)=I OR IsExtendedP,-oc)=l OR IsReplProc)=1 THEN Stored Procedure IsRule)-l THEN Rule Object IsTable)=l THEN Table IsTrigger)=1 THEN Trigger IsView)=l THEN View



FRUM sysoDjects

whERE name IK! Зос^йсггдт.е^ JMON Al L

SFIECT na;r,8. ULer-ce-ned Dsia Type,

typo.

FRO.M systypeb

WHERE (usertyce S 256)<>0

AND name LIKE +(?oojeclndiin:+

ORDER BV чгогссгру )

RE I URN 0 Help:

EXEC sp jsdge Pobjectname-spobject , Pdesc-Rotms detailed object ino. parameters [ioDjectname-name o mask of object(s) to listJF.OorderbyORDER 8/ clause for query].

@author=Keri Her;derson ,Pemail<hen(?kherrcom. (aversion / .(3revis1cn=0,

Adatecreated-19940629 .(Pdatelastchangea= 1999G701, (aexampie=sp object authors

RETURN -1

sp object authors (результаты сокращены)

Object Type SubType Owner System-Supplied Description

authors Table User dbc NO Full-text index?:NO,Primary

key?:/ES.Check en

sp cbject tir (результаты сокращены)

O&jec*,.

Type

SuDiype

Owner

Syster.

Suopliec Loscripnon

tit!

User-defined Data

lypG varchar(6)

AliOftS NU! LS?.NO,Lses ANSI .r

titieaainor

Ta&ie

user

Ijll-text irdex :.\C.Pr-,nary ic

titleauthor2

Table

User

Full-text index?:NO,Prinary к

tnles

Table

User

Full-text indax?:NO.Primary к

titlevew

User

ANSI NULLS=0FF,Siartup=FALS .

Эта процедура использует функщш работы с .мегадан1[ымн Transact-SQL для получения инфор.мацни об об1>екте, храни.мой в системных каталогах. Она допускает прн.мененнс шаблонов и выдает для каждого объекта н.мя, тип, подтип, владельца, происхождение, а также текстовое поле, содержащее дальнейшее опнсанне характеристики объекта.



1 ... 40 41 42 43 44 45 46 ... 55
© 2004-2024 AVTK.RU. Поддержка сайта: +7 495 7950139 в тональном режиме 271761
Копирование материалов разрешено при условии активной ссылки.
Яндекс.Метрика