如果到达x时间,则将命令发送到SQL Server以终止查询中间执行

时间:2018-08-01 12:56:47

标签: c# sql-server

考虑到通过C#与SQL Server数据库的连接,我希望能够向数据库发送命令,以在需要一定秒数的情况下停止执行大型查询。

据我了解,CommandTimeout是C#句柄,用于度量(以秒为单位)等待命令执行的时间。但是,它不会告诉数据库在其末端结束执行。

using (SqlConnection connection = new SqlConnection(database.ConnectionString))
 {
    connection.Open();
    SqlCommand sqlCommand = new SqlCommand(query, connection);

    sqlCommand.CommandTimeout = 30;
    SqlDataAdapter da = new SqlDataAdapter(sqlCommand);

    //send command to SQL Server to kill Query Session ID if takes over 30s

    da.Fill(response);
    connection.Close();
    da.Dispose();
}

我使用SqlCommand.Cancel进行了研究,但不确定如何实现它,或者不确定它是否是我所寻找的。

0 个答案:

没有答案