Een assembly wijzigen
van toepassing op:SQL Server-
Assembly's die zijn geregistreerd in SQL Server, kunnen worden bijgewerkt vanuit een recentere versie met behulp van de ALTER ASSEMBLY
-instructie. Als u een assembly wilt bijwerken, gebruikt u de instructie ALTER ASSEMBLY
met de volgende syntaxis:
ALTER ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll';
ALTER ASSEMBLY
verstoort momenteel actieve processen die gebruikmaken van de assembly niet; de processen blijven uitvoeren met de ongewijzigde assembly.
ALTER ASSEMBLY
kan niet worden gebruikt om de handtekeningen van CLR-functies (Common Language Runtime), statistische functies, opgeslagen procedures en triggers te wijzigen. U kunt nieuwe openbare methoden toevoegen aan de assembly, persoonlijke methoden kunnen op elke manier worden gewijzigd en openbare methoden kunnen worden gewijzigd zolang handtekeningen of kenmerken niet worden gewijzigd. Velden die zijn opgenomen in een systeemeigen, door de gebruiker gedefinieerd type, inclusief gegevensleden of basisklassen, kunnen niet worden gewijzigd met behulp van ALTER ASSEMBLY
. Alle andere wijzigingen worden niet ondersteund. Zie ALTER ASSEMBLY-voor meer informatie.
De machtigingenset van een assembly wijzigen
De machtigingenset van een assembly kan ook worden gewijzigd met behulp van de ALTER ASSEMBLY
-instructie. Met de volgende instructie wordt de machtigingenset van de SQLCLRTest
assembly gewijzigd in EXTERNAL_ACCESS
.
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
Als de machtigingenset van een assembly wordt gewijzigd van SAFE
in EXTERNAL_ACCESS
of UNSAFE
, moet eerst een asymmetrische sleutel en de bijbehorende aanmelding met EXTERNAL ACCESS ASSEMBLY
machtiging of UNSAFE ASSEMBLY
machtiging voor de assembly worden gemaakt. Zie Een assembly makenvoor meer informatie.
De broncode van een assembly toevoegen
De ADD FILE
component in de ALTER ASSEMBLY
syntaxis is niet aanwezig in CREATE ASSEMBLY
. U kunt deze gebruiken om broncode of andere bestanden toe te voegen die zijn gekoppeld aan een assembly. De bestanden worden gekopieerd van hun oorspronkelijke locaties en opgeslagen in systeemtabellen in de database. Op deze manier hebt u altijd broncode of andere bestanden die u nodig hebt om de huidige versie van het door de gebruiker gedefinieerde type (UDT) opnieuw te maken of te documenteren.
Met de volgende instructie wordt de broncode van de Point.cs
klasse voor de Point
UDT toegevoegd. De tekst in het Point.cs
bestand wordt gekopieerd en opgeslagen in de database onder de naam PointSource
.
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;