Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Ez a cikk a következő területekről nyújt tájékoztatást, amelyek segítenek az adatbázisokban található szerelvények implementálásához és használatához:
- Szerelvények létrehozása
- Szerelvények módosítása
- Szerelvények elvetése, letiltása és engedélyezése
- Szerelvényverziók kezelése
Szerelvények létrehozása
Az összeállítások az SQL Serverben a Transact-SQL CREATE ASSEMBLY utasítással, vagy az SQL Server Management Studióban, a szerelvény által támogatott szerkesztővel hozhatók létre. Emellett az SQL Server-projekt Visual Studióban való üzembe helyezése regisztrál egy szerelvényt a projekthez megadott adatbázisban. További információ: CLR-adatbázisobjektumok üzembe helyezése.
- A Transact-SQL:CREATE ASSEMBLY (Transact-SQL)
- Az SQL Server Management Studióval: szerelvény tulajdonságai
Szerelvények módosítása
A szerelvények az SQL Serverben a Transact-SQL ALTER ASSEMBLY utasítással vagy az SQL Server Management Studióban a szerelvény által támogatott szerkesztővel módosíthatók.
- A Transact-SQL:ALTER ASSEMBLY (Transact-SQL)
- Az SQL Server Management Studióval: szerelvény tulajdonságai
Ha a következő műveleteket szeretné végrehajtani, módosíthatja a szerelvényt:
Módosítsa a szerelvény megvalósítását a szerelvény bináris fájljainak újabb verziójának feltöltésével. További információ: A szerelvényverziók kezelése a cikk későbbi részében.
Módosítsa a szerelvény engedélykészletét. További információ: Tervezési szerelvények.
Módosítsa a szerelvény láthatóságát. A látható szerelvények az SQL Serveren való hivatkozáshoz érhetők el. A nem megtekinthető szerelvények akkor sem érhetők el, ha az adatbázisba vannak feltöltve. Alapértelmezés szerint az SQL Server egy példányára feltöltött szerelvények láthatók.
A szerelvényhez társított hibakeresési vagy forrásfájl hozzáadása vagy elvetése.
Szerelvények elvetése, letiltása és engedélyezése
A rendszer elveti a szerelvényeket a Transact-SQL DROP ASSEMBLY utasítás vagy az SQL Server Management Studio használatával.
- A Transact-SQL:DROP ASSEMBLY (Transact-SQL)
- Az SQL Server Management Studióval: Objektumok törlése
Alapértelmezés szerint az SQL Serverben létrehozott összes szerelvény le van tiltva a végrehajtásból. A clr enabled rendszer által tárolt eljárás sp_configure beállításával letilthatja vagy engedélyezheti az SQL Serverbe feltöltött összes szerelvények végrehajtását. A szerelvény végrehajtásának letiltása megakadályozza a közös nyelvi futtatókörnyezeti függvények, a tárolt eljárások, az eseményindítók, az összesítések és a felhasználó által definiált típusok végrehajtását, és leállítja a jelenleg futtatott összesítést. Az szerelvény végrehajtásának letiltása nem tiltja le a szerelvények létrehozásának, módosításának vagy elvetésének lehetőségét. További információ: kiszolgálókonfiguráció: a clr engedélyezve van.
További információ: sp_configure.
Szerelvényverziók kezelése
Amikor egy szerelvényt feltölt egy SQL Server-példányba, a rendszer az adatbázisrendszer-katalógusokban tárolja és kezeli a szerelvényt. A .NET-keretrendszerben a szerelvény definíciójában végrehajtott módosításokat az adatbáziskatalógusban tárolt szerelvényre kell propagálja.
Ha módosítania kell egy szerelvényt, ki kell adnia egy ALTER ASSEMBLY utasítást az adatbázis szerelvényének frissítéséhez. Ez az utasítás frissíti a szerelvényt az implementációt tartalmazó .NET-keretrendszermodulok legújabb példányára.
A WITH UNCHECKED DATA utasítás ALTER ASSEMBLY záradéka arra utasítja az SQL Servert, hogy frissítse azokat a szerelvényeket is, amelyektől az adatbázisban tárolt adatok függnek. Pontosabban meg kell adnia WITH UNCHECKED DATA, ha az alábbiak bármelyike létezik:
A szerelvény metódusait közvetlenül vagy közvetve Transact-SQL függvényeken vagy metódusokon keresztül hivatkozó, megőrzött számított oszlopok.
A szerelvénytől függő, felhasználó által definiált CLR-típus oszlopai, és a típus egy
UserDefined(nemNative) szerializációs formátumot implementál.
Figyelmeztet
Ha nincs megadva WITH UNCHECKED DATA, az SQL Server megpróbálja megakadályozni a ALTER ASSEMBLY végrehajtását, ha az új szerelvényverzió hatással van a táblák, indexek vagy egyéb állandó helyek meglévő adataira. Az SQL Server azonban nem garantálja, hogy a számított oszlopok, indexek, indexelt nézetek vagy kifejezések összhangban lesznek az alapul szolgáló rutinokkal és típusokkal a CLR-szerelvény frissítésekor. Ügyeljen arra, hogy a ALTER ASSEMBLY végrehajtásakor ne legyen eltérés a kifejezés eredménye és a szerelvényben tárolt kifejezésen alapuló érték között.
A záradék használatával csak a db_owner és ALTER ASSEMBLY rögzített adatbázis-szerepkör tagjai hajthatnak végre futtatási WITH UNCHECKED DATA.
Az SQL Server üzenetet küld a Windows-alkalmazás eseménynaplójának, amely szerint a szerelvény nem ellenőrzött adatokkal lett módosítva a táblákban. Az SQL Server ezután megjelöli azokat a táblákat, amelyek a szerelvénytől függő adatokat tartalmaznak, mint amelyek nem ellenőrzött adatokkal rendelkeznek. A has_unchecked_assembly_data katalógusnézet sys.tables oszlopa tartalmazza a nem ellenőrzött adatokat tartalmazó táblák 1 értékét, a nem ellenőrzött adatok nélküli táblák 0.
A nem ellenőrzött adatok integritásának feloldásához futtassa a DBCC CHECKDB WITH EXTENDED_LOGICAL_CHECKS minden olyan táblán, amely nem ellenőrzött adatokat tartalmaz. Ha DBCC CHECKDB WITH EXTENDED_LOGICAL_CHECKS sikertelen, törölnie kell a nem érvényes táblázatsorokat, vagy módosítania kell a szerelvénykódot a problémák megoldásához, majd több ALTER ASSEMBLY utasítást kell kiadnia.
ALTER ASSEMBLY módosítja a szerelvény verzióját. A közgyűlés kultúrája és nyilvános kulcsjogkivonata változatlan marad. Az SQL Server nem engedélyezi a szerelvény különböző verzióinak regisztrálását ugyanazzal a névvel, kultúrával és nyilvános kulccsal.
A verziókötésre vonatkozó számítógépszintű szabályzattal való interakciók
Ha az SQL Serverben tárolt szerelvényekre mutató hivatkozásokat a rendszer a közzétevői házirend vagy a számítógépszintű rendszergazdai szabályzat használatával irányítja át adott verziókra, az alábbi műveletek egyikét kell elvégeznie:
Győződjön meg arról, hogy az átirányítás új verziója az adatbázisban található.
Módosítsa a számítógép vagy a közzétevő házirendjének külső szabályzatfájljaira vonatkozó utasításokat, hogy biztosan hivatkozzon az adatbázisban található adott verzióra.
Ellenkező esetben sikertelen egy új szerelvényverzió betöltése az SQL Server-példányba.
További információ: ALTER ASSEMBLY.