文章編號: 303519 - 上次校閱: 2004年6月30日 - 版次: 6.0

如何: 一個將 Jet 3.x 資料庫保持在最上層工作條件

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

Microsoft Jet 是由 Microsoft Access 的預設使用的資料庫引擎。本文提供您可以使用來協助您將 Jet 資料庫保持在最佳狀態的最佳實務清單。本文將說明在單一和多使用者環境中執行的資料庫。

最佳作法

不論您是唯一的使用者資料庫,或是否資料庫正由多個使用者在網路上的這個區段會套用到所有的 Jet 資料庫。

請確認已安裝最新的作業系統 Service Pack

安裝最新的作業系統 Service Pack。如此可確保您有最新的 Bug 修正。

定期,Microsoft 提供 Service Pack 和更新至 Office 以確保最佳的效能及最佳的互通性會維持與其他程式。如需有關如何取得最新版本的 Office 97 的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
194377? (http://support.microsoft.com/kb/194377/ ) 更新的 Microsoft Office 97 SR-2 更新程式 OFF97: 概觀
若要確認您有最新的 Service Pack 安裝適合您作業系統,請造訪下列 Microsoft 網站]:
http://windowsupdate.microsoft.com (http://windowsupdate.microsoft.com)
如果您使用網路環境中務必確定網路檔案伺服器具有最新的作業系統 Service Pack,以確定它有最新的 Bug 修正網路重新導向器和檔案系統。

請確認已安裝最新的 Microsoft Jet Service Pack

安裝最新的 Microsoft Jet Service Pack。如此可確保您有最新的 Bug 修正程式,以 Microsoft Jet。若要下載最新的 Jet 4.0 Service Pack,請參閱下列的 「 Microsoft 知識庫 」 中的文件:
172733? (http://support.microsoft.com/kb/172733/EN-US/ ) ACC97: 更新版本的 Microsoft Jet 3.5 可供下載
如果您是在網路環境,您必須在所有用戶端電腦上安裝最新的 Microsoft Jet Service Pack。請注意您不需在網路檔案伺服器上安裝 Microsoft Jet Service Pack,除非網路檔案伺服器也會執行一或多個使用 Microsoft Jet 的應用程式。

使用高效率資料庫設計

一個有效率地設計不但可以提高資料庫的效能。它也有助於降低檔案將會損毀的可能性。 取得更多資訊有關設計資料庫最佳實務按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
288949? (http://support.microsoft.com/kb/288949/EN-US/ ) ACC: 何處可以找到有關設計在 Access 資料庫的資訊

使用對應的 Jet 資料庫檔案格式版本的 Jet 引擎所使用的

當您使用 Microsoft Jet 4.0 用戶端時,取得最佳效能及穩定性,使用 Microsoft Jet 4.0 格式資料庫。同樣地,使用 Microsoft Jet 3.0 格式資料庫,當您使用 Microsoft Jet 3.5 用戶端,等等。

此處是目前可用的 Jet 格式和何種轉譯器 dll 用 (如果有的話) 來使用 Microsoft Jet 3.5 用戶端時這種格式和說話的資料表:

   Access Version	Jet Format    Translator Dll Used
   --------------	----------    -------------------
    Access 2.0    	Jet 2.0       msrd2x40.dll
    Access 95     	Jet 3.0       none
    Access 97     	Jet 3.0       none
				
本圖表顯示 Microsoft Access 95 與 Access 97 建立 Microsoft Jet 3.0 格式資料庫檔案。如果您使用 Microsoft Jet 3.5 用戶端,最好使用 Microsoft Jet 3.0 格式資料庫。

這裡是常用的 Microsoft Jet 資料庫引擎用戶端和它們所使用的 Jet 引擎版本的相關的清單:

   Client Application          Jet Engine Used    Recommended Jet DB Format
   -------------------------   ---------------    -------------------------
    Access 2.0                       Jet 2.0             Jet 2.0
    Access 95                        Jet 3.0             Jet 3.0
    Access 97                        Jet 3.5             Jet 3.0
    Access 2000                      Jet 4.0             Jet 4.0
    Access 2002                      Jet 4.0             Jet 4.0
    DAO 3.0                          Jet 3.0             Jet 3.0
    DAO 3.5                          Jet 3.5             Jet 3.0
    DA0 3.6                          Jet 4.0             Jet 4.0
    Microsoft.JET.OLEDB.3.51         Jet 3.5             Jet 3.0
    Microsoft.Jet.OLEDB.4.0          Jet 4.0             Jet 4.0
    Access ODBC Driver*              Jet 4.0             Jet 4.0
				
注意: 不隨附 MDAC 2.0 (含) 以前版本的 [Microsoft Access ODBC 驅動程式會使用 Microsoft Jet 3.5。隨附於 MDAC 2.1 和 MDAC 2.5 的 Microsoft Access ODBC 驅動程式會使用 Microsoft Jet 4.0。MDAC 2.6 或更新版本不包含 Microsoft Access ODBC 驅動程式根本。

在某些情況下 (,例如當您有共用相同的資料庫檔案的舊版及新版 Jet 應用程式) 您可能無法使用最新的 Jet 資料庫檔案格式。這是因為舊版的 Jet 引擎無法讀取或寫入新版的 Jet 資料庫檔案格式。在這種情況下必須使用較舊的格式,並使用轉譯器 dll。

避免使用保留的字和字元的物件和欄位名稱

避免使用保留的字和字元,當您的資料庫中命名物件及欄位。在某些情況下,保留的字或單獨或組合的其他單字,但住藉由使用的字元空格可能會導致資料庫損毀。 如需有關保留的字和在 Access 中的字元的額外資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
109312? (http://support.microsoft.com/kb/109312/EN-US/ ) ACC: 在 Access 中的保留的字
151801? (http://support.microsoft.com/kb/151801/EN-US/ ) ACC: 名為 「 應用程式 」 欄位會造成錯誤
如需有關保留的字和字元的詳細資訊,按一下 [說明] 功能表上的 [內容] 和 [索引、 按一下 [索引] 索引標籤存取 [說明] 中的,鍵入下列文字
保留的字
然後再連按兩下所選取的文字,以移至 「 Microsoft Jet 資料庫引擎 SQL 保留字 」 主題。如果您找不到您需要的資訊詢問 Office 小幫手。


定期壓縮您的 Microsoft Jet 資料庫

如果您經常變更資料庫中,部分資料庫會變得過於分散。因此,最好是定期執行 Microsoft Access 中的 [開始壓縮資料庫公用程式。如果您沒有一份 Microsoft Access 則您仍然可以使用 JetComp 公用程式壓縮資料庫。Jetcomp.exe 隨附的 Microsoft Jet 3.5 最新的 Service Pack。

如需有關如何取得 Microsoft Jet 3.5 為最新的 Service Pack 的詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
172733? (http://support.microsoft.com/kb/172733/EN-US/ ) ACC97: 更新版本的 Microsoft Jet 3.5 可供下載
如果想使用 Jetcomp.exe 與 Microsoft Access 執行階段資料庫按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
184582? (http://support.microsoft.com/kb/184582/EN-US/ ) 以 Access 97 Run-Time 資料庫執行 Jetcomp.exe ODE97: 錯誤
排程壓縮如何根據多資料變更。如果資料不會變更,通常,您沒有壓縮該大有。如果有許多與頻繁的更新、 插入及刪除,壓縮更。即使是沒有正式規則適用於經常壓縮的方式 Microsoft 建議您定期壓縮。

下一個幾段說明壓縮是由 Microsoft Jet,更詳細的程序。如更一般的壓縮資料庫說明,按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
92681? (http://support.microsoft.com/kb/92681/EN-US/ ) ACC: 重組及壓縮資料庫來改善效能
Microsoft Jet 引擎視為 Microsoft Access 資料庫檔案系列 2048年個位元組區塊更相同的方式如同一般的檔案系統會將資料視為您硬碟上。完整的 Microsoft Jet 資料表中的記錄集是由儲存系列這些區塊的每個區塊指向下一個區塊。每個區塊可以保存一或多個資料錄,視多少欄位和多少資料位於每一筆記錄。經過一段時間時加入資料錄和從資料表刪除,資料庫檔案內將會變得過於分散資料表區塊。

壓縮 Microsoft Jet 資料庫重組這些區塊,並且嘗試將每個資料表放在區塊的連續範圍。這樣可以改善讀取和寫入至資料表的效能。

Microsoft Access 資料庫中的索引也會儲存在 2048年個位元組區塊,並可以就像資料表記錄一樣變得分散。

當它壓縮 Microsoft Jet 資料庫時,Jet 更新資料表儲存在資料庫內的統計資料。索引鍵資料表都有一個統計資料是一個表格中的記錄數目。如果資料表統計資料中的記錄筆數大大不同於實際的資料表中的記錄數,效能可能不好。比方說如果資料表統計資料表示有少數幾個資料表中的資料錄,Jet 資料庫引擎最佳化器將不會使用任何索引上資料表時,它會執行搜尋,或聯結 (Join)。如果有真的是少數幾個資料錄,這是實際更有效率。但是,如果有大量的記錄這可能會變得非常沒有效率。索引鍵的概念是如果大量的記錄是新增及刪除及更新,它更頻繁地壓縮資料庫的最佳方法。

Microsoft Jet 也會 re-optimize 資料庫中的預存的查詢期間壓縮以反映更新的資料表統計資料。因此,預存的查詢效能也可以改善藉由更頻繁的壓縮。

備份定期在 Microsoft Jet 資料庫檔案

最好選擇對應於等您有錢遺失的資料量的備份排程。比方說如果您無法承擔遺失的資料超過一天的價值,備份上每日。如果可以承擔遺失一週價值的資料,備份每週,依此類推。完整的資料庫檔案備份是最好的方式以確定發生損毀時可以復原您的 Microsoft Jet 資料庫檔案。

重要: 如果您是在網路環境中,您必須關閉所有的 Microsoft Jet 用戶端之前您備份 Microsoft Access 資料庫檔案。如果您不這樣做,可能會建立備份的檔案資料不完整或不一致。測試您定期以確定您的備份是良好的備份。

額外的網路環境的最佳作法

Microsoft Jet 是檔案共用式資料庫系統。檔案共用的資料庫是在其中所有檔案的處理會發生在用戶端。當檔案共用式資料庫,例如 Microsoft Jet 用在多使用者環境中時,多個用戶端處理程序是使用檔案讀取,寫入,且在網路上鎖定上相同的共用檔案的作業。如果因任何原因而無法完成處理程序,檔案可以留在一個不完整或損毀的狀態。兩個時無法完成處理程序的範例是當用戶端意外終止或連接到伺服器的網路連線被卸除。

Microsoft Jet 並不適合高壓力、 高並行處理、 24x7 伺服器應用程式,例如網路、 商務交易式和訊息的伺服器使用。這些類型的應用程式最佳的解決方案是切換到,則為 True 的用戶端/伺服器架構資料庫系統 (例如 Microsoft 資料引擎 (MSDE) 或 Microsoft SQL Server。當您在高壓力應用程式如 Microsoft 「 網際網路資訊伺服器 (IIS) 中使用 Microsoft Jet 時,客戶有報告資料庫損毀、 穩定性問題,如 IIS 當機或鎖定,以及也一個突然和永續性失敗的驅動程式連接至需要重新啟動 IIS 服務的有效資料庫。

下列是共用網路檔案伺服器上的 Microsoft Jet (Microsoft Access) 的資料庫檔案時,請遵循的建議事項的清單。


Opportunistic 網路檔案伺服器上鎖定 (oplocks)

Microsoft 已發現其中鎖可以增加 Jet 資料庫損毀的風險時由網路檔案伺服器上的兩個或多個用戶端共用檔案的問題。這個問題適用於 Microsoft Windows NT 4.0]、 [Microsoft Windows 2000] 和 [支援伺服器用戶端檔案鎖的 Novell 檔案伺服器。這個問題也適用於用戶端,執行 Microsoft Windows NT 4.0、 Microsoft Windows 2000 或 Microsoft Windows XP 及,連線到支援伺服器用戶端檔案鎖的檔案伺服器。

Windows 2000

若要減少執行 Windows 2000 的電腦就會發生這個問題的可能性,您必須在 Access 資料庫檔案的所在位置的 Windows 2000 檔案伺服器上安裝 Windows 2000 Service Pack 3 (SP3)。然後,您必須在連線到 Windows 2000 檔案伺服器的每個 Windows 2000 用戶端電腦上安裝 Windows 2000 Service Pack 3。如需有關如何取得和如何安裝 Windows 2000 服務 Pack3 的額外資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
260910? (http://support.microsoft.com/kb/260910/EN-US/ ) 如何取得最新的 Windows 2000 Service Pack
如果有 Microsoft Windows 95、 Microsoft Windows 98、 Microsoft Windows 千禧版 (Me) 或 Microsoft Windows NT 4.0 用戶端您沒有安裝 Service Pack 所提及知識庫文件 260910 這些用戶端上。

Windows XP

若要避免在執行 Windows XP 的電腦上問題,安裝下列 「 知識庫 」 文件中的 [安全性更新所提到]。連接到 Access 資料庫所在的檔案伺服器的每一部 Windows XP 用戶端電腦,您必須執行這項操作。
329170? (http://support.microsoft.com/kb/329170/EN-US/ ) MS02-070: SMB 簽章的瑕疵可能會允許修改群組原則
如果有 Windows 95、 Windows 98、 Windows 千禧版或 Windows NT 4.0 用戶端並不需要知識庫文件 329170 這些用戶端上安裝安全性更新所述。

停用伺服器用戶端檔案鎖

如果您使用 Windows NT 4.0,而且會發生下列問題:
  • 您無法安裝 Windows 2000 SP3 和 Windows XP 安全性更新。
  • 您已安裝的 Windows 2000 SP3 和 Windows XP 安全性更新,但是您仍看到頻繁的損毀。
您可以停用伺服器用戶端檔案鎖,要避免這個問題。

重要: 停用伺服器用戶端檔案鎖可能會造成不良的影響其他應用程式的效能。如果您有關於此問題,請連絡 Microsoft Windows 技術支援人員。

取得更多資訊有關停用伺服器用戶端檔案鎖在 Windows NT 4.0 上按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
129202? (http://support.microsoft.com/kb/129202/EN-US/ ) PC 分機: 鎖 Windows NT 的說明
取得更多資訊有關停用伺服器用戶端檔案鎖在 Windows 2000 上按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
296264? (http://support.microsoft.com/kb/296264/EN-US/ ) 設定在 Windows 2000 的伺服器用戶端檔案鎖
若要停用伺服器用戶端檔案鎖 Novell 檔案伺服器上,Microsoft 建議您連絡 Novell 技術支援人員。如有關如何連絡 Novell,按一下 [下列清單中相關的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
65416? (http://support.microsoft.com/kb/65416/EN-US/ ) 硬體及軟體協力廠商連絡人清單 A-K

60781? (http://support.microsoft.com/kb/60781/EN-US/ ) 硬體及軟體協力廠商連絡人清單 L-P

60782? (http://support.microsoft.com/kb/60782/EN-US/ ) 硬體及軟體協力廠商連絡人清單 Q-Z
Microsoft 提供協力廠商連絡資訊可協助您尋找技術支援。此連絡人資訊若有變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。

當您共用 Microsoft Jet 資料庫應該考量的問題

如果您可以不共用 Microsoft Jet 資料庫檔案儲存在 Microsoft Windows 95、 一個 Microsoft] Windows 98 或與 Windows NT 或 Windows 2000 用戶端的 Microsoft Windows 千禧版 (Me) 檔案共用。時您網路上的電腦混合含有一些執行 Windows 95、 Windows 98 或 Windows Me 和一些正在執行 Windows NT 或 Windows 2000 的電腦必須與其他網路使用者共用資料庫 Microsoft 建議您儲存,並與停用伺服器用戶端檔案鎖共用資料庫檔案,Windows NT 或 Windows 2000 伺服器上。 如果您有 Windows NT 或 Windows 2000 用戶端電腦共用儲存在 Windows 95、 一個 Windows] 98年或 Windows Me 檔案共用的檔案,就可能發生損毀。即使 Windows NT 或 Windows 2000 用戶端已停用伺服器用戶端檔案鎖,這可能發生。這個問題仍在進行調查,之下,而且 Microsoft 將會張貼進一步本文的資訊可供使用時。

使用強大的檔案伺服器

請確定您有可以處理的使用者和所都會套用至 Microsoft Jet 資料庫檔案的要求數量的健全的檔案伺服器。此外,請確定檔案伺服器不 overtaxed 與處理許多其他處理,例如做為 Windows 網域控制站、 Exchange Server 和 SQL Server。這個建議的原因是網路系統管理員或之伺服器的另一個擁有者可能會重新開機電腦,以修正另一個重要的服務 (例如郵件伺服器中) 有問題或可能會在套用新的軟體、 Service Pack 或 Hotfix 後, 重新開機並可能忘了 Microsoft Jet 資料庫目前共用伺服器上。重新開機檔案伺服器將會造成意外的中斷用戶端的連線到資料庫,可能會導致資料庫損毀。若要避免這個中斷用戶端連線,所有用戶端必須重新開機檔案伺服器或軟體前套用到檔案伺服器的更新之前關閉資料庫。

健全的檔案伺服器也必須放在安全位置,讓它不會被意外。伺服器必須有一個不會中斷的電源供應 (UPS) 來保護從間歇性的電源中斷或電源波動。網路檔案伺服器也必須有高效能硬碟機、 良好的網路卡及足夠的 RAM 以確定伺服器可以處理會放在它的負載。

確認網路連通性

請確定您擁有穩定且快速的網路,實心的網路連線到網路檔案伺服器。避免使用 Microsoft Jet 透過 WAN、 數據機連線、 FTP (或任何其他較不可靠的網路傳輸)。因為 Microsoft Jet 檔案共用式資料庫系統任何較不可靠的網路傳輸增加已卸除的用戶端的機會。這樣可以增加資料庫損毀的機會。

從每個用戶端進行連線的數目減至最少

如果您可以設計每個用戶端使用一個,而且只有一個,連線到 Microsoft Jet 資料庫。每個連線,讓 Jet 資料庫與資料庫代表獨立用戶端,甚至時這些連線是來自相同的用戶端處理序。若要最佳化效能和網路 I/O,和降低後端資料庫上多使用者的壓力,設計用戶端應用程式使用單一 Jet 的資料庫連線,然後共用這個連線透過多個資料錄集,視需要。這有防止用戶端應用程式的讀取/寫入延遲已加入的優點。預設情況下,有是指五秒的延遲將值寫入資料庫與能夠以讀取這個更新的值寫入和讀取兩個不同 Jet 連線時,即使兩個連線位於相同的用戶端處理序之間。如果您使用單一連線,就能避免這個問題。

使用 ADO 存取 Microsoft Jet 資料庫

當您從 ADO 存取 Microsoft Jet 資料庫時,Microsoft 建議您使用 Microsoft Jet OLEDB 提供者,而非 Microsoft Access ODBC 驅動程式。 如需有關這個主題的詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
222135? (http://support.microsoft.com/kb/222135/EN-US/ ) ACC97: 使用 Microsoft Jet 與 IIS

移到異動資料庫引擎來提高完整性

與一個檔案為基礎的資料庫] 引擎不同如 Microsoft SQL Server 將伺服器資料庫引擎會處理所有的多個用戶端要求在伺服器的資料庫。伺服器會持續追蹤的交易記錄檔中的這些要求。如果因任何原因而無法被滿足要求,伺服器會復原,或不會處理要求。這會減少資料庫將處於不完整或損毀狀態的可能性。

將檔案資料庫引擎升級伺服器資料庫引擎之前但是,請考慮這樣做的優缺點。 如需有關選擇您的目的最適當的資料庫引擎的詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
168549? (http://support.microsoft.com/kb/168549/EN-US/ ) ACC97: 在下載中心 」 中選擇適當的資料庫份白皮書可用

?考

取得更多資訊有關您的資料庫已經已經損毀時該如何處理按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
306829? (http://support.microsoft.com/kb/306829/EN-US/ ) ACC97: 如何疑難排解在 Microsoft Access 資料庫中的損毀
為本文涵蓋的其他主題的詳細資訊,請參閱 [Microsoft Jet 資料庫引擎開發者快速入門],並按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
第二版標題: Microsoft Jet 資料庫引擎程式設計人員指南
發行者: Microsoft 請按
1995 年十二月的日期:
ISBN: 1-57231-342-0
包括: 一個 CD
200300? (http://support.microsoft.com/kb/200300/EN-US/ ) HOWTO: 同步處理寫入和讀取 [Jet OLE DB
109953? (http://support.microsoft.com/kb/109953/EN-US/ ) ACC: 如何疑難排解/修復損毀的 Jet 4.0 資料庫
222135? (http://support.microsoft.com/kb/222135/EN-US/ ) ACC: 使用 Microsoft Jet 與 IIS
296264? (http://support.microsoft.com/kb/296264/EN-US/ ) 設定在 Windows 2000 的伺服器用戶端檔案鎖
129202? (http://support.microsoft.com/kb/129202/EN-US/ ) PC 分機: 鎖 Windows NT 的說明

這篇文章中的資訊適用於:
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft OLE DB Provider for Jet 3.51
  • Microsoft Open Database Connectivity Driver for Access 4.0
關鍵字:?
kbmt kbfaq kbhowtomaster KB303519 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:303519? (http://support.microsoft.com/kb/303519/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
Retired KB Article依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。