Bevezetés az SQL Server CLR-integrációjába

A közös nyelvi futtatókörnyezet (CLR) a .NET-keretrendszer központja, és az összes .NET-keretrendszer-kód végrehajtási környezetét biztosítja. A CLR-ben futó kódot felügyelt kódnak nevezzük. A CLR különböző funkciókat és szolgáltatásokat biztosít a program végrehajtásához, beleértve az igény szerinti (JIT) fordítást, a memória kiosztását és kezelését, a típusbiztonság kényszerítését, a kivételkezelést, a szálkezelést és a biztonságot.

A Microsoft SQL Serverben üzemeltetett CLR -vel (az úgynevezett CLR-integrációval) tárolt eljárásokat, eseményindítókat, felhasználó által definiált függvényeket, felhasználó által definiált típusokat és felhasználó által definiált összesítéseket készíthet felügyelt kódban. Mivel a felügyelt kód a végrehajtás előtt natív kódra fordít, bizonyos esetekben jelentős teljesítménynövekedés érhető el.

A .NET-keretrendszeren futó felügyelt kód a Code Access Security (CAS), a kódkapcsolatok és az alkalmazástartományok használatával megakadályozza, hogy az összeállítások bizonyos műveleteket hajtsanak végre. Az SQL Server CAS használatával védi a felügyelt kódot, és megakadályozza az operációs rendszer vagy adatbázis-kiszolgáló sérülését.

Megjegyzés:

A Code Access Security (CAS) elavult a .NET-keretrendszer és a .NET összes verziójában. A .NET legújabb verziói nem tartják tiszteletben a CAS-megjegyzéseket, és cas-okkal kapcsolatos API-k használata esetén hibákat okoznak. A fejlesztőknek alternatív módot kell keresnie a biztonsági feladatok elvégzésére.

Ez a szakasz csak annyi információt tartalmaz, hogy elkezdhesse a programozást az SQL Server CLR-integrációval, és nem célja, hogy átfogó legyen. További információt a Common Language Runtime (CLR) integrációs áttekintésében talál.

A CLR-integráció engedélyezése

A közös nyelvi futtatókörnyezet (CLR) integrációs funkciója alapértelmezés szerint ki van kapcsolva a Microsoft SQL Serverben, és engedélyezni kell a CLR-integrációval implementált objektumok használatához. Ha engedélyezni szeretné a CLR-integrációt a Transact-SQL használatával, használja a clr enabled lehetőségét a sp_configure tárolt eljárással az alábbiak szerint:

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

A CLR-integráció letiltásához állítsa a clr enabled beállítást 0-ra. A CLR-integráció letiltásakor az SQL Server leállítja az összes CLR-rutin végrehajtását, és eltávolítja az összes alkalmazástartományt.

További információ: A CLR-integráció engedélyezése.

CLR-szerelvény üzembe helyezése

Miután a CLR-metódusokat tesztelték és ellenőrizték a tesztkiszolgálón, üzembehelyezési szkripttel terjeszthetők az éles kiszolgálókra. Az üzembehelyezési szkript manuálisan vagy az SQL Server Management Studióval hozható létre. További információkért tekintse meg az SQL Server dokumentációjának a használt SQL Server-verzióra vonatkozó verzióját.

Az SQL Server dokumentációja

  1. CLR-adatbázisobjektumok üzembe helyezése

A CLR integráció biztonsága

A Microsoft SQL Server és a Microsoft .NET Framework közös nyelvi futtatókörnyezettel (CLR) való integrációjának biztonsági modellje kezeli és biztosítja a hozzáférést az SQL Serveren futó különböző TÍPUSÚ CLR- és nem CLR-objektumok között. Ezeket az objektumokat meghívhatja egy Transact-SQL utasítás vagy egy másik, a kiszolgálón futó CLR-objektum.

További információ: CLR Integration Security.

CLR-szerelvény hibakeresése

A Microsoft SQL Server támogatja Transact-SQL és a közös nyelvi futtatókörnyezeti (CLR) objektumok hibakeresését az adatbázisban. A hibakeresés több nyelven működik: a felhasználók zökkenőmentesen léphetnek be CLR-objektumokba a Transact-SQL-ből, és fordítva.

További információ: CLR-adatbázisobjektumok hibakeresése.

Lásd még