2011年11月20日 星期日

SQL Server 2012 Release Candidate 0(RC0) 下載說明與安裝問題排除

        SQL Server 2012 講了這麼久,終於也要到倒數的階段了,目前已可以在官網下載RC0的版本,此版本主要的新特色如下所示,其中最令人矚目當然就是AlwaysOn的功能,關於此功能的說明與架設方式,大家可以參考我的另一篇文章 [SQL Server 2012 - AlwaysOn 安裝與設定教學]。

         當從官網下載之後,安裝的方式大致上與上一個版本差不多,所以請大家參考我的另一篇文章 [SQL  Server 2012 (CTP3) 開放下載與安裝介紹],在這邊我就只介紹一此較特別的部份,其他的我就不多說了。

安裝步驟:
1、在一開始安裝時,由於我是安裝在Windows 2008R2上,所以他們限制必須先下載 Windows 2008R2 SP1之後才可以進行後續的安裝。


2、在啟動畫面上,你也可以看到首次正名後的名稱 [SQL Server 2012]。

3、在選擇安裝後,此次也會嘗試的檢查是否有新的更新檔案。

4、在特徵選取上,你也可以看到許多新的功能可以進行安裝。

5、當我安裝到 [Distributed Replay Controller] 的時候,我竟然發生了下列的錯誤訊息,但奇怪的是,我只是單機安裝而已,但是底下的說明卻看起來是 Cluster 的錯誤,查看了安裝紀錄檔也是相同的錯誤訊息 [在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗。],安裝了二、三次也是相同的問題,後來經過我的同事的指點,也終於解決了。


這個問題主要是因為此功能需要透過網域帳號來控管,當你加入一個非網域帳號時,就會發生上述的情況,解決方法就是在 [Distributed Replay Controller] 的流程中不加入一個指定的管理者,只要維持空白即可,如下所示,然後再一直安裝到最後即可。


6、安裝完成後,啟動Management Studio畫面


7、登入後,你就可以看到 版本的部份,目前就是 [11.0.1750]。

以上就是此 RC0 的版本說明與安裝解決的方法,待後續有新的使用心得,再與大家分享。

新增特色:
  • 以 AlwaysOn 提供需要的執行時間和資料保護
  • 以資料行存放區索引取得突破性及可預測的效能
  • 協助以新的使用者定義角色與群組的預設結構描述達到安全性與符合性
  • 能夠以資料行存放區索引迅速探索資料,讓整個組織都有更深入的洞見
  • 以 SSIS 改進功能、Excel 的 Master Data Services 增益集和新的 Data Quality Services,確保可信而一致的資料
  • 以資料層應用程式元件 (DAC) 同位檢查,跨伺服器與雲端最佳化 IT 和開發人員生產力,並以 SQL Azure 與 SQL Server 資料工具,取得跨資料庫、BI 和雲端功能達到一致的開發經驗

系統要求:
  • 支援的作業系統:Windows 7;Windows Server 2008 R2;Windows Server 2008 Service Pack 2;Windows Vista Service Pack 2
  • 32 位元系統
  • 備有 Intel 或相容 1GHz (或更快) 處理器 (建議使用 2 GHz 或更快) 的電腦。
  • 64 位元系統
  • 1.4 GHz 或更快的處理器
  • 最少 1 GB RAM (建議 2 GB 或以上)。
  • 2.2 GB 的可用硬碟空間

錯誤訊息:
Exception type: Microsoft.SqlServer.Chainer.Infrastructure.ValidateSettingException
    Message:
        在驗證函數 ValidateUsers 中驗證設定 CTLRUSERS 時發生失敗。
    HResult : 0x85640004
        FacilityCode : 1380 (564)
        ErrorCode : 4 (0004)
    Data:
      SettingId = CTLRUSERS
      ValidationName = ValidateUsers
      WatsonData = Microsoft.SqlServer.Chainer.Infrastructure.ValidateSettingException@4
      HelpLink.EvtType = 0x601E39D7
      DisableWatson = true
    Stack:
        於 Microsoft.SqlServer.Chainer.Infrastructure.Setting.Validator.Validate()
        於 Microsoft.SqlServer.Deployment.PrioritizedPublishing.PublishingQueue.CallQueuedSubscriberDelegates()
        於 Microsoft.SqlServer.Deployment.PrioritizedPublishing.PublishingQueue.Publish(Publisher publisher)
        於 Microsoft.SqlServer.Chainer.Infrastructure.Setting`1.set_Value(T value)
        於 Microsoft.SqlServer.Chainer.Infrastructure.Setting`1.SetValue(Object newValue, InputSettingSource source)
        於 Microsoft.SqlServer.Chainer.Infrastructure.InputSettingService.SetSettingValue[T](String settingName, T value, InputSettingSource source)
        於 Microsoft.SqlServer.Configuration.Property`1.SetValueAndSource(Object value, InputSettingSource source)
        於 Microsoft.SqlServer.Configuration.InstallWizard.DistributedReplayControllerAccountProvisionController.UpdateUserAccounts()
        於 Microsoft.SqlServer.Configuration.InstallWizard.AccountProvisioningController.AddCurrentUserAccount()
        於 System.Windows.Forms.Control.OnClick(EventArgs e)
        於 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
        於 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
        於 System.Windows.Forms.Control.WndProc(Message& m)
        於 System.Windows.Forms.ButtonBase.WndProc(Message& m)
        於 System.Windows.Forms.Button.WndProc(Message& m)
        於 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
        於 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    Inner exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
        Message:
                指定的本機群組不存在。
               
        HResult : 0x84bb0001
                FacilityCode : 1211 (4bb)
                ErrorCode : 1 (0001)
        Data:
          WatsonData = Administrator
          DisableRetry = true
        Stack:
                於 Microsoft.SqlServer.Configuration.Sco.UserGroup.Exists()
                於 Microsoft.SqlServer.Configuration.DistributedReplay.ControllerUsersSetting.ValidateSingleAccount(String accountName)
                於 Microsoft.SqlServer.Configuration.DistributedReplay.ControllerUsersSetting.ValidateUsers()
                於 Microsoft.SqlServer.Deployment.PrioritizedPublishing.PublishingQueue.CallFunctionWhileAutosubscribing[T](SubscriberDelegate subscriberDelegate, Int32 priority, AutosubscribingFunctionDelegate`1 function)
                於 Microsoft.SqlServer.Chainer.Infrastructure.Setting.Validator.Validate()
        Inner exception type: System.Runtime.InteropServices.COMException
            Message:
                        指定的本機群組不存在。
                       
            HResult : 0x80070560
            Stack:
                        於 System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
                        於 Microsoft.SqlServer.Configuration.Sco.UserGroup.Exists()


參考網址:
MicrosoftR SQL ServerR 2012 Release Candidate 0 (RC0)
http://www.microsoft.com/downloads/zh-tw/details.aspx?FamilyID=3df53bd9-cde1-466e-b3d1-9884d46c897c
Windows 7 和 Windows Server 2008 R2 Service Pack 1 (KB976932)
http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=c3202ce6-4056-4059-8a1b-3a9b77cdfdda&displaylang=zh-tw

關鍵字:SQL ServerDenaliRC0Release Candidate

2 則留言:

  1. 請問Cary前輩!!為什麼會發生那個錯誤!?

    回覆刪除
  2. Hi Sky:

    我已將補充資訊加上,這個問題主要是由於使用 [Distributed Replay Controller]時,你輸入的帳號會到網域中進行驗證,所以當你輸入非網域帳號時,如本機帳號,就會發生這個問題,詳細的資訊,再請參考下列的連結。

    Distributed Replay Utility Concepts
    http://msdn.microsoft.com/en-us/library/ff878345(v=sql.110).aspx

    回覆刪除