Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Data Explorer stellt einen TDS-Endpunkt (Tabular Data Stream) bereit, mit dem Sie Daten auf ähnliche Weise abfragen können, wie Sie Daten in SQL Server abfragen würden. Der Endpunkt unterstützt TDS-Versionen 7.x und 8.0.
In diesem Artikel erfahren Sie, wie Gespeicherte Funktionen und Kusto-Abfragesprache (KQL)-Abfragen von einem SQL-kompatiblen Client ausgeführt werden.
Hinweis
Die Informationen in diesem Artikel gelten für die Ausführung parametrisierter Aufrufe über das TDS-Protokoll, auch als RPC-Aufrufe bezeichnet.
Weitere Informationen finden Sie in der Übersicht zur SQL Server-Emulation im Azure-Daten-Explorer.
Ausführen von KQL-Abfragen
Die gespeicherte SQL-Prozedur sp_execute_kql
kann zum Ausführen von KQL-Abfragen verwendet werden, einschließlich parametrisierter Abfragen. Die Prozedur ähnelt der sp_executesql
gespeicherten Prozedur.
Hinweis
Die sp_execute_kql
Prozedur kann nur über einen RPC-Aufruf aufgerufen werden, wie im folgenden Beispiel gezeigt und nicht aus einer regulären SQL-Abfrage.
Der erste Parameter sp_execute_kql
ist die KQL-Abfrage, und alle anderen Parameter werden als Abfrageparameter behandelt. Das folgende Beispiel veranschaulicht die Verwendung von sp_execute_kql
.
using (var connection = new SqlConnection(csb.ToString()))
{
await connection.OpenAsync();
using (var command = new SqlCommand("sp_execute_kql", connection))
{
command.CommandType = CommandType.StoredProcedure;
var query = new SqlParameter("@kql_query", SqlDbType.NVarChar);
command.Parameters.Add(query);
var parameter = new SqlParameter("mylimit", SqlDbType.Int);
command.Parameters.Add(parameter);
query.Value = "StormEvents | take myLimit";
parameter.Value = 3;
using (var reader = await command.ExecuteReaderAsync())
{
// Read the response.
}
}
}
Hinweis
Beim Aufrufen sp_execute_kql
über TDS werden Parametertypen vom Protokoll festgelegt und müssen nicht deklariert werden.
Aufrufen gespeicherter Funktionen
Sie können gespeicherte Funktionen wie gespeicherte SQL-Prozeduren erstellen und aufrufen. Wenn Sie beispielsweise eine gespeicherte Funktion wie in der folgenden Tabelle beschrieben haben, können Sie sie wie im Codebeispiel gezeigt aufrufen.
Name | Parameter | Text | Ordner | DocString |
---|---|---|---|---|
MyFunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | Demo-Funktion mit Parameter |
using (var connection = new SqlConnection(csb.ToString()))
{
await connection.OpenAsync();
using (var command = new SqlCommand("kusto.MyFunction", connection))
{
command.CommandType = CommandType.StoredProcedure;
var parameter = new SqlParameter("mylimit", SqlDbType.Int);
command.Parameters.Add(parameter);
parameter.Value = 3;
using (var reader = await command.ExecuteReaderAsync())
{
// Read the response.
}
}
}
Hinweis
Um zwischen gespeicherten Funktionen und emulierten gespeicherten SQL-Systemprozeduren zu unterscheiden, rufen Sie gespeicherte Funktionen mit einem expliziten Verweis auf das kusto
Schema auf. Im Beispiel wird die gespeicherte Funktion mithilfe von kusto.Myfunction
.