Thay vì tìm trong sys.objects
đối với những thứ này, bạn nên xem trong sys.types
hoặc sys.table_types
(điều này cũng làm lộ ra 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'
Khi bạn tạo một kiểu do người dùng xác định, nó sẽ thêm một hàng vào sys.sysscalartypes
với lược đồ và tên do người dùng cung cấp và một hàng tới sys.sysschobjs
với tên do hệ thống tạo trong sys
lược đồ. Tên do hệ thống tạo được tạo bằng cách ghép TT_
+ FriendlyName + _
+ Phiên bản hex của id đối tượng.
Hai thực thể có liên quan với nhau qua 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'