Ändern einer Assembly
Gilt für:SQL Server
Assemblys, die in SQL Server registriert sind, können mithilfe der ALTER ASSEMBLY
-Anweisung von einer neueren Version aktualisiert werden. Verwenden Sie zum Aktualisieren einer Assembly die ALTER ASSEMBLY
-Anweisung mit der folgenden Syntax:
ALTER ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll';
ALTER ASSEMBLY
unterbricht derzeit ausgeführte Prozesse, die die Assembly verwenden, nicht; die Prozesse werden weiterhin mit der unveränderten Assembly ausgeführt.
ALTER ASSEMBLY
können nicht verwendet werden, um die Signaturen von ClR-Funktionen (Common Language Runtime), Aggregatfunktionen, gespeicherten Prozeduren und Triggern zu ändern. Sie können der Assembly neue öffentliche Methoden hinzufügen, private Methoden können beliebig geändert werden, und öffentliche Methoden können geändert werden, solange Signaturen oder Attribute nicht geändert werden. Felder, die in einem systemeigenen serialisierten benutzerdefinierten Typ enthalten sind, einschließlich Datenmember oder Basisklassen, können nicht mithilfe von ALTER ASSEMBLY
geändert werden. Alle anderen Änderungen werden nicht unterstützt. Weitere Informationen finden Sie unter ALTER ASSEMBLY.
Ändern des Berechtigungssatzes einer Assembly
Der Berechtigungssatz einer Assembly kann auch mithilfe der ALTER ASSEMBLY
-Anweisung geändert werden. Die folgende Anweisung ändert den Berechtigungssatz der SQLCLRTest
-Assembly in EXTERNAL_ACCESS
.
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
Wenn der Berechtigungssatz einer Assembly von SAFE
in EXTERNAL_ACCESS
oder UNSAFE
geändert wird, muss zunächst ein asymmetrischer Schlüssel und eine entsprechende Anmeldung mit EXTERNAL ACCESS ASSEMBLY
Berechtigung oder UNSAFE ASSEMBLY
Berechtigung für die Assembly erstellt werden. Weitere Informationen finden Sie unter Erstellen einer Assembly.
Hinzufügen des Quellcodes einer Assembly
Die ADD FILE
-Klausel in der ALTER ASSEMBLY
-Syntax ist in CREATE ASSEMBLY
nicht vorhanden. Sie können sie verwenden, um Quellcode oder beliebige andere Dateien hinzuzufügen, die einer Assembly zugeordnet sind. Die Dateien werden von ihren ursprünglichen Speicherorten kopiert und in Systemtabellen in der Datenbank gespeichert. Auf diese Weise verfügen Sie immer über Quellcode oder andere Dateien, wenn Sie die aktuelle Version des benutzerdefinierten Typs (UDT) neu erstellen oder dokumentieren müssen.
Die folgende Anweisung fügt den Point.cs
Klassenquellcode für das Point
UDT hinzu. Er kopiert den in der datei Point.cs
enthaltenen Text und speichert ihn in der Datenbank unter dem Namen PointSource
.
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;