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.
A következőkre vonatkozik: SQL Server 2019 (15.x) és újabb verziók
Ismerje meg az SQL Server nyelvi bővítményekhez használt bővíthetőségi architektúrát, amely lehetővé teszi külső kód futtatását az SQL Serveren. A Java, a Python és az R támogatott az SQL Server 2019 (15.x) és újabb verzióiban. A kód egy nyelvi futtatókörnyezetben fut az alapvető adatbázismotor kiterjesztéseként.
Háttér
A bővíthetőségi keretrendszer célja, hogy felületet biztosítson az SQL Server és a külső nyelvek között. Az adatbázisgazdák úgy tudják fenntartani a biztonságot, hogy egy megbízható nyelvet hajtanak végre az SQL Server által felügyelt biztonságos keretrendszerben, miközben lehetővé teszik az adatelemzők számára a vállalati adatokhoz való hozzáférést.
Bármely támogatott külső nyelv futtatható egy tárolt eljárás meghívásával, és az eredményeket táblázatos eredményként adja vissza közvetlenül az SQL Servernek. Ez megkönnyíti a külső nyelv használatát bármely olyan alkalmazásból, amely képes SQL-lekérdezést küldeni és kezelni az eredményeket.
Építészeti diagramok
Az architektúra úgy lett kialakítva, hogy a külső kód az SQL Servertől eltérő folyamaton fusson, de olyan összetevőkkel, amelyek belsőleg kezelik az SQL Serveren futó adat- és műveleti kérelmek láncát.
Összetevőarchitektúra a Windowsban:
Komponensarchitektúra Linuxban:
Az összetevők közé tartozik a külső futtatókörnyezetek (például Java) meghívására használt Launchpad-szolgáltatás , valamint az értelmezők és kódtárak betöltésére szolgáló kódtárspecifikus logika.
Dob
Az SQL Server Launchpad egy olyan szolgáltatás, amely a szkriptek végrehajtásáért felelős külső folyamat élettartamát, erőforrásait és biztonsági határait kezeli. Ez hasonló ahhoz, ahogyan a teljes szöveges indexelési és lekérdezési szolgáltatás külön gazdagépet indít el a teljes szöveges lekérdezések feldolgozásához. A Launchpad szolgáltatás csak a Microsoft által közzétett megbízható indítókat indíthatja el, vagy a Microsoft minősíti a teljesítmény- és erőforrás-kezelés követelményeit.
Az SQL Server Launchpad szolgáltatás az SQLRUserGroup alatt fut, amely appContainereket használ a végrehajtás elkülönítéséhez.
Külön SQL Server Launchpad-szolgáltatás jön létre minden olyan adatbázismotor-példányhoz, amelyhez SQL Server Machine Language Extensions bővítményeket ad hozzá. Minden adatbázismotor-példányhoz egy Launchpad-szolgáltatás tartozik, így ha több külső szkripttámogatással rendelkező példánya van, mindegyikhez rendelkezik Launchpad-szolgáltatással. Az adatbázismotor-példány a számára létrehozott Launchpad szolgáltatáshoz van kötve. Egy tárolt eljárásban vagy T-SQL-ben egy külső szkript összes meghívása azt eredményezi, hogy az SQL Server szolgáltatás meghívja az ugyanahhoz a példányhoz létrehozott Launchpad szolgáltatást.
Ha a feladatokat egy adott támogatott nyelven szeretné végrehajtani, a Launchpad lekéri a készletből a biztonságos feldolgozói fiókot, és elindít egy műholdas folyamatot a külső futtatókörnyezet kezeléséhez. Minden műholdas folyamat örökli a Launchpad felhasználói fiókját, és ezt a feldolgozó fiókot használja a szkript végrehajtása során. Ha a szkript párhuzamos folyamatokat használ, azokat ugyanazzal az egy feldolgozói fiókkal hozza létre.
Kommunikációs csatornák az összetevők között
Az összetevők és adatplatformok közötti kommunikációs protokollokat ebben a szakaszban ismertetjük.
TCP/IP
Alapértelmezés szerint az SQL Server és az SQL-műhold közötti belső kommunikáció TCP/IP protokollt használ.
ODBC-
A külső adatelemzési ügyfelek és egy távoli SQL Server-példány közötti kommunikáció ODBC-t használ. A szkriptfeladatokat az SQL Servernek küldő fióknak mindkét engedéllyel kell rendelkeznie a példányhoz való csatlakozáshoz és a külső szkriptek futtatásához.
Emellett a tevékenységtől függően a fióknak szüksége lehet az alábbi engedélyekre:
- A feladat által használt adatok olvasása
- Adatok írása táblákba: például az eredmények táblázatba való mentésekor
- Adatbázis-objektumok létrehozása: például ha egy új tárolt eljárás részeként menti a külső szkriptet
Ha az SQL Servert használják a távoli ügyfélről végrehajtott szkript számítási környezeteként, és a végrehajthatónak külső forrásból kell adatokat lekérnie, az ODBC-t használja a visszaíráshoz. Az SQL Server leképezi a távoli parancsot kibocsátó felhasználó identitását az aktuális példány felhasználójának identitására, és az ODBC-parancsot a felhasználó hitelesítő adataival futtatja. Az ODBC-hívás végrehajtásához szükséges kapcsolati sztring az ügyfélkódból származik.
Egyéb protokollok
Azok a folyamatok is használhatják az XDF-fájlformátumot, amelyeknek "adattömbökben" kell működniük, vagy adatokat kell visszavinni egy távoli ügyfélnek. A tényleges adatátvitel kódolt blobokon keresztül történik.