Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Applies to:SQL Server
A felügyelt kód fordítása és üzembe helyezése közös nyelvi futtatókörnyezet (CLR) szerelvénynek nevezett egységekben történik. A szerelvény DLL-fájlként vagy végrehajtható (.exe) fájlként van csomagolva. Bár a végrehajtható fájlok önállóan is futtathatók, a DLL-t egy meglévő alkalmazásban kell üzemeltetni. A felügyelt DLL-szerelvények az SQL Serverbe tölthetők be és üzemeltethetők. Az SQL Server megköveteli, hogy regisztrálja a szerelvényt egy adatbázisban a CREATE ASSEMBLY utasítással, mielőtt betölthető lenne a folyamatba, és felhasználható lenne. A szerelvények a ALTER ASSEMBLY utasítással frissíthetők egy újabb verzióról, vagy eltávolíthatók az SQL Serverről a DROP ASSEMBLY utasítással.
A rendszer a szerelvény adatait abban az adatbázisban tárolja, amelyben a szerelvény telepítve van, a sys.assembly_files táblában. A sys.assembly_files táblázat a következő oszlopokat tartalmazza.
| Column | Description |
|---|---|
assembly_id |
A szerelvényhez definiált azonosító. Ez a szám az ugyanahhoz a szerelvényhez kapcsolódó összes objektumhoz van hozzárendelve. |
name |
Az objektum neve. |
file_id |
Az egyes objektumokat azonosító szám, amelynek első objektuma egy adott assembly_id 1 értéket kap. Ha több objektum van társítva ugyanahhoz a assembly_id, akkor minden további file_id érték 1-zel növekszik. |
content |
A szerelvény vagy fájl hexadecimális ábrázolása. |
Ebben a szakaszban
| Article | Description |
|---|---|
| szerelvény létrehozása | A SAFE, EXTERNAL_ACCESSés UNSAFE CLR-szerelvények SQL Serveren való létrehozását ismerteti |
| szerelvény módosítása | A CLR-szerelvények frissítését ismerteti az SQL Serveren |
| Szerelvény elvetése | A CLR-szerelvények SQL Serverről való elvetése |
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. For more information, see sys.sp_add_trusted_assembly.