Megosztás a következőn keresztül:


Kiszolgálókonfiguráció: a clr engedélyezve van

A következőkre vonatkozik:SQL Server

Ezzel a beállítással megadhatja, hogy az clr enabled SQL Server futtathat-e felhasználói szerelvényeket. A clr enabled beállítás a következő értékeket adja meg:

Érték Description
0 A szerelvény végrehajtása nem engedélyezett az SQL Serveren.
1 Az SQL Serveren engedélyezett szerelvény-végrehajtás.

Csak WOW64 esetén: indítsa újra a WOW64-kiszolgálókat a módosítások alkalmazásához. Más kiszolgálótípusok esetében nincs szükség újraindításra.

A futtatáskor RECONFIGUREés a beállítás futtatási értékének clr enabled módosításakor 10a rendszer azonnal eltávolítja a felhasználói szerelvényeket tartalmazó összes alkalmazástartományt.

Korlátozások

A közös nyelvi futtatókörnyezet (CLR) végrehajtása nem támogatott egyszerűsített készletezés esetén

Tiltsa le a két lehetőség egyikét: clr enabled vagy lightweight pooling. A CLR-ra támaszkodó és száloptikás módban nem megfelelően működő funkciók közé tartozik a hierarchiaazonosító adattípus, a függvény, a replikáció és a FORMAT házirendalapú felügyelet. További információ: Kiszolgálókonfiguráció: egyszerűsített készletezés.

Bár a clr enabled konfigurációs lehetőség engedélyezve van az Azure SQL Database-ben, a CLR felhasználói függvények fejlesztése nem támogatott az Azure SQL Database-ben.

A kódhozzáférés biztonsága már nem támogatott

A CLR a .NET-keretrendszerben a Code Access Securityt (CAS) használja, amely már nem támogatott biztonsági határként. Előfordulhat, hogy egy PERMISSION_SET = SAFE létrehozott CLR-szerelvény hozzáférhet külső rendszererőforrásokhoz, meghívhatja a nem felügyelt kódot, és sysadmin-jogosultságokat szerezhet be. Az SQL Server 2017 (14.x) és újabb verzióiban a sp_configure lehetőség, clr szigorú biztonsági, növeli a CLR-szerelvények biztonságát. A clr strict security alapértelmezés szerint engedélyezve van, és úgy kezeli a SAFE és EXTERNAL_ACCESS szerelvényeket, mintha UNSAFEjelölték volna őket. A clr strict security lehetőség letiltható a visszamenőleges kompatibilitás érdekében, de nem ajánlott.

Javasoljuk, hogy az összes összetevőt egy tanúsítvánnyal vagy aszimmetrikus kulccsal írja alá, amelyhez tartozik egy megfelelő jogosultsággal rendelkező bejelentkezés, amely UNSAFE ASSEMBLY engedélyt kapott az master adatbázisban. Az SQL Server rendszergazdái könyvtárakat is hozzáadhatnak egy listához, amelyekben az adatbázismotornak meg kell bíznia. További információ: sys.sp_add_trusted_assembly.

Példák

Az alábbi példa először a beállítás aktuális beállítását clr enabled jeleníti meg, majd a beállítás értékét 1 értékre állítja. A beállítás letiltásához állítsa az értéket 0 értékre.

EXECUTE sp_configure 'clr enabled';
EXECUTE sp_configure 'clr enabled', '1';
RECONFIGURE;