Freigeben über


Ändern einer Baugruppe

Assemblys, die in SQL Server registriert wurden, 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 stört derzeit ausgeführte Prozesse, die die Assembly verwenden; die Prozesse werden weiterhin mit der unveränderten Assembly ausgeführt. ALTER ASSEMBLY kann nicht verwendet werden, um die Signaturen von Common Language Runtime(CLR)-Funktionen, Aggregatfunktionen, gespeicherten Prozeduren und Triggern zu ändern. Neue öffentliche Methoden können der Assembly hinzugefügt werden, 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 (Transact-SQL).

Ä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 UNSAFEgeä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. Dadurch wird sichergestellt, dass stets der Quellcode oder andere Dateien verfügbar sind, wenn Sie die aktuelle Version des UDT neu erstellen oder dokumentieren müssen.

Die folgende Anweisung fügt den Point.cs Klassenquellcode für point UDT hinzu. Dadurch wird der in der Point.cs Datei enthaltene Text kopiert und in der Datenbank unter dem Namen "PointSource" gespeichert.

ALTER ASSEMBLY Point

ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource

Siehe auch

Verwalten von CLR-Integrationsassemblys
Erstellen einer Assembly
Ablegen einer Assembly
ALTER ASSEMBLY (Transact-SQL)