SQL Server tworzy typy tabel zdefiniowane przez użytkownika, a schemat nie działa poprawnie
Tworzę typy tabel zdefiniowane przez użytkownika na SQL Server 2008R2 / 2012 z tą instrukcją:
CREATE TYPE [MySchemaName].[MyUserTableType]
As Table ( [Id] varchar(20) NOT NULL );
To działa zgodnie z przeznaczeniem.
Dostałem również procedurę przechowywaną, która usuwa wszystkie powiązane obiekty z danym schematem. To tutaj moje typy tabel zdefiniowane przez użytkownika nie działają poprawnie. Oczekuję, że te typy zostaną utworzone ze skojarzonym schematem.
Jeśli spróbuję usunąć schemat, narzeka, że schemat jest powiązany z moim typem tabeli zdefiniowanym przez użytkownika. Dlatego nie zostanie usunięty.
Ale jeśli zapytam wszystkie obiekty w moim DB, które są TYPE_TABLE, mówi mi, że moje typy tabel nie należą do mojego schematu. Należą do schematu „sys”
SELECT name, schema_id, type_desc
FROM [TESTDB].SYS.OBJECTS
WHERE type_desc = 'TYPE_TABLE';
SELECT * FROM sys.schemas;
Jakiś pomysł dlaczego?
Oto zrzut ekranu z mojego wyjścia