问题标签 [isolation-level]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
122010 浏览

sql-server - 如何检测 READ_COMMITTED_SNAPSHOT 是否启用?

在 Microsoft SQL Server 中,有没有办法检测数据库是否通过 T-SQL 命令设置了其隔离级别ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

我找不到在 T-SQL 或通过 Management Studio 的 GUI 中检测到这一点的简单方法。

0 投票
9 回答
94836 浏览

sql-server - SET READ_COMMITTED_SNAPSHOT ON 需要多长时间?

运行需要多长时间

我刚刚运行它,它需要 10 分钟。

如何检查它是否已应用?

0 投票
2 回答
12596 浏览

sql-server - 如何以编程方式在 SQL Server 中启用 READ COMMITTED SNAPSHOT?

我需要在 SQL Server 中以编程方式启用 READ COMMITTED SNAPSHOT。我怎样才能做到这一点?

0 投票
3 回答
442 浏览

sql-server-2008 - 为 Web 应用程序调整 SQL Server 2008

在其中一个 Stackoverflow 播客中,我记得 Jeff Atwood 说过 SQL Server 2008 中有一个配置选项可以减少锁定,并且是在所有查询中使用“with (nolock)”的一种替代方法。有谁知道如何启用他所说的功能,甚至可能是 Jeff 本人。我正在考虑部署 SQL Server 2008,并想看看使用这样的功能是否有助于我的 Web 应用程序。

0 投票
1 回答
3033 浏览

database - 如何在 EJB 3 中为每个方法设置隔离级别

是否可以为给定的 EJB 3 方法调用设置数据库隔离级别(即可序列化、可重复读取等)?

我知道这不在 EJB 规范中,因此如何在 JBoss 或 Glassfish 特定方式上执行此操作的详细信息会很棒。

我开始觉得这是不可能的,你只能为每个连接池设置它,这显然不是一个理想的解决方案。

0 投票
3 回答
455 浏览

oracle - 有没有办法窥探另一个 Oracle 会话的内部?

我有一个查看数据库的查询编辑器 ( Toad )。

同时,我也在调试一个有自己独立连接的应用程序。

我的应用程序启动一个事务,进行一些更新,然后根据一些 SELECT 语句做出决定。由于尚未提交更新语句(很多且复杂),因此我的应用程序从其 SELECT 中获得的结果与我在 Toad 中运行相同语句时获得的结果不同。

目前,我通过将应用程序的查询输出转储到文本文件中并读取它来解决这个问题。

在提交完成之前,有没有更好的方法可以窥视另一个 oracle 会话,并查看该会话看到的内容?

另一个问这个问题的方法是:在 Oracle 下,我可以只在两个会话之间启用脏读,而不影响其他人的会话吗?

0 投票
1 回答
1257 浏览

sql-server - 具有已提交读隔离级别和表约束的事务

表约束是否在同一个事务中执行?

我有一个具有已提交读隔离级别的事务,它在表中插入一些行。该表有一个约束,它调用一个函数,该函数又从同一个表中选择一些行。

看起来函数在不了解事务的情况下运行,并且函数中的选择返回表中在事务之前存在的行。

有解决方法还是我错过了什么?谢谢。

以下是交易和约束的代码:

0 投票
3 回答
3873 浏览

sql-server - 共享读锁什么时候释放?

当 SQL Server 联机丛书说“读取操作完成后立即释放资源上的共享 (S) 锁,除非事务隔离级别设置为可重复读取或更高,或者使用锁定提示来保留共享 ( S) 在事务期间锁定。”

假设我们谈论的是行级锁,没有显式事务,在默认隔离级别(读取已提交),“读取操作”指的是什么?

  • 单行数据的读取?
  • 单个 8k IO 页面的读取?
  • 或者直到创建锁的完整 Select 语句完成执行,无论涉及多少其他行?

注意:我需要知道这一点的原因是我们有一个由数据层 Web 服务生成的几秒钟的只读选择语句,它创建页面级共享读锁,由于与行级独占更新锁冲突而产生死锁来自保持服务器更新的复制过程。select 语句相当大,有许多子选择,一位 DBA 建议我们重写它以将其分解为多个较小的语句(运行时间较短的部分),“以减少持有锁的时间”。因为这假设共享读取锁一直保持到完整的选择语句完成,如果这是错误的(如果在读取行或页面时释放锁),那么该方法将没有任何效果......

0 投票
4 回答
2768 浏览

sql-server - 在 MS SQL Server 中尽量减少锁定附加表的建议?

我正在编写一些将在生产中运行的日志记录/审计代码(不仅仅是在抛出错误时或在开发时)。在阅读了 Coding Horror 在死锁和日志记录方面的经验后,我决定应该寻求建议。(Jeff 的“不记录”解决方案对我不起作用,这是法律规定的安全审计)

是否有合适的隔离级别来最小化争用和死锁?我可以添加到插入语句或存储过程中的任何查询提示?

我非常关心除审计表之外的所有事务的事务完整性。这个想法是,将记录这么多,如果一些条目失败,这不是问题。如果日志记录停止了其他一些事务——那就不好了。

我可以登录到数据库或文件,尽管登录到文件的吸引力较小,因为我需要能够以某种方式显示结果。记录到文件将(几乎)保证记录不会干扰其他代码。

0 投票
6 回答
143644 浏览

sql - 如何找到当前的交易水平?

如何在 SQL Server 上找到当前数据库的事务级别?