Вместо да търсите в sys.objects
за тях трябва да търсите в sys.types
или sys.table_types
(което допълнително разкрива 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'
Когато създадете дефиниран от потребителя тип, той добавя ред към sys.sysscalartypes
с предоставена от потребителя схема и име и ред към sys.sysschobjs
с генерирано от системата име в sys
схема. Генерираното от системата име се създава чрез свързване на TT_
+ FriendlyName + _
+ Шестнадесетична версия на идентификатора на обекта.
Двата обекта са свързани заедно чрез 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'