azure - 如何锁定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.
}
}
推荐阅读
- elasticsearch - Elasticsearch 中的请求时间和搜索延迟持续飙升
- angular - 为什么我们在有打字稿的时候选择角度?
- php - 使用 slack 的 laravel 通知格式不正确
- google-chrome - 如何将扩展程序带到 google chrome 应用程序页面?
- python - Numpy 数组到张量
- asp.net-mvc - 我有用于向他们发送邮件的用户列表。我想在另一个列表框中显示选定的用户。我怎样才能做到这一点?
- javascript - 如何以正确的方式使用抽屉反应原生?
- java - 如何使用 selenium java 识别 chrome 中正在进行的下载?
- mysql - 如何在 Node.js 中创建动态数据库连接?
- c++ - 无法在 Linux 上运行 C++ ZMQ 项目的可执行文件