在MS SQL Server Management Studio 2012中,是否可以将事务隔离级别设置为默认为用户读取?
我原以为可以通过编辑配置文件或更改注册表来完成,但我还没能找到任何会改变它的东西。
答案 0 :(得分:3)
据我所知,您无法更改默认锁定级别。
对于具有大量读取和较少写入的工作负载,您可以避免使用multiversion concurrency control阻止查询。这是Postgres和Oracle的默认值。在SQL Server中,MVCC称为"read committed snapshot",您可以使用以下命令启用它:
ALTER DATABASE YourDb SET READ_COMMITTED_SNAPSHOT ON;
答案 1 :(得分:2)
你做不到。所有SQL Server数据库的默认隔离级别为Read Committed,如果要使用默认级别以外的级别,则唯一的选择是在会话中设置隔离级别。
您还可以在存储过程体中设置 SET TRANSACTION ISOLATION LEVEL 。
答案 2 :(得分:2)
你不能这样做。我相信你知道的;使用READ UNCOMMITTED隔离级别时应该小心。来自MSDN:
设置此选项后,可以读取未提交的内容 修改,称为脏读。数据中的值可以是 更改并且行可以在数据集中出现或消失 交易结束。此选项与设置具有相同的效果 对事务中所有SELECT语句中的所有表执行NOLOCK。
这意味着您的结果不会保证包含准确的数据。
答案 3 :(得分:0)