有什么方法可以在 SQL 服务器(使用 ADO.NET)中设置小超时(毫秒)?

Any way to set small timeout (milliseconds) in SQL Server (using ADO.NET)?

问题在标题中...我可以通过任何方式将 Sql 命令设置为在 100 毫秒内超时? documentation 表示 SqlCommand / ADO 仅支持整秒超时。

基本上,我有一个非常小的插入,应该花费 <30 毫秒。有时 SQL 决定变慢,我的插入被阻止,可能需要 1-2 秒。然而,插入的数据不是关键任务,我宁愿它失败而不是等待和阻塞。我可以使用 ADO.NET 设置一个非常小的超时吗?还是我应该将 Sql Insert 保留为 1 秒超时并使用 ASYNC 方法 fire-and-forget?

提前致谢。

如果想在短时间内无法获取到锁时插入失败,在执行插入前设置一个锁超时时间。这将导致服务器端而不是客户端超时。

SET LOCK_TIMEOUT 100;