標籤

2021年1月30日 星期六

[IIS] HTTP 錯誤 500.21 - Internal Server Error

 

問題的來龍去脈

當您嘗試在 IIS 7.5 上執行 ASP.NET 應用程式(以 .NET Framework 4.0 為例)時,遇到【HTTP 錯誤 500.21-Internal Server Error,處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組"ManagedPipelineHandler"】(如下圖)的錯誤時該如何排除,本文將提供可能的解決方案。

問題的發生原因

要讓 Windows Server 2008(含以上)得以執行 ASP.NET 4.0 應用程式,必須啟用 IIS 角色並安裝 .Net Framework 4.0,若您是先安裝 .NET Framework 4.0 獨立安裝程式再啟用 IIS 角色就可能遇到上述的錯誤訊息,原因在於IIS角色在啟用時並未更新現有的應用程式以使用 ASP.NET 4 版本的應用程式集區 ,以及在 IIS Metabase 中未更新傳統模式及 IIS 整合模式下 ASP.NET 4 的處理常式與指令對應,以至於出現上述的錯誤訊息。

問題的解決方法




1.Win + R 開啟執行視窗後輸入 cmd 按確定,開啟命令提示字元。

2.依據作業系統的位元數切換至相對應的目錄。 32 位元的作業系統請切換至【%systemroot%\Microsoft.NET\Framework】。64 位元的作業系統請切換至【%systemroot%\Microsoft.NET\Framework64】。

3.輸入【aspnet_regiis -i】後按 ENTER,下圖的為在 64 位元的作業系統下所做的範例




依照上述步驟即可於 IIS 7.5 上執行 ASP.NET 4.0 應用程式。以本文所舉的情境為例,建議要讓 ASP.NET 順利在 IIS 7.5 上執行的設定步驟如下:
1.啟用 IIS 角色,並選取 ASP.NET 角色服務。
2.安裝 .Net Framework 4.0 獨立安裝程式。

2021年1月27日 星期三

嘗試在資料庫5 中提取邏輯頁() 失敗。該邏輯頁屬於分配單元xxx而非xxx

方法一

use master

declare @databasename varchar(255)

set @databasename='需要修復的資料庫實體的名稱'

exec sp_dboption @databasename, N'single', N'true' --將目標資料庫置為單使用者狀態

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--將目標資料庫置為多使用者狀態

檢查資料庫是否仍舊存在錯誤。注意:修復後可能會造成部分資料的丟失。 

方法二


2. DBCC CHECKTABLE

如果DBCC CHECKDB 檢查仍舊存在錯誤,可以使用DBCC CHECKTABLE來修復。

use 需要修復的資料庫實體的名稱

declare @dbname varchar(255)

set @dbname='需要修復的資料庫的名稱'

exec sp_dboption @dbname,'single user','true'

dbcc checktable('需要修復的資料表的名稱',REPAIR_ALLOW_DATA_LOSS)

dbcc checktable('需要修復的資料表的名稱',REPAIR_REBUILD)

------把’ 需要修復的資料表的名稱’更改為執行DBCC CHECKDB時報錯的資料表的名稱

exec sp_dboption @dbname,'single user','false'

方法三

3. 其他的一些常用的修復命令

DBCC DBREINDEX 重建指定資料庫中表的一個或多個索引

用法:

DBCC DBREINDEX (表名,’’) 修復此表所有的索引。

方法四

4.DBCC CHECKALLOC

檢查指定資料庫的磁碟空間分配結構的一致性

使用 DiskSpd 測試磁碟效能

  DiskSpd 是微軟創建的命令行磁碟測試工具。它結合了強大的IO工作負載定義來測量磁碟效能。由於它支援自由配置和調整參數,使其成為存儲效能測試、驗證和基準測試的理想工具。 步驟 1. 從 GitHub (說明) https://github.com/Microsoft/di...