摘要
從 2021 年 5 月 11 Windows Microsoft Office 更新開始,新增了一個讓您的應用程式更安全的選項,這一選項允許您在查詢執行中停用遠端參考。
從 2021 年 10 月 12 Windows 開始,當應用程式嘗試透過 SQL 查詢開啟外部資料庫時,會新增一個選項來記錄 Windows 事件。
當您允許未受許可權的使用者使用 Jet Red SQL 或 Access Connectivity Engine 資料庫引擎 ACE (執行自訂 SQL 查詢時,您可能需要執行這項) 。
根據預設,不會安裝這些更新來存取 Jet 或 ACE。
其他相關資訊
存取遠端資料庫
如果您停用 Jet Red 資料庫引擎 或 Access 連線引擎 (ACE) 存取遠端資料庫,您可能會在執行 SQL 查詢時收到類似於下列內容的錯誤訊息:
-
Microsoft Access: 如果使用者在 Access 中執行查詢,會顯示下列錯誤訊息:
錯誤訊息對話方塊 |
錯誤訊息文字 |
|
Microsoft Access 運算不支援此物件類型。 |
-
Microsoft Access: 如果使用者執行執行查詢的代碼,則會顯示執行階段錯誤 3251,除非錯誤訊息以程式碼處理:
錯誤訊息對話方塊 |
錯誤訊息文字 |
Microsoft Visual Basic for Applications 執行階段錯誤「3251」: 運算不支援此物件類型。 |
警告: 如果您在停用下列登錄值之後選擇重新啟用,可能會讓裝置容易受到惡意使用者或惡意軟體的攻擊。 我們不建議您在停用這些登錄值後重新啟用這些值。 不過,我們會提供這項資訊,以便您可以選擇自行執行這項操作。 請自行承擔使用這項操作的風險。
警告: 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。 您可能需要重新安裝作業系統才能解決這些問題。 Microsoft 不保證可以解決這些問題。 請自行承擔修改登錄的一切風險。
遠端資料庫存取嘗試的稽核
附註: 目前僅適用于 Jet Red 資料庫引擎稽核。
稽核會新增到事件檢視器中,Windows「應用程式與服務記錄'\Microsoft\Windows\JetRed」下記錄事件。
根據預設,稽核會透過新的 DWORD AllowQueryRemoteTables_Audit 啟用 稽核 ,0 會停用稽核。
如果已啟用此功能,Windows事件"層級"為「資訊」,而「 訊息」為「已嘗試開啟外部資料庫」。
如果此功能已停用,則「層級」為「錯誤」,而「訊息」為「已封鎖外部資料庫開啟嘗試」。
事件的 "詳細資料" 選項卡會同時包含外部資料庫的路徑和可執行檔,如下列範例所示:
-
EventData
資料庫路徑:C:\PathToMyDb\myDatabase.mdb
可執行C:\PathtoMyApplication\myApplication.exe
Jet Red 資料庫引擎
若要停用 Jet Red 資料庫引擎存取遠端資料庫,請將下列內容新增到登錄:
適用于 x64 型裝置:
-
登錄位置: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines
DWORD 名稱: AllowQueryRemoteTables
數值資料: 0
適用于 x86 型裝置:
-
登錄位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines
DWORD 名稱: AllowQueryRemoteTables
數值資料: 0
附註: 若要重新啟用 Jet Red 資料庫引擎存取遠端資料庫,請將數值資料變更為 1。
若要在 Jet Red 資料庫引擎嘗試存取遠端資料庫時停用稽核,請新增 DWORD AllowQueryRemoteTables_Audit DWORD至登錄:
適用于 x64 型裝置:
-
登錄位置: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines
DWORD 名稱:AllowQueryRemoteTables_Audit
值資料:0
適用于 x86 型裝置:
-
登錄位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines
DWORD 名稱:AllowQueryRemoteTables_Audit
值資料:0
附註: 若要重新啟用 Jet Red 資料庫引擎以稽核遠端資料庫的存取嘗試,請變更值資料為 1。
Access 連線引擎 (ACE)
若要停用使用 Access Connectivity Engine (ACE) 存取遠端資料庫,請新增下列 DWord 和值至註冊表,如下表所示:
-
DWORD 名稱: AllowQueryRemoteTables
-
值資料:0
安裝類型 |
Office 版本 |
OS 位度 |
Office位度 |
註冊表路徑 |
C2R |
365 / 2019 / 2016 |
x64 |
x64 |
|
C2R |
365 / 2019 / 2016 |
x86 |
x86 |
|
C2R |
365 / 2019 / 2016 |
x64 |
x86 |
|
C2R |
2013 |
x64 |
x64 |
|
C2R |
2013 |
x86 |
x86 |
|
C2R |
2013 |
x64 |
x86 |
|
微星 |
2016 |
x64 |
x64 |
|
微星 |
2016 |
x86 |
x86 |
|
微星 |
2016 |
x64 |
x86 |
|
微星 |
2013 |
x64 |
x64 |
|
微星 |
2013 |
x86 |
x86 |
|
微星 |
2013 |
x64 |
x86 |
|
附註: 若要重新啟用 Access 連線引擎 (ACE) 存取遠端資料庫,請將數值資料變更為 1。