8

MDF 文件访问(当附加到 SQLEXPRESS 时)线程安全吗?

我有一个本地 MDF 文件与我的 WPF 客户端应用程序一起部署。我正在使用 MDF 文件来保留一些特定于客户端的设置。可能有许多线程同时选择和更新相同的行,从而同时通过 SQL 连接提供程序访问文件。

现在,我要问的是我是否可以像对待远程 SQL SERVER 数据库一样对待线程同步(只需将所有工作留给 SQL 连接提供者),还是必须将我的数据库调用包装在里面临界区?

谢谢!

4

2 回答 2

0

MDF 文件是主数据库文件

您不能直接写入 MDF 文件(理论上),您正在通过 SQL Server 引擎和客户端访问。

至于多个SELECTUPDATE您在数据库事务隔离级别(读取已提交、未提交读取、可序列化、快照)上进行中继。

数据库引擎中的隔离级别

于 2013-07-31T11:24:30.787 回答
0

我真的很困惑,它是在数据库服务器上运行的 Microsoft SQL 数据库,只要您在更新行时在 WHERE 子句中使用乐观并发,它就可以管理表和行锁定和冲突。例如

update settings set A = 'val' where A = 'old val'

所以当然它是线程安全的。

于 2013-07-31T11:16:17.297 回答