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.
Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer
A sql_request beépülő modul sql-lekérdezést küld egy Azure SQL Server hálózati végpontnak, és visszaadja az eredményeket.
Ha az SQL több sorkészletet ad vissza, csak az elsőt használja.
A beépülő modul meghívása a evaluate operátorral történik.
Szemantika
evaluate
sql_request
(
ConnectionString,SqlQuery [,SqlParameters [,Beállítások]] ) [:OutputSchema]
További információ szintaxiskonvenciákról.
Paraméterek
| Név | Típus | Kötelező | Leírás |
|---|---|---|---|
| Kapcsolati karakterlánc | string |
✔️ | Az SQL Server hálózati végpontra mutató kapcsolati sztring. Tekintse meg az érvényes hitelesítési módszereket és a hálózati végpont megadásának módját. |
| SqlQuery | string |
✔️ | Az SQL-végponton végrehajtandó lekérdezés. A lekérdezésnek egy vagy több sorkészletet kell visszaadnia, de csak az elsőt teszi elérhetővé a Kusto-lekérdezés többi része számára. |
| SqlParameters | dynamic |
Kulcs-érték párok tulajdonságtáskáját, amely paraméterekként és a lekérdezéssel együtt továbbítható. | |
| Beállítások | dynamic |
Kulcs-érték párok tulajdonságtáskáját, amely speciálisabb beállításokat ad át a lekérdezéssel együtt. Jelenleg csak token a hívó által biztosított Microsoft Entra hozzáférési jogkivonat továbbítható az SQL-végpontra hitelesítés céljából. |
|
| OutputSchema | string |
A sql_request beépülő modul kimenetének várt oszlopainak nevei és típusai. Használja a következő szintaxist: (ColumnName:ColumnType [, ...] ). |
Megjegyzés:
- Az OutputSchema megadása erősen ajánlott, mivel lehetővé teszi a beépülő modul használatát olyan helyzetekben, amelyek egyébként nem működnek nélküle, például egy fürtközi lekérdezésben. Az OutputSchema több lekérdezésoptimalizálást is lehetővé tehet.
- Hiba akkor jelentkezik, ha az SQL hálózati végpont által visszaadott első sorhalmaz futásidejű sémája nem egyezik az OutputSchema sémával.
Hitelesítés és engedélyezés
A sql_request beépülő modul az alábbi három hitelesítési módszert támogatja az SQL Server-végponton.
| Hitelesítési módszer | Szemantika | Hogyan | Leírás |
|---|---|---|---|
| A Microsoft Entra már integrálásra került | Authentication="Active Directory Integrated" |
Adja hozzá a ConnectionString paraméterhez . | A felhasználó vagy alkalmazás a Microsoft Entra-azonosítón keresztül hitelesíti a fürtöt, és ugyanazt a jogkivonatot használja az SQL Server hálózati végpontjának eléréséhez. Az egyszerűnek rendelkeznie kell a megfelelő engedélyekkel az SQL-erőforráson a kért művelet végrehajtásához. Az adatbázisból való olvasáshoz például az egyszerű felhasználónak tábla SELECT engedélyre van szüksége, és egy meglévő táblába való íráshoz az egyszerű felhasználónak FRISSÍTÉSi és INSERT-engedélyekre van szüksége. Új táblába való íráshoz CREATE-engedélyekre is szükség van. |
| Felügyelt identitás | Authentication="Active Directory Managed Identity";User Id={object_id} |
Adja hozzá a ConnectionString paraméterhez . | A kérés egy felügyelt identitás nevében lesz végrehajtva. A felügyelt identitásnak rendelkeznie kell a megfelelő engedélyekkel az SQL-erőforráson a kért művelet végrehajtásához. A felügyelt identitás hitelesítésének engedélyezéséhez hozzá kell adnia a felügyelt identitást a fürthöz, és módosítania kell a felügyelt identitásszabályzatot. További információ: Managed Identity Policy. |
| Felhasználónév és jelszó | User ID=...; Password=...; |
Adja hozzá a ConnectionString paraméterhez . | Ha lehetséges, kerülje ezt a módszert, mivel az kevésbé biztonságos. |
| Microsoft Entra hozzáférési jogkivonat | dynamic({'token': h"eyJ0..."}) |
Adja hozzá a Beállítások paraméterhez. | A hozzáférési jogkivonat tulajdonságként token lesz átadva a beépülő modul Beállítások argumentumában. |
| Hitelesítési módszer | Szemantika | Hogyan | Leírás |
|---|---|---|---|
| A Microsoft Entra már integrálásra került | Authentication="Active Directory Integrated" |
Adja hozzá a ConnectionString paraméterhez . | A felhasználó vagy alkalmazás a Microsoft Entra-azonosítón keresztül hitelesíti a fürtöt, és ugyanazt a jogkivonatot használja az SQL Server hálózati végpontjának eléréséhez. Az egyszerűnek rendelkeznie kell a megfelelő engedélyekkel az SQL-erőforráson a kért művelet végrehajtásához. Az adatbázisból való olvasáshoz például az egyszerű felhasználónak tábla SELECT engedélyre van szüksége, és egy meglévő táblába való íráshoz az egyszerű felhasználónak FRISSÍTÉSi és INSERT-engedélyekre van szüksége. Új táblába való íráshoz CREATE-engedélyekre is szükség van. |
| Felhasználónév és jelszó | User ID=...; Password=...; |
Adja hozzá a ConnectionString paraméterhez . | Ha lehetséges, kerülje ezt a módszert, mivel az kevésbé biztonságos. |
| Microsoft Entra hozzáférési jogkivonat | dynamic({'token': h"eyJ0..."}) |
Adja hozzá a Beállítások paraméterhez. | A hozzáférési jogkivonat tulajdonságként token lesz átadva a beépülő modul Beállítások argumentumában. |
Megjegyzés:
Azokat a kapcsolati sztringeket és lekérdezéseket, amelyek bizalmas információkat vagy védett információkat tartalmaznak, el kell rögzíteni, hogy a Kusto-nyomkövetésből ne lehessen kimaradni. További információ: elhomályosított sztringkonstansok.
Példák
SQL-lekérdezés küldése integrált Microsoft Entra-hitelesítéssel
Az alábbi példa egy SQL-lekérdezést küld egy Azure SQL DB-adatbázisba. Lekéri az összes rekordot, [dbo].[Table]majd feldolgozza az eredményeket a Kusto oldalán. A hitelesítés újra felhasználja a hívó felhasználó Microsoft Entra-jogkivonatát.
Megjegyzés:
Ez a példa nem javasolt az adatok ilyen módon történő szűrésére vagy kivetítésére. Az SQL-lekérdezéseket úgy kell létrehozni, hogy a lehető legkisebb adathalmazt adja vissza.
evaluate sql_request(
'Server=tcp:contoso.database.windows.net,1433;'
'Authentication="Active Directory Integrated";'
'Initial Catalog=Fabrikam;',
'select * from [dbo].[Table]') : (Id:long, Name:string)
| where Id > 0
| project Name
SQL-lekérdezés küldése felhasználónév/jelszó hitelesítés használatával
Az alábbi példa megegyezik az előzővel, azzal a kivételsel, hogy az SQL-hitelesítés felhasználónévvel/jelszóval történik. A bizalmasság érdekében itt obfuscated sztringeket használunk.
evaluate sql_request(
'Server=tcp:contoso.database.windows.net,1433;'
'Initial Catalog=Fabrikam;'
h'User ID=USERNAME;'
h'Password=PASSWORD;',
'select * from [dbo].[Table]') : (Id:long, Name:string)
| where Id > 0
| project Name
SQL-lekérdezés küldése Microsoft Entra hozzáférési jogkivonat használatával
Az alábbi példa egy SQL-lekérdezést küld egy Azure SQL-adatbázisnak, amely beolvassa az összes rekordot [dbo].[Table]egy másik datetime oszlop hozzáfűzése közben, majd feldolgozza az eredményeket a Kusto oldalán.
Megadja az SQL-lekérdezésben használandó SQL-paramétert (@param0).
evaluate sql_request(
'Server=tcp:contoso.database.windows.net,1433;'
'Authentication="Active Directory Integrated";'
'Initial Catalog=Fabrikam;',
'select *, @param0 as dt from [dbo].[Table]',
dynamic({'param0': datetime(2020-01-01 16:47:26.7423305)})) : (Id:long, Name:string, dt: datetime)
| where Id > 0
| project Name
SQL-lekérdezés küldése lekérdezés által definiált kimeneti séma nélkül
Az alábbi példa egy SQL-lekérdezést küld egy Azure SQL-adatbázisba kimeneti séma nélkül. Ez csak akkor ajánlott, ha a séma ismeretlen, mivel ez befolyásolhatja a lekérdezés teljesítményét
evaluate sql_request(
'Server=tcp:contoso.database.windows.net,1433;'
'Initial Catalog=Fabrikam;'
h'User ID=USERNAME;'
h'Password=PASSWORD;',
'select * from [dbo].[Table]')
| where Id > 0
| project Name
Titkosítás és kiszolgáló érvényesítése
A következő kapcsolati tulajdonságok kényszerítve vannak az SQL Server hálózati végponthoz való csatlakozáskor biztonsági okokból.
-
Encryptfeltétel nélküli értékretruevan állítva. -
TrustServerCertificatefeltétel nélküli értékrefalsevan állítva.
Ennek eredményeképpen az SQL Servert érvényes SSL/TLS-kiszolgálói tanúsítvánnyal kell konfigurálni.
A hálózati végpont megadása
Az SQL-hálózati végpont megadása a kapcsolati sztring részeként kötelező. A megfelelő szintaxis a következő:
Server
=
tcp:
Teljes tartománynév [,port]
Helyszín:
- A teljes tartománynév a végpont teljes tartományneve.
-
A port a végpont TCP-portja. Alapértelmezés szerint a
1433feltételezzük.
Megjegyzés:
A hálózati végpont megadásának egyéb formái nem támogatottak.
Nem lehet kihagyni például az előtagot tcp: , annak ellenére, hogy az SQL-ügyfélkódtárak programozott használata esetén lehetséges.