2024年4月2日 星期二

SQL Server 叢集版本升級問題與相關注意檢查事項

最近協助客戶進行升級的動作,但客戶表示已有升級多台 SQL Server 主機,發現單機升級的部份都可以正常的進行,但在進行叢集環境時,竟然發現都是失敗的,所以心想該不會真的叢集升集也是有造成這個問題的。 

進一步的確認 SQL Server 的安裝日誌,發現有下列的錯誤訊息。

(01) 2024-03-20 17:29:45 Slp: Running Action: RunRemoteDiscoveryAction
(01) 2024-03-20 17:29:45 Slp: Running discovery on remote machine: SQL01
(01) 2024-03-20 17:29:45 Slp: Running discovery on local machine
(01) 2024-03-20 17:29:46 Slp: Discovery on SQL01 failed due to exception
(01) 2024-03-20 17:29:46 Slp: Microsoft.SqlServer.Management.Sdk.Sfc.EnumeratorException: Failed to retrieve data for this request. ---> Microsoft.SqlServer.Configuration.Sco.SqlRegistryException: The network path was not found.

(01) 2024-03-20 17:29:49 Slp: Exception type: Microsoft.SqlServer.Management.Sdk.Sfc.EnumeratorException
(01) 2024-03-20 17:29:49 Slp:     Message: 
(01) 2024-03-20 17:29:49 Slp:         Failed to retrieve data for this request.
(01) 2024-03-20 17:29:49 Slp:     HResult : 0x80131500

安裝日誌路徑:%programfiles%\Microsoft SQL Server\nnn\Setup Bootstrap\Log 

檢視與讀取 SQL Server 安裝程式記錄檔 

從上述的錯誤來看,其實在叢集進行升級時,二個節點間會進行確認,所以常見在 Admin Share 或相關服務等沒有開啟時,在安裝的檢查畫面時就會發生錯誤,造成無法進行安裝。 建議的作法上,可以在進行安裝時,逐一檢查下列的項目,在檢查後,的確認發現客戶的相關服務已關閉,造成安裝檢查失敗,在服務啟動後,即可進行安裝完成。 

建議檢查項目
1) 建議透過 Local Administrator 的身份登入 

2) 檢查下列的機碼值是否存在 PendingFileRenameOperations

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 

已值應該是不存在或是空白的,如果此值不是空白的話,請先嘗試進行重啟進行確認。 

3) 確認下列的 Windows Services 是否有啟動,如果沒有啟動的話,請嘗試的啟動下列的服務。

Alerter 
Cluster Service 
Computer Browser 
Cryptographic Services <====This must be running on all nodes.
DHCP Client
Distributed File System 
Distributed Link Tracking Client 
Distributed Link Tracking Server 
DNS Client 
Event Log 
IPSEC Policy Agent 
License Logging Service 
Logical Disk Manager 
Messenger 
Net Logon 
Network Connectors 
NTLM Security Support Provider 
Plug and Play 
Process Control 
Remote Procedure Call (RPC) Locator 
Remote Procedure Call (RPC) Service 
Remote Registry Service <====This must be running on all nodes.
Removable Storage 
Security Accounts Manager 
Server 
Spooler
Task Scheduler <====This must be running on all nodes.
TCP/IP NetBIOS Helper 
Telephony
Time Service 
Windows Management Instrumentation Driver Extensions 
Windows Time Service 
Workstation 

4) 確認 Admin Shares 是否有開放,預設的情況下是有開啟的,但有些客戶的環境會進行停用,所以也請嘗試啟用。

Net use \\\IPC$ 
Net use \\\C$ 
Net use \\\D$ (drive may not exist) 
Net use \\\Admin$