Za pomocą typów zdefiniowanych przez użytkownika w różnych bazach danych
Można utworzyć typ zdefiniowany przez użytkownika jest lokalnym jednej bazy danych.Typ zdefiniowany przez użytkownika zdefiniowane w jednej bazie danych nie można używać w kolumna definicji innej bazy danych.Jednak jeśli ten sam typ zdefiniowany przez użytkownika jest zarejestrowany, można uzyskać w dwóch baz danych można konwertować wartości typu zdefiniowanego przez użytkownika z jednej bazy danych do użycia w innej bazie danych.Ta możliwość jest przydatna, należy wykonać następujące czynności:
Wywołanie procedura składowana, która jest zdefiniowana w innej bazie danych.
Kwerendy za pośrednictwem tabel, które są zdefiniowane w dwóch różnych baz danych.
Wybierz dane z bazy danych i wstawić go do innego.
Załóżmy, że u1 typ zdefiniowany przez użytkownika jest tworzony w Degresywna bazy danych i bazy danych db2.P2 procedura przechowywana jest tworzony tylko w bazie danych db2 i przyjmuje parametr typu u1.P2 proc z wystąpienie typu u1 można wywołać z Degresywna bazy danych.
USE db1
DECLARE @u u1
EXEC db2.dbo.p2 @u
GO
Inny przykład obejmuje wypełnianie tabela tymczasowa w tempdb z wyniki kwerendy.Typ zdefiniowany przez użytkownika musi być zarejestrowany w tempdb dla tej operacji było poprawne.
INSERT INTO #t SELECT * FROM T
Rejestrowanie typ zdefiniowany przez użytkownika w tempdb nie jest wymagane, kiedy używać typu zdefiniowanego przez użytkownika w zmiennej tabela lub gdy kursor używany typ zdefiniowany przez użytkownika worktable.
Typów zdefiniowanych przez użytkownika jest używać różnych bazach danych, należy pamiętać następujące czynności:
Typy muszą mieć taką samą nazwę, łącznie z samą nazwę CLR i musi być zaimplementowana za pośrednictwem tego samego wirtualny plik dziennika w obu baz danych.Zestawy w dwóch baz danych są identyczne, jeśli mają one tą samą nazwą silnej nazwy, kultury, wersja, zestaw uprawnień dostępu kodu i binarne treści.
Musisz mieć wybór i uprawnienia wykonywania na każdej kolumna typ zdefiniowany przez użytkownika w kwerendzie.Uprawnienia te są sprawdzane w odniesieniu do bazy danych, w którym zdefiniowano każdej kolumna.
Typ, który zaimplementowano w jednym zestawie wywołuje metoda w innym zestawie, połączenie krzyżowe wirtualny plik dziennika jest sprawdzany w taki sam sposób w jakby kwerendy typ zdefiniowany przez użytkownika zostały wydane bez przekraczania baz danych.
Zobacz także