如何防止两个应用程序同时访问一个数据库

本文关键字:访问 一个 数据库 两个 何防止 应用程序 | 更新日期: 2023-09-27 18:00:01

想象一下,您有一个可以访问SQL Server 2012的应用程序,因此它从一个表中读取数据,进行处理,并将结果写入另一个表。如果您在不同的计算机上同时启动两个这样的应用程序,则生成的数据将加倍。问题是:如何防止这种情况发生?

请为您提供有关Transact-SQL和C#的示例。

如何防止两个应用程序同时访问一个数据库

您在DB中设置了一些状态,通知应用程序正在执行处理任务。(我认为这是可以的,因为两个应用程序都可以一个接一个地运行,没有副作用,或者同一个应用程序可以运行两次)

然后,应用程序将检查此状态并拒绝运行(如果已设置)。

或者,您可以锁定整个表,使第二个实例无法使用隔离级别读取(或写入)数据。

您想要的是在一个应用程序执行其工作时锁定相应的表。

更多信息请点击此处:http://www.sqlteam.com/article/introduction-to-locking-in-sql-server