當 SQL Server 嘗試雜湊資料庫 ID\%d 的邏輯頁面 \%S_PGID,但 SQL Server 雜湊表中已有該頁面時,即會發生此錯誤。
當 SQL Server 嘗試雜湊資料庫 ID%d 的邏輯頁面 %S_PGID,但 SQL Server 雜湊表中已有該頁面時,即會發生此錯誤。
此錯誤通常是因為其他資料錯誤而產生的副效應,通常執行 DBCC CHECKDB 但不用修復子句,即可偵測到此錯誤。
請檢閱 SQL Server 錯誤記錄檔,並對資料庫執行 DBCC CHECKDB 且提供適當的修復子句。若此錯誤涉及索引頁面,請使用 REPAIR_REBUILD 子句; 若此錯誤涉及資料頁面,則需要使用 REPAIR_ALLOW_DATA_LOSS 子句。若無法容忍資料遺失,則需要從已知完好的備份進行還原。如果問題持續發生,請連絡主要的支援提供者,並請備妥 DBCC CHECKDB 提供的輸出供檢閱。
重要事項:如果執行含有其中一種修復子句的 DBCC CHECKDB 無法改正索引問題,或是不確定含有修復子句的 DBCC CHECKDB 會對資料產生何種影響,請連絡您的主要支援提供者。
請與硬體廠商確認 SQL Server 目前所使用的磁碟子系統,擁有目前支援及建議的韌體與硬體等級。
如果 DBCC CHECKDB 找不到任何錯誤; 或是如果找到了錯誤並加以修正,且後續 DBCC 陳述式未指出任何錯誤,但又重新出現此錯誤,則請連絡您的主要支援提供者。請提供 SQL Server 錯誤記錄檔以及 DBCC CHECKDB 與 sp_configure的輸出結果以供檢閱。
名稱 | 描述 | 預設值 |
已啟用 | 啟用或停用該工作流程。 | 是 |
間隔 (秒) | 每次重複執行工作流程之間的時間間隔 (秒)。 | 300 |
優先順序 | 定義警示優先順序。 | 1 |
嚴重性 | 定義警示嚴重性。 | 1 |
同步處理時間 | 同步處理時間 |
|
逾時 (秒) | 指定流程被關閉及標示為失敗之前,允許執行的時間。 | 200 |
資料庫連線的逾時 (秒) | 若工作流程無法在指定的期限之內存取資料庫,將會失敗並登錄一則事件。 | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Logical_page_in_database_is_already_hashed_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{1DEC4754-8DE3-475E-AE58-EE2760B8F1C5}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>813</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.Logical_page_in_database_is_already_hashed_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>