SQL Server öykünme ile KQL sorgularını ve saklı işlevleri çalıştırma
Azure Veri Gezgini, verileri SQL Server'da sorguladığınıza benzer şekilde sorgulamanıza olanak tanıyan bir Tablosal Veri Stream (TDS) uç noktası sağlar. Uç nokta, 7.x ve 8.0 TDS sürümlerini destekler.
Bu makalede, SQL uyumlu bir istemciden depolanan işlevleri ve Kusto Sorgu Dili (KQL) sorgularını çalıştırmayı öğreneceksiniz.
Not
Bu makaledeki bilgiler, RPC çağrıları olarak da bilinen TDS protokolü üzerinden parametreli çağrılar çalıştırmak için geçerlidir.
Daha fazla bilgi için bkz. Azure Veri Gezgini'da SQL Server öykünmesiyle ilgili genel bakış.
KQL sorgularını çalıştırma
SQL saklı yordamı sp_execute_kql
, parametreli sorgular da dahil olmak üzere KQL sorgularını çalıştırmak için kullanılabilir. Yordam saklı yordama sp_executesql
benzer.
Not
Yordam sp_execute_kql
yalnızca aşağıdaki örnekte gösterildiği gibi bir RPC çağrısı aracılığıyla çağrılabilir ve normal bir SQL sorgusunun içinden çağrılabilir.
öğesinin sp_execute_kql
ilk parametresi KQL sorgusudur ve diğer parametreler sorgu parametresi olarak kabul edilir. Aşağıdaki örnekte nasıl kullanılacağı sp_execute_kql
gösterilmektedir.
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.
}
}
}
Not
TDS aracılığıyla çağrı sp_execute_kql
yapılırken, parametre türleri protokol tarafından ayarlanır ve bildirilmesi gerekmez.
Depolanan işlevleri çağırma
SQL saklı yordamları gibi saklı işlevler oluşturabilir ve çağırabilirsiniz. Örneğin, aşağıdaki tabloda açıklandığı gibi bir saklı işleviniz varsa, kod örneğinde gösterildiği gibi çağırabilirsiniz.
Name | Parametreler | Gövde | Klasör | DocString |
---|---|---|---|---|
Myfunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | Parametreli demo işlevi |
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.
}
}
}
Not
Depolanan işlevlerle öykünülmüş SQL sistemi saklı yordamları arasında ayrım yapmak için, saklı işlevleri şemaya açık bir başvuruyla çağırın kusto
. Örnekte saklı işlev kullanılarak kusto.Myfunction
çağrılır.
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin