Dela via


Introduktion till SQL Server CLR-integrering

CLR (Common Language Runtime) är kärnan i .NET Framework och tillhandahåller körningsmiljön för all .NET Framework-kod. Kod som körs inom CLR kallas för hanterad kod. CLR tillhandahåller olika funktioner och tjänster som krävs för programkörning, inklusive jit-kompilering (just-in-time), allokering och hantering av minne, framtvingande av typsäkerhet, undantagshantering, trådhantering och säkerhet.

Med DEN CLR som finns i Microsoft SQL Server (kallas CLR-integrering) kan du skapa lagrade procedurer, utlösare, användardefinierade funktioner, användardefinierade typer och användardefinierade aggregeringar i hanterad kod. Eftersom hanterad kod kompileras till intern kod före körning kan du uppnå betydande prestandaökningar i vissa scenarier.

Hanterad kod som körs på .NET Framework använder Code Access Security (CAS), kodlänkar och programdomäner för att förhindra att sammansättningar utför vissa åtgärder. SQL Server använder CAS för att skydda den hanterade koden och förhindra att operativsystemet eller databasservern komprometteras.

Kommentar

Code Access Security (CAS) har föråldrats i alla versioner av .NET Framework och .NET. De senaste versionerna av .NET följer inte CAS-anteckningar och skapar fel om CAS-relaterade API:er används. Utvecklare bör söka alternativa sätt att utföra säkerhetsuppgifter.

Det här avsnittet är avsett att endast ge tillräckligt med information för att komma igång med programmering med SQL Server CLR-integrering och är inte avsett att vara omfattande. Mer detaljerad information finns i Översikt över CLR-integrering (Common Language Runtime).

Aktivera CLR-integrering

Integreringsfunktionen för common language runtime (CLR) är inaktiverad som standard i Microsoft SQL Server och måste vara aktiverad för att kunna använda objekt som implementeras med CLR-integrering. Om du vill aktivera CLR-integrering med Transact-SQL använder du clr enabled alternativet för den sp_configure lagrade proceduren enligt följande:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Du kan inaktivera CLR-integrering genom att ange clr enabled alternativet till 0. När du inaktiverar CLR-integrering slutar SQL Server att köra alla CLR-rutiner och tar bort alla programdomäner.

Mer detaljerad information finns i Aktivera CLR-integrering.

Distribuera en CLR-sammansättning

När CLR-metoderna har testats och verifierats på testservern kan de distribueras till produktionsservrar med hjälp av ett distributionsskript. Distributionsskriptet kan genereras manuellt eller med hjälp av SQL Server Management Studio. Mer detaljerad information finns i versionen av SQL Server-dokumentationen för den version av SQL Server som du använder.

Dokumentation om SQL Server

  1. Distribuera CLR-databasobjekt

CLR-integreringssäkerhet

Säkerhetsmodellen för Microsoft SQL Server-integreringen med Microsoft .NET Framework common language runtime (CLR) hanterar och skyddar åtkomsten mellan olika typer av CLR- och icke-CLR-objekt som körs i SQL Server. Dessa objekt kan anropas av en Transact-SQL-instruktion eller ett annat CLR-objekt som körs på servern.

Mer detaljerad information finns i CLR Integration Security.

Felsöka en CLR-sammansättning

Microsoft SQL Server har stöd för felsökning av Transact-SQL- och CLR-objekt (Common Language Runtime) i databasen. Felsökning fungerar mellan olika språk: användare kan sömlöst gå in i CLR-objekt från Transact-SQL och vice versa.

Mer detaljerad information finns i Felsöka CLR-databasobjekt.

Se även