c# - 多个应用程序能够同时访问 SQL Server 中的同一个数据库吗?

标签 c# sql-server

我对 .NET、C# 和 SQL Server 非常陌生。

我需要使用 C# 开发一个套接字应用程序。该应用程序应该根据某些请求插入删除更新等数据库中的数据。

我需要使用 C# 开发另一个 Windows 服务应用程序,通过 http 将数据库中的数据发送到 Web 应用程序。

这两个应用程序在同一系统中运行。数据库是SQL Server。这两个应用程序使用相同的数据库。

我不确定当一个应用程序在数据库中删除或插入数据时,另一个应用程序是否仍然能够同时访问数据库。

最佳答案

Sql Server 可以很好地处理多个请求。每个连接的客户端都会获得不同的 spid .

但是,由您的 sql server 代码(批处理或存储过程)通过隔离级别和事务处理数据并发问题。因此,为了控制一个用户读取数据,而其他用户正在更新、删除等......,您需要使用隔离级别和锁。

隔离级别:

http://msdn.microsoft.com/en-us/library/aa213034(v=sql.80).aspx

另外:http://dbalink.wordpress.com/2008/05/27/isolation-levels-and-locks-in-sql-server-2005/

关于交易的好文章:

https://web.archive.org/web/20210614153200/http://aspnet.4guysfromrolla.com/articles/072705-1.aspx

关于c# - 多个应用程序能够同时访问 SQL Server 中的同一个数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12054203/

相关文章:

c# - 如何以编程方式从 C# 代码构建我的解决方案文件?

sql-server - 了解内部查询的不明确列名

sql - 在SQL Server中插入多对多表

sql-server - Docker 容器上的 Microsoft SQL Server 2017/2019 性能缓慢

c# - 获取 GridView 的列标题的 css

c# - 如何在模型类中将 appsettings.json 文本作为 SQL 连接字符串传递? (具体例子)

c# - 从网络服务下载 $metadata 时出错

sql-server - Msg 9402, Level 16, State 1, Line 9 XML解析: line 1,字符38,无法切换编码

sql - 在 SQL View 中的列选择中使用左连接别名

c# - 有没有办法检索现有的NSUrlSession/取消其任务?