Я создаю пользовательские типы таблиц на SQL Server 2008R2/2012 с этим утверждением:
CREATE TYPE [MySchemaName].[MyUserTableType]
As Table ( [Id] varchar(20) NOT NULL );
Это работает по назначению.
Я также получил хранимую процедуру, которая удаляет весь связанный объект с данной схемой. Здесь мои пользовательские типы таблиц работают неправильно. Я ожидаю что эти типы создаются с помощью связанной схемы.
Если я попытаюсь удалить схему, она будет жаловаться, что схема связана с моим Пользовательским типом таблицы. Следовательно, он не будет удален.
Но если я запрашиваю все объекты в моей базе данных, которые являются TYPE_TABLE, он говорит мне, что мои типы таблиц не принадлежат моей схеме. Они принадлежат к схеме sys
SELECT name, schema_id, type_desc
FROM [TESTDB].SYS.OBJECTS
WHERE type_desc = 'TYPE_TABLE';
SELECT * FROM sys.schemas;
Любая идея, почему?
Вот скриншот из моего вывода