| "Soren Staun Jorgensen" <ssj(at)cadeye(dot)dk> wrote in message
 news:3d2aa070$0$396$ba624c82@nntp01.dk.telia.net...
 > Men jeg var egentlig ude efter hvorfor "dtproperties"
 > optræder i view'et som en system-tabel når den i "sysobjects"
 > står listed som user.
 
 Prøv at slå Profileren til før du beder EM om at liste tabellerne, så vil du
 finde ud af at Enterprise Manager ikke bruger type til at finde ud af
 hvorvidt det er en systemtabel eller ej den benytter. Der benyttes istedet
 funktionen OBJECTPROPERTY( idpåobject, IsMSShipped) som angiver hvor vidt
 objektet er oprettet under "installationen"(eller i dette tilfælde
 oprettelsen af objektet).
 
 Hvis du er mere interreseret er hele Queryen her:
 
 SELECT
 s1 = o.name,
 s2 = user_name(o.uid),
 o.crdate,
 o.id,
 N'SystemObj' = (case when (OBJECTPROPERTY(o.id, N'IsMSShipped')=1) then
 1 else OBJECTPROPERTY(o.id, N'IsSystemTable') end),
 o.category,
 0,
 ObjectProperty(o.id, N'TableHasActiveFulltextIndex'),
 ObjectProperty(o.id, N'TableFulltextCatalogId'),
 N'FakeTable' = (case when (OBJECTPROPERTY(o.id, N'tableisfake')=1) then
 1 else 0 end),
 (case when (OBJECTPROPERTY(o.id, N'IsQuotedIdentOn')=1) then 1 else 0
 end),
 (case when (OBJECTPROPERTY(o.id, N'IsAnsiNullsOn')=1) then 1 else 0 end)
 FROM
 dbo.sysobjects o,
 dbo.sysindexes i
 WHERE
 OBJECTPROPERTY(o.id, N'IsTable') = 1
 AND
 i.id = o.id
 AND
 i.indid < 2
 AND
 o.name not like N'#%'
 ORDER BY
 s1,
 s2
 
 --
 Jakob Andersen
 
 
 
 
 |