鎖定檔案之後,未授予層級 II oplocks

文章翻譯 文章翻譯
文章編號: 306981 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

已經有一個範圍的鎖定檔案的檔案不是授與層級 II oplocks。這個問題的發生原因,直到移除該檔案的所有參考都,包括從作業系統如檔案快取的參考。

此問題可防止網路用戶端使用快取或先期讀取本機多個網路用戶端嘗試偵測檔案資料時可能會影響效能的有關資訊。

如需有關 oplock 行為的詳細資訊,檢視本文中的 其他相關資訊參考 區段。

發生的原因

檔案系統架構,在本文開頭所列的產品中並不提供機制來同步處理檔案鎖定和 oplocks,就會發生這個問題。如此一來層級 II oplocks 無法安全地授予給定的檔案之後已授與該檔案的檔案鎖定。

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。

其他相關資訊

系統核心,並可安裝的檔案系統 (IFS) 工具組,您無法移除不 alteratering grantable oplock 層級上所述的限制。這需要 redevelopment 和重新部署的所有檔案系統 (NTFS,CDFS、 FastFat、 UDFS,以及包括那些由協力廠商所提供的檔案系統的等等)。這些變更的影響是針對現有作業系統的 Hotfix 與 「 服務套件範圍之內。

重現問題的步驟

下列的步驟需要 Windows 2000 伺服器和兩個 Windows NT 或 Windows 2000 為基礎的用戶端。
  1. 用戶端 1 會開啟該檔案,要求的讀取和寫入存取和共用。這個程式碼會 NT_CREATE_ANDX SMB 產生至伺服器的例如:
    HANDLE h = CreateFile( "\\server\share\filename.ext",
                           GENERIC_WRITE | GENERIC_READ,
                           FILE_SHARE_WRITE | FILE_SHARE_READ,
                           0, OPEN_EXISTING,
                           FILE_ATTRIBUTE_NORMAL, 0 );
    					
  2. 伺服器會以 oplock 層級設定為 「 批次 」 給用戶端 1 取代 NT_CREATE_ANDX SMB 回應。
  3. 用戶端 2 開啟該檔案,要求的讀取和寫入存取和共用。
  4. 伺服器傳送 LOCKING_AND_X SMB 用戶端 1,中斷 Oplock 設定旗標。
  5. 伺服器回應至用戶端與 NT_CREATE_ANDX SMB 2 oplock 層級設定為 [II 」。
  6. 用戶端 2 要求對檔所做的獨占鎖定。這個程式碼會 LOCKING_ANDX SMB 產生至伺服器的例如:
    OVERLAPPED o = { NULL, NULL, 0, 0, NULL };
    LockFileEx( h, LOCKFILE_EXCLUSIVE_LOCK, 0, 0, 0, &o );
    					
  7. 伺服器會通知用戶端 1 和用戶端 2 的鎖定 (LOCKING_ANDX SMB)。
  8. 用戶端 1 和用戶端 2 關閉檔案。
  9. 用戶端 1 會開啟該檔案,要求的讀取和寫入存取和共用。
  10. 伺服器會以 oplock 層級設定為 「 批次 」 給用戶端 1 取代 NT_CREATE_ANDX SMB 回應。
  11. 用戶端 2 開啟該檔案,要求的讀取和寫入存取和共用。
  12. 伺服器傳送 LOCKING_AND_X SMB 用戶端 1,中斷 Oplock 設定旗標。
  13. 伺服器回應至用戶端與 NT_CREATE_ANDX SMB 2 oplock 層級設定為 [無]。

?考

取得更多資訊有關機會鎖定按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
129202PC 分機: 鎖 Windows NT 的說明

屬性

文章編號: 306981 - 上次校閱: 2007年12月1日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT 4.0 Service Pack 6
  • Microsoft Windows NT 4.0 Service Pack 6a
關鍵字:?
kbmt kbfile kbnofix kbprb KB306981 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:306981
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com