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 + _
+オブジェクトIDの16進バージョン。
2つのエンティティは、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'