SQL Server 에뮬레이션을 사용하여 KQL 쿼리 및 저장된 함수 실행
Azure Data Explorer는 SQL Server에서 데이터를 쿼리하는 방법과 유사한 방식으로 데이터를 쿼리할 수 있는 TDS(테이블 형식 데이터 스트림) 엔드포인트를 제공합니다. 엔드포인트는 TDS 버전 7.x 및 8.0을 지원합니다.
이 문서에서는 SQL 호환 클라이언트에서 저장된 함수 및 KQL(Kusto 쿼리 언어) 쿼리를 실행하는 방법을 알아봅니다.
참고 항목
이 문서의 정보는 RPC 호출이라고도 하는 TDS 프로토콜을 통해 매개 변수가 있는 호출을 실행하는 데 적용됩니다.
자세한 내용은 Azure Data Explorer의 SQL Server 에뮬레이션 에 대한 개요를 참조하세요.
KQL 쿼리 실행
SQL 저장 프로시저 sp_execute_kql
를 사용하여 매개 변수가 있는 쿼리를 포함하여 KQL 쿼리를 실행할 수 있습니다. 프로시저는 저장 프로시저와 sp_executesql
비슷합니다.
참고 항목
이 프로시저는 sp_execute_kql
다음 예제와 같이 RPC 호출을 통해서만 호출할 수 있으며 일반 SQL 쿼리 내에서는 호출할 수 없습니다.
첫 번째 매개 변수 sp_execute_kql
는 KQL 쿼리이고 다른 매개 변수는 쿼리 매개 변수로 처리됩니다. 다음 예제에서는 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.
}
}
}
참고 항목
TDS를 통해 호출 sp_execute_kql
할 때 매개 변수 형식은 프로토콜에 의해 설정되며 선언할 필요가 없습니다.
저장된 함수 호출
SQL 저장 프로시저와 같은 저장 함수를 만들고 호출할 수 있습니다. 예를 들어 다음 표에 설명된 대로 저장된 함수가 있는 경우 코드 예제와 같이 함수를 호출할 수 있습니다.
Name | 매개 변수 | 본문 | 폴더 | DocString |
---|---|---|---|---|
MyFunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | 매개 변수가 있는 데모 함수 |
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.
}
}
}
참고 항목
저장된 함수와 에뮬레이트된 SQL 시스템 저장 프로시저를 구분하려면 스키마에 대한 명시적 참조를 사용하여 저장된 함수를 kusto
호출합니다. 이 예제에서 저장된 함수는 .를 사용하여 kusto.Myfunction
호출됩니다.