在SQL Server 2005中,是否有可能自动将事务隔离级别设置为比如说每个用户读取未提交的数据? (因此,例如,如果我为用户Fred设置了这样一个登录选项,Fred不必记住用NOLOCK提示来抛出他的select语句,或者记住在他的sql中添加一组事务隔离级别语句。)在SQL Server 2005中,是否可以在每个用户的基础上设置事务隔离级别?
回答
如果是存储的特效,你可以有这样的代码在特效
if user_name() in('dbo','username','otherusers','bla')
set transaction isolation level read uncommitted
else
set transaction isolation level read committed
但是,当然,现在你有一个维护问题,目前所有的特效都可以修改
你也可以用suser_sname()检查但是这真的成为一个大的PITA
你也许还可以使用LOGON Trigger我还没有尝试过,我不相信这将工作
我会研究触发器选项。不完全是我所希望的,但它可能会诀窍 - 谢谢! – 2010-09-10 15:59:35
Ewen - 触发器选项有什么好运?我正在尝试做同样的事情,听起来像。我有很多只读的活动,并希望确保它们不锁定表。 – 2011-05-30 21:23:32
@Tom对不起,这是迟了2年,但不,触发选项将无法正常工作。当然,你可以在触发器中说'SET ISOLATION LEVEL',但就像它在存储过程中工作一样,当触发器超出范围时它将恢复为默认值 - 所以它只对在登录触发器内运行的查询有用本身。 [这里有一个更近期的讨论](http://dba.stackexchange.com/questions/47357/can-i-force-a-user-to-use-with-nolock)。 – 2013-07-31 16:58:09
- 1. 使用Crystal Reports的SQL Server 2005:设置事务隔离级别
- 2. 是否可以从MSSQL中的事务隔离级别设置ROWLOCK表提示?
- 3. 在基于Spring注释的事务中设置隔离级别
- 4. SQL Server中的事务隔离级别可重复读取
- 5. 事务,设置隔离级别
- 6. SET事务隔离级别
- 7. 如何在SQLAlchemy for PostgreSQL中设置事务隔离级别?
- 8. 在Squeryl中设置事务隔离级别
- 9. 设置SQL默认事务隔离级别
- 10. Microsoft SQL Server 2005中的默认隔离级别
- 11. EJB事务隔离级别
- 12. SQL Server 2008 R2中的隔离级别
- 13. 如何将事务隔离级别设置为SQLite中的ReadUncommitted?
- 14. 使用ADO.NET的SQL Server的默认事务隔离级别是什么?
- 15. 如何设置事务隔离级别与DBUnit
- 16. 事务中的隔离级别
- 17. 是否可以在每个用户的基础上设置ASP.NET Owin安全cookie的ExpireTimeSpan?
- 18. SQL:在REPEATABLE READ隔离级别,UPDATE锁是否保存到事务结束?
- 19. 如何设置Postgres数据源的事务隔离级别
- 20. 如何设置事务隔离级别的整数值
- 21. 设置Berkeley DB Java版中分布式事务(XA)的事务隔离级别
- 22. 事务隔离级别 - Azure SQL数据库中的表锁定
- 23. 事务隔离级别问题
- 24. Spring事务隔离级别vs数据库隔离级别的优先级
- 25. “事务隔离级别设置读取未提交”,并享有
- 26. 以每个用户为基础记录所有MySQL事务
- 27. 与LINQ到NOLOCK NOLOCK没有设置事务隔离级别
- 28. 默认SQL Server隔离级别更改
- 29. SQL Server快照隔离级别问题
- 30. SQL Server隔离级别问题
如何将用户所连接?如果我正确理解你的问题,那么我认为没有办法做到这一点。如果所有用户都通过一组代码进行连接,那么也许,但是如果您希望它发生在SSMS中的即席查询等,则不会。 – 2010-09-10 14:52:40
我正在考虑设置这个,无论用户如何连接(所以设置必须在SQL Server本身)。 – 2010-09-10 15:58:26