我有一个具有“连续表单”子表单的 Microsoft Access 应用程序。在我的应用程序中访问该表单时,我发现 SQL Server 有“很多”锁(超过 1000 个)。[通过从主数据库视图 sys.dm_trans_locks 中选择 1000 条记录找到]。
表单的数据源是一个名为 qryProspect 摘要的传递查询。反过来,它只有 SQL“EXEC qryProspectSummary”来调用返回所需数据的存储过程。
存储过程“qryProspectSummary”只是一个复杂的选择语句 - 有一些嵌套的选择和联合以及多个表的连接。从 SQL Server Management Studio 运行它会产生正确的结果,并且不会锁定数据库的任何部分。
我已将数据源记录集类型设置为“快照”。
我怎样才能防止 Access 取出所有这些锁 - 它有效地破坏了任何为应该只是数据快照而工作的多用户。