安裝SQL Server 2012(Denali) RC0時,出現【在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗】該如何排除?

安裝SQL Server 2012(Denali) RC0時,出現【在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗】該如何排除,本文將介紹問題發生的原因及可能的解決方案。

為使安裝過程更加順利,安裝SQL Server 2012(Denali) RC0前,記得先移除CTP3並安裝Visual Studio 2010 SP1,有關移除的相關資訊請見移除SQL Server 2012 (Code Name Denali)之參考資料一文。

以下一系列截圖為SQL Server 2012(Denali)RC0安裝過程的截圖,基本上都跟CTP3差不多,有關每個畫面的簡述,請見SQL Server “Denali”CTP3 安裝全紀錄一文。

 

螢幕截圖00001螢幕截圖00002螢幕截圖00003螢幕截圖00004螢幕截圖00005螢幕截圖00006螢幕截圖00007螢幕截圖00008螢幕截圖00009螢幕截圖00010螢幕截圖00011螢幕截圖00012螢幕截圖00013螢幕截圖00014螢幕截圖00015螢幕截圖00016螢幕截圖00017螢幕截圖00018螢幕截圖00019

 

其中在Distributed Replay Controller服務的權限設定畫面中,若您安裝使用本機帳戶登入,且直接點選加入目前使用者

 

螢幕截圖00020

 

將會接收到【在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗】的錯誤訊息(如下圖),並強制關閉SQL Server 2012 RC0 Setup安裝精靈。

 

螢幕截圖00021

 

標題: SQL Server 安裝程式失敗。
------------------------------
 
SQL Server 安裝程式發現下列錯誤:
 
在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗。
 
錯誤碼 0x85640004。
 
如需說明,請按一下: http://go.microsoft.com/fwlink?LinkID=20476&;ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&EvtType=0x601E39D7
 
------------------------------
按鈕:
 
確定
------------------------------

 

這個問題在CTP 3時並不會發生,關於上述錯誤訊息, MSDN中有關安裝Distributed Replay的必要條件中提到,在開始安裝Distributed Replay前,必須先建立用來執行 Controller 和 Client 服務的網域使用者帳戶,且在Distributed Replay Utility Security中的User and Service Account一節提到,SQL Server Distributed Replay Controller和SQL Server Distributed Replay Client必須是網域使用者帳戶,不支援本機使用者。

 

imageimage

 

參考CaryHsu的SQL Server 2012 Release Candidate 0(RC0) 下載說明與安裝問題排除一文,這個步驟可以先暫時不需要設定那些帳戶擁有服務的存取權限,直接按下一步繼續安裝作業。接著繼續安裝作業,截圖如下:

 

螢幕截圖00024螢幕截圖00025

 

很不幸的又遇到Reporting Services目錄資料庫和目錄暫存資料庫存在的問題。

 

螢幕截圖00026

 

原因在於ReportServer和ReportServerTempDB資料庫因為在之前安裝CTP3時就已經存在(如下圖)。

 

螢幕截圖00028

 

建議可以先將之備份之後從安裝目錄中移除(本文預設路徑為C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA)點選重新執行,就可以順利進行後續的安裝作業。

 

螢幕截圖00029螢幕截圖00030螢幕截圖00031螢幕截圖00032螢幕截圖00033螢幕截圖00034螢幕截圖00035螢幕截圖00036螢幕截圖00037螢幕截圖00038

 

最後看到下圖的安裝成功畫面代表大功告成。

 

螢幕截圖00039

 

【參考資料】