Místo hledání v sys.objects
tyto byste měli hledat v sys.types
nebo sys.table_types
(což navíc odhaluje 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'
Když vytvoříte uživatelsky definovaný typ, přidá se řádek do sys.sysscalartypes
s uživatelem zadaným schématem a názvem a řádkem sys.sysschobjs
se systémem vygenerovaným jménem v sys
schéma. Systémem generovaný název je vytvořen zřetězením TT_
+ FriendlyName + _
+ Hexadecimální verze ID objektu.
Tyto dvě entity spolu souvisí prostřednictvím 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'