如何锁定azure sql数据库



我正在运行一个将连接azure SQL数据库的应用程序。我遇到了一个问题,即应用程序将在多个线程中连接到数据库,从而导致竞争条件。我想按顺序运行它们。

我无法更改应用程序,有没有办法将数据库设置为只允许单个连接,如果它不允许,则等待连接?

单用户模式在Azure SQL数据库上不可用。

但是,也许您应该考虑在应用程序上添加重试逻辑,以便它可以重试X次,并且在重试失败后可以增加重试间隔。

public void HandleTransients()
{
var connStr = "some database";
var _policy = RetryPolicy.Create < SqlAzureTransientErrorDetectionStrategy(
retryCount: 3,
retryInterval: TimeSpan.FromSeconds(5));
using (var conn = new ReliableSqlConnection(connStr, _policy))
{
// Do SQL stuff here.
}
}

最新更新