首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 常見錯誤代碼速查與解決方案彙總

     編輯:關於SqlServer

錯誤代碼速查表

錯誤/現象原因分析解決方案
服務無法啟動
事件日誌:登入失敗
服務帳號密碼變更/鎖定/過期服務屬性 → 登入頁 → 選「本地系統帳號」或更新正確密碼;建議使用受控服務帳號 (gMSA) 自動輪換密碼
17051評估版授權過期輸入有效產品金鑰:安裝媒體 → 維護 → 版本升級 → 輸入 Key
126 (啟動失敗)VIA 通訊協定衝突SQL Server Configuration Manager → SQL Server 網路設定 → 協定 → 停用 VIA
233 (連線失敗)Named Pipes / TCP/IP 協定未啟用Configuration Manager → 啟用 Named Pipes 與 TCP/IP → 重啟服務
15466 / 15185
sp_addlinkedsrvlogin 解密失敗/無對應遠端登入
服務主金鑰 (SMK) 損毀或遷移後未重建`ALTER SERVICE MASTER KEY FORCE REGENERATE;` 重新產生 SMK,重建 Linked Server 登入對應
資料庫狀態:恢復掛起 (RECOVERY_PENDING)記錄檔遺失/損壞、磁碟空間不足導致恢復中斷`ALTER DATABASE [db] SET ONLINE;` 若無效 → `SET EMERGENCY` → `DBCC CHECKDB (REPAIR_ALLOW_DATA_LOSS)` → `SET ONLINE` (資料可能遺失)
823 / 824 / 825 (I/O 錯誤)磁碟子系統故障、控制器快取問題、檔案系統損壞立即備份 (若可) → 硬體診斷 → 更換故障磁碟 → 從備份還原
1205 (死結)並發交易循環等待資源優化索引/查詢順序、縮短交易、設定 `DEADLOCK_PRIORITY LOW`、啟用追蹤旗標 1222/1204 記錄死結圖
3960 (快照隔離衝突)快照交易讀取被其他交易修改的資料重試邏輯、縮短交易、評估是否需 `READ_COMMITTED_SNAPSHOT`
1105 / 1101 (空間不足)檔案群組/資料庫/記錄檔達到上限/磁碟滿擴充磁碟、增加檔案、調整自動增長、清理舊備份、收縮 (謹慎)

通用排查流程

  1. 錯誤日誌:`sp_readerrorlog` / SSMS → 管理 → SQL Server 錯誤日誌。
  2. Windows 事件檢視器:System/Application 日誌篩選 Source `MSSQLSERVER`/`MSSQL$Instance`。
  3. 動態管理視圖:`sys.dm_os_ring_buffers` (記憶體/排程器)、`sys.dm_exec_requests` (阻塞/等待)、`sys.dm_db_index_physical_stats` (碎片)。
  4. Extended Events / Profiler:針對性捕捉 `error_reported`、`deadlock_graph`、`blocked_process_report`。

預防性維護清單

  • 定期 `DBCC CHECKDB` (建議離峰、配合 `PHYSICAL_ONLY` 快速檢查)。
  • 索引重建/重組 + `UPDATE STATISTICS` 排程作業。
  • 備份驗證:`RESTORE VERIFYONLY` + 定期演練還原。
  • 磁碟空間/記憶體/CPU 基線監控與告警。
  • 服務帳號密碼輪換策略 (gMSA / 定期手動更新)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved