安裝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 安裝全紀錄一文。
其中在Distributed Replay Controller服務的權限設定畫面中,若您安裝使用本機帳戶登入,且直接點選加入目前使用者。
將會接收到【在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗】的錯誤訊息(如下圖),並強制關閉SQL Server 2012 RC0 Setup安裝精靈。
標題: 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必須是網域使用者帳戶,不支援本機使用者。
參考CaryHsu的SQL Server 2012 Release Candidate 0(RC0) 下載說明與安裝問題排除一文,這個步驟可以先暫時不需要設定那些帳戶擁有服務的存取權限,直接按下一步繼續安裝作業。接著繼續安裝作業,截圖如下:
很不幸的又遇到Reporting Services目錄資料庫和目錄暫存資料庫存在的問題。
原因在於ReportServer和ReportServerTempDB資料庫因為在之前安裝CTP3時就已經存在(如下圖)。
建議可以先將之備份之後從安裝目錄中移除(本文預設路徑為C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA)點選重新執行,就可以順利進行後續的安裝作業。
最後看到下圖的安裝成功畫面代表大功告成。
【參考資料】