Inleiding tot SQL Server CLR-integratie
De Common Language Runtime (CLR) is het hart van .NET Framework en biedt de uitvoeringsomgeving voor alle .NET Framework-code. Code die in de CLR wordt uitgevoerd, wordt beheerde code genoemd. De CLR biedt verschillende functies en services die nodig zijn voor het uitvoeren van programma's, waaronder JIT-compilatie (Just-In-Time), toewijzen en beheren van geheugen, afdwingen van typeveiligheid, uitzonderingsafhandeling, threadbeheer en beveiliging.
Met de CLR die wordt gehost in Microsoft SQL Server (CLR-integratie), kunt u opgeslagen procedures, triggers, door de gebruiker gedefinieerde functies, door de gebruiker gedefinieerde typen en door de gebruiker gedefinieerde aggregaties in beheerde code ontwerpen. Omdat beheerde code wordt gecompileerd naar systeemeigen code voorafgaand aan de uitvoering, kunt u in sommige scenario's aanzienlijke prestatieverbeteringen bereiken.
Beheerde code die wordt uitgevoerd op .NET Framework maakt gebruik van CAS (Code Access Security), codekoppelingen en toepassingsdomeinen om te voorkomen dat assembly's bepaalde bewerkingen uitvoeren. SQL Server maakt gebruik van CAS om de beheerde code te beveiligen en inbreuk op het besturingssysteem of de databaseserver te voorkomen.
Notitie
Cas (Code Access Security) is afgeschaft in alle versies van .NET Framework en .NET. Recente versies van .NET respecteren geen CAS-aantekeningen en produceren fouten als CAS-gerelateerde API's worden gebruikt. Ontwikkelaars moeten alternatieve manieren zoeken om beveiligingstaken uit te voeren.
Deze sectie is bedoeld om slechts voldoende informatie te bieden om aan de slag te gaan met programmeren met SQL Server CLR-integratie en is niet bedoeld om uitgebreid te zijn. Zie Overzicht van De integratie van Common Language Runtime (CLR) voor meer informatie.
CLR-integratie inschakelen
De clr-integratiefunctie (Common Language Runtime) is standaard uitgeschakeld in Microsoft SQL Server en moet zijn ingeschakeld om objecten te kunnen gebruiken die zijn geïmplementeerd met behulp van CLR-integratie. Als u CLR-integratie wilt inschakelen met Behulp van Transact-SQL, gebruikt u de clr enabled
optie van de sp_configure
opgeslagen procedure, zoals wordt weergegeven:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
U kunt CLR-integratie uitschakelen door de clr enabled
optie in te stellen op 0. Wanneer u CLR-integratie uitschakelt, stopt SQL Server met het uitvoeren van alle CLR-routines en worden alle toepassingsdomeinen verwijderd.
Zie Clr-integratie inschakelen voor meer informatie.
Een CLR-assembly implementeren
Zodra de CLR-methoden zijn getest en geverifieerd op de testserver, kunnen ze worden gedistribueerd naar productieservers met behulp van een implementatiescript. Het implementatiescript kan handmatig worden gegenereerd of met behulp van SQL Server Management Studio. Zie de versie van SQL Server-documentatie voor de versie van SQL Server die u gebruikt voor meer informatie.
Documentatie over SQL Server
CLR Integration Security
Het beveiligingsmodel van de Microsoft SQL Server-integratie met de Common Language Runtime (CLR) van Microsoft .NET Framework beheert en beveiligt de toegang tussen verschillende typen CLR- en niet-CLR-objecten die worden uitgevoerd in SQL Server. Deze objecten kunnen worden aangeroepen door een Transact-SQL-instructie of een ander CLR-object dat op de server wordt uitgevoerd.
Zie CLR Integration Security voor meer informatie.
Fouten opsporen in een CLR-assembly
Microsoft SQL Server biedt ondersteuning voor het opsporen van fouten in Transact-SQL en CLR-objecten (Common Language Runtime) in de database. Foutopsporing werkt in verschillende talen: gebruikers kunnen naadloos overstappen op CLR-objecten vanuit Transact-SQL en omgekeerd.
Zie Debugging CLR-databaseobjecten voor meer informatie.