- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下声明:
INSERT INTO dbo.Changes([Content], [Date], [UserId], [CompanyId])
VALUES (@1, @2, @3, @4);
SELECT @@identity;
给我这个 SQL 错误 3960:
Snapshot isolation transaction aborted due to update conflict. You cannot use snapshot isolation to access table 'dbo.Companies' directly or indirectly in database 'myDatabase' to update, delete, or insert the row that has been modified or deleted by another transaction. Retry the transaction or change the isolation level for the update/delete statement.
据我了解,从错误消息来看,我不应该更新、删除或插入表 dbo.Companies
在另一个连接正在修改dbo.Companies
期间。
但是为什么当我向另一个表插入新行时会出现这种情况 dbo.Changes
(其中有 dbo.Companies
的外键)并且我没有删除 dbo.Companies
中引用的行,但我只是更新 dbo.Companies
中的行而不是主键?这应该可以正常工作,不是吗? (这是 SQL Server 中的错误吗?)
更新:
表格如下所示:
dbo.Changes([Id] int PK, [Content] nvarchar,
[Date] datetime, [UserId] int, [CompanyId] int -> dbo.Companies.[Id])
dbo.Companies([Id] int PK, [Name] nvarchar)
第二次更新正在进行中:
UPDATE dbo.Companies WHERE [Id] = @1 SET [Name] = @2;
最佳答案
看来 SQL Server 将在它必须读取的任何记录上获取更新锁,即使它不修改记录。
有关此的更多信息 microsoft.public.sqlserver.server thread :
Without a supporting index on CustomerContactPerson, the statement
DELETE FROM ContactPerson WHERE ID = @ID;
Will require a "current" read of all the rows in CustomerContactPerson to ensure that there are no CustomerContactPerson rows that refer to the deleted ContactPerson row. With the index, the DELETE can determine that there are no related rows in CustomerContactPerson without reading the rows affected by the other transaction.
Additionally, in a snapshot transaction the pattern for reading data which you are going to turn around and update is to take an UPDLOCK when you read. This ensures that you are making your update on the basis of "current" data, not "consistent" (snapshot) data, and that when you issue the DML, it the data won't be locked, and you won't unwittingly overwrite another session's change.
我们的解决办法是向外键添加索引
在您的示例中,我怀疑向 Changes.CompanyId 添加索引会有所帮助。我不确定这是否是一个真正的解决方案。 SQL Server优化器可以选择不使用索引吗?
关于sql-server - 由于更新冲突,快照隔离事务中止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718668/
Maven – 快照 大型软件应用程序通常由多个模块组成,这是多个团队工作于同一应用程序的不同模块的常见场景。例如一个团队工作负责应用程序的前端应用用户接口工程(app-ui.jar:1.0)),同
我的 ES 快照不起作用或看起来是空的。 首先,我在我的 Ubuntu 服务器上做了这个: 1.创建备份目录 mkdir /home/admin/dumps/elasticsearch 2. 将此目录
您好,我想将折线图保存为预定义尺寸 (x, y) 的图像。有没有简单的方法来做到这一点?我找不到任何合适的 Snapshot 参数。 WritableImage image = lineCha
我将 Genymotion 与 Oracle VirtualBox 一起使用,但是我有 250 GB 的 SSD,并且我遇到了(快照)问题 我在这里搜索并搜索,我找不到任何可能的方法来禁用自动快照,因
我们想使用 Grafana 来显示测量数据。现在,我们的测量设置创建了大量数据并保存在文件中。我们按原样保留文件,并直接使用 Spark(“数据湖”方法)对其进行后处理。 我们现在想要创建一些可视化,
我不知道如何制作节点组的快照。也就是说,我想制作一个覆盖有数字的 PNG 图标图像(例如未读消息)。 我的代码: int totalNumberOfUnreadMessages = 1; ImageV
我们想使用 Grafana 来显示测量数据。现在,我们的测量设置创建了大量数据并保存在文件中。我们按原样保留文件,并直接使用 Spark(“数据湖”方法)对其进行后处理。 我们现在想要创建一些可视化,
这个问题在这里已经有了答案: How do I return the response from an asynchronous call? (41 个回答) 关闭 4 年前。 function i
我试图在运行我的程序时保存所有内容。我想保存每个游戏对象及其脚本和变量。我知道可以序列化所有内容并将其保存为 XML(以及其他方式/格式,如 JSON)。这将需要大量的工作和时间。该程序将来可能会发生
我正在玩 Screeps ( http://screeps.com/ ) 模拟房间模式。我已经测试了一些东西,我不想失去我的进步。 我可以在模拟房间模式下拍摄快照并保存我的房间状态,这样我就不必从头开
我的应用程序的测试人员报告:“最近的应用程序列表中的应用程序缩略图根本没有调整。在我看来,它要么像主屏幕壁纸(tolikdru:可能,只是透明的矩形),要么像应用程序屏幕的绿色背景,但从来没有真正的应
这个问题在这里已经有了答案: JavaFX I want to save Chart-Image completely (1 个回答) 关闭 3 年前。 我正在尝试获取“Java 弹出窗口”的快照。
我正在使用 pymongo 从 MongoDB 中插入和检索数据。这两个操作可以同时执行。问题是我什么时候做 rows = db..find()在pymongo中,每次rows.count()返回不同
如何获取通过 选择的视频文件的快照在视频中的特定时间在后台静默(即没有可见元素、闪烁、声音等)? 最佳答案 主要有四个步骤: 创建 和 元素。 加载src URL.createObjectURL 生
您好,我正在使用 JavaFx WebView 创建 HTML 页面的屏幕截图,它工作正常,但我想知道是否可以在不在图形窗口中启动应用程序的情况下执行此操作!!我的意思是没有比这更轻量级的方法来获取屏
所以我有一个 horizontalscrollview,我想尝试添加一个对齐效果,它基本上使元素居中。到目前为止,我基本上都是用 XML 完成的。 然后我在里面有一个 LinearLayout。
调用 URL http:///gitweb.cgi?p=;a=tree;f=;hb=HEAD将显示 的树从 开始. 调用 URL http:///gitweb.cgi?p=;a=snapshot;
我们知道,Maven 项目第一次构建时,会自动从远程仓库搜索依赖项,并将其下载到本地仓库中。当项目再进行构建时,会直接从本地仓库搜索依赖项并引用,而不会再次向远程仓库获取。这样的设计能够避免项目每次构
这个问题在这里已经有了答案: Freeze screen in chrome debugger / DevTools panel for popover inspection? (9 个回答) 关闭
我正在开发一个向 DVR 和 IP 摄像机请求快照的应用程序。我正在开发的设备只提供 RTSP 请求。然后我实现了必要的 RTSP 方法来开始接收流数据包,然后通过建立的 UDP 连接开始接收。我的疑
我是一名优秀的程序员,十分优秀!