Plik binarny zestawu jest przechowywany jako obiekt typu blob w bazie danych, więc jest przenoszony gdziekolwiek baza danych. CLR jest włączony tylko w instancji - nie ma dla tego ustawień specyficznych dla bazy danych.
W każdym razie, dlaczego próbujesz to zrobić?
(Nie próbuję się kłócić; chcę tylko usłyszeć związane z tym motywy, ponieważ być może problem można rozwiązać w inny sposób, odpowiadający twoim potrzebom).
Nie ma na to łatwego sposobu, poza umieszczeniem zestawu we wspólnej bazie danych.
To powiedziawszy, uważam, że korzystne jest zastosowanie architektury skoncentrowanej na bazach danych, chyba że istnieje szczególna sytuacja, która ma bardzo ważne powody do centralizacji. Powodem, dla którego umieszczenie zestawu (lub cokolwiek w tym zakresie) poza bazą danych jest zależność w twoim środowisku. Jest to dokładnie odwrotne podejście, do którego Microsoft dąży z zawartymi bazami danych, począwszy od SQL Server 2012.
Gdy zaczniesz korzystać z funkcji takich jak replikacja lub klastrowanie, ta zależność może potencjalnie zwiększyć złożoność wdrożenia, ale także rozwiązywanie problemów i procedury przełączania awaryjnego.
Architektura ta jest o wiele mniej oczywista dla osób niezaznajomionych z systemem (tzn. Jest mniej samodzielna do odkrycia, a mniej do samodzielnego dokumentowania).
Jeśli w końcu potrzebujesz różnych zabezpieczeń w różnych bazach danych lub czegoś, co wiąże się z odmiennością, jesteś w świecie bólu.
Jeśli te bazy danych zostaną wdrożone u klientów (brzmi, jakby ich nie było, ale powiem to dla kompletności), zwiększy to złożoność procedury wdrażania, konserwacji i rozwiązywania problemów.
Ponieważ wszystkie bazy danych współużytkują ten kod, jeśli zostaną wprowadzone (lub naprawione!) Błędy, może to potencjalnie uszkodzić wszystkie aplikacje, które korzystają z baz danych. Kompleksowe testy jednostkowe byłyby absolutną koniecznością.
Jeśli masz kilka baz danych, które wymagają tej samej funkcjonalności, istnieją inne sposoby zmniejszenia nakładania się duplikacji, co, jak zakładam, jest celem tego ćwiczenia. Nawet dość złożony zestaw CLR nie zajmie dużo fizycznej pamięci masowej w porównaniu do danych w samej bazie danych (prawie zawsze), więc nie uważam tego za prawidłowy argument, chyba że dosłownie masz tysiące małych baz danych, które tego potrzebują montaż.
Co możesz zrobić, to zmodyfikować inne części procedury wdrażania dla tych baz danych, aby zmniejszyć duplikację źródła. Na przykład kompiluj i wdrażaj zestaw ze wspólnej lokalizacji kodu CLR w kontroli źródła. Lub utwórz skrypt, który wdraża ten sam zestaw do baz danych. Zautomatyzuj tę część rzeczy tak bardzo, jak to możliwe, a to nie będzie wielka sprawa.
Zgadzam się, że to, co sugeruję, jest kompromisem, ponieważ nadal będzie pewne powielanie, ale musi to być zrównoważone z negatywnymi aspektami związanymi z wdrażaniem architektury, która nie jest zgodna z zalecanym standardem. Tylko Ty możesz zdecydować, co jest odpowiednie dla twojego środowiska.