如果用户尝试使用有效令牌通过共享驱动器存取驻留在安装有 DB2 Datalinks 的 Windows NT 服务器上的 READ PERM DB 文件,该文件就会如期打开。但是,在此之后,使用同一令牌的后续打开请求并不会真正到达服务器,但会从客户机上的高速缓存中接受服务。即使令牌到期,文件的内容对用户来说仍然是可见的,因为该条目仍在高速缓存中。但是,如果文件驻留在 Windows NT 工作站上,则不会发生此问题。
解决方案就是在 Windows NT 服务器上将注册表项 \\HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\Lanmanserver\Parameters\EnableOpLocks 设置为零。通过此注册表设置,每当通过共享驱动器从客户机工作站存取驻留在服务器上的文件时,请求总是会到达服务器,而不是从客户机高速缓存接受服务。因此,必须对所有请求重新确认令牌。
此解决方案的负面影响就是这会影响通过共享驱动器对服务器上的所有文件进行存取时的总体性能。即使有了此设置,如果该文件是通过映射服务器本身的共享驱动器进行存取的,与通过另一客户机高速缓存进行存取相比,该请求仍然是从高速缓存接受服务的。因此,令牌到期没有影响。