首页 > 解决方案 > 如何锁定azure sql数据库?

问题描述

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

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

标签: azureazure-sql-database

解决方案


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.
    }
}

推荐阅读