在SQL Server 2005中,是否可以自动将事务隔离级别设置为读取未提交的每个用户?
(例如,如果我为用户Fred设置了这样的登录选项,Fred就不必记得用NOLOCK提示撒上他的select语句,或者记得在他的sql中添加set transaction isolation level语句。)< / p>
答案 0 :(得分:2)
如果是存储过程,你可以在procs中使用这样的代码
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我没试过但不确定它是否会起作用