SQL Server создает пользовательские типы таблиц со схемой, которая не работает должным образом
m создание пользовательских типов таблиц в 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;
Есть идеи почему?
Вот скриншот из моего вывода