Zmienianie zestawu
Dotyczy:programu SQL Server
Zestawy zarejestrowane w programie SQL Server można zaktualizować z nowszej wersji przy użyciu instrukcji ALTER ASSEMBLY
. Aby zaktualizować zestaw, użyj instrukcji ALTER ASSEMBLY
z następującą składnią:
ALTER ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll';
ALTER ASSEMBLY
nie zakłóca obecnie uruchomionych procesów korzystających z zestawu; procesy kontynuują wykonywanie przy użyciu niezrażonego zestawu.
ALTER ASSEMBLY
nie można użyć do zmiany sygnatur funkcji środowiska uruchomieniowego języka wspólnego (CLR), funkcji agregujących, procedur składowanych i wyzwalaczy. Do zestawu można dodawać nowe metody publiczne, metody prywatne można modyfikować w dowolny sposób, a metody publiczne można modyfikować, o ile podpisy lub atrybuty nie zostaną zmienione. Nie można zmienić pól zawartych w typie zdefiniowanym przez użytkownika natywnie serializowanym, w tym elementami członkowskimi danych lub klasami podstawowymi, przy użyciu ALTER ASSEMBLY
. Wszystkie inne zmiany nie są obsługiwane. Aby uzyskać więcej informacji, zobacz ALTER ASSEMBLY.
Zmienianie zestawu uprawnień
Zestaw uprawnień zestawu można również zmienić przy użyciu instrukcji ALTER ASSEMBLY
. Poniższa instrukcja zmienia zestaw uprawnień zestawu SQLCLRTest
na EXTERNAL_ACCESS
.
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
Jeśli zestaw uprawnień zestawu jest zmieniany z SAFE
na EXTERNAL_ACCESS
lub UNSAFE
, należy najpierw utworzyć klucz asymetryczny i odpowiadający mu identyfikator logowania z uprawnieniami EXTERNAL ACCESS ASSEMBLY
lub UNSAFE ASSEMBLY
dla zestawu. Aby uzyskać więcej informacji, zobacz Tworzenie zestawu.
Dodawanie kodu źródłowego zestawu
Klauzula ADD FILE
w składni ALTER ASSEMBLY
nie jest obecna w CREATE ASSEMBLY
. Można go użyć do dodawania kodu źródłowego lub innych plików skojarzonych z zestawem. Pliki są kopiowane z oryginalnych lokalizacji i przechowywane w tabelach systemowych w bazie danych. W ten sposób zawsze masz kod źródłowy lub inne pliki, jeśli kiedykolwiek musisz utworzyć ponownie lub udokumentować bieżącą wersję typu zdefiniowanego przez użytkownika (UDT).
Poniższa instrukcja dodaje kod źródłowy klasy Point.cs
dla Point
UDT. Kopiuje tekst zawarty w pliku Point.cs
i zapisuje go w bazie danych pod nazwą PointSource
.
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;