I stedet for at kigge i sys.objects
for disse bør du kigge i sys.types
eller sys.table_types
(hvilket desuden afslører type_table_object_id
).
SELECT name,
schema_id /*Will be the "test" schema id*/
FROM sys.types
WHERE is_table_type = 1
AND name = 'MyUserTableType'
Når du opretter en brugerdefineret type, tilføjer den en række til sys.sysscalartypes
med det brugerleverede skema og navn og en række til sys.sysschobjs
med et systemgenereret navn i sys
skema. Det systemgenererede navn oprettes ved at sammenkæde TT_
+ FriendlyName + _
+ Hex version af objekt-id.
De to entiteter er relateret sammen via sys.syssingleobjrefs
/*This query only works via the DAC*/
SELECT so.id AS object_id,
st.id AS user_type_id,
*
FROM sys.sysschobjs so
JOIN sys.syssingleobjrefs sor
ON sor.indepid = so.id
JOIN sys.sysscalartypes st
ON st.id = sor.depid
WHERE st.name = 'MyUserTableType'