在現有SQL Server 2012 AlwaysOn 容錯移轉叢集執行個體中安裝新功能-以SSRS為例

在現有SQL Server 2012 AlwaysOn 容錯移轉叢集執行個體中安裝新功能-以SSRS為例

情境描述

若您在SQL Server 2012 AlwaysOn容錯移轉執行個體(FCI)並未安裝某些SQL Server的元件(例如SSRS或SSAS),事後想要再安裝該怎麼進行?本文以SSRS為例,說明在這樣的情況下,您沒辦法用一般的安裝方式來安裝,其中會有一些小細節需要注意,詳細作法請見下一節。

安裝SSRS功能

由於SSRS並無法支援叢集角色,因此若您要在SQL Server 2012 AlwaysOn FCI中安裝,請在目前Active的叢集節點中使用下列的安裝參數,強制忽略檢查執行個體是否已經叢集化的檢查。

image

接著在SQL Server安裝中心視窗點選【安裝>新增SQL Server獨立安裝或將功能加入至現有安裝】。

image

大部分的步驟都跟一般SQL Server獨立安裝沒兩樣,其中在安裝類型步驟,需要選擇將功能加入到現有的SQL Server 2012執行個體

image

接著特徵選取步驟,選擇Reporting Services - 原生

image

若一開始啟動SQL Server安裝程式不是透過SQL Server安裝參數來執行,則在安裝組態規則步驟中會遇到下列的錯誤訊息,說明不能在已經叢集化的執行個體安裝SSRS。

image

因此在開始安裝SSRS前,記得使用安裝參數來啟動SQL Server安裝程式,來忽略相關的叢集化檢查,接著就跟一般安裝動作一模一樣,後續的步驟就只要按下一步即可順利完成。

設定SSRS組態

依照上一節的步驟安裝SSRS之後,可以到SQL Server組態管理員檢查SSRS服務是否為正在執行的狀態。

image

接著分別在Active和Passive節點開啟Repoting Services組態管理員來初始化SSRS所需的設定。首先是服務帳戶,本文使用的是內建的網路服務帳戶來做為SSRS的服務啟動帳戶。

image

在Web服務URL頁籤,可以直接點選【Web服務URL>套用】來建立報表伺服器Web服務URL,若您有需要調整相關的IP或是通訊埠,甚至是啟用SSL憑證,都可以在這個畫面做設定。

image

而在報表伺服器資料庫的部分,必須使用叢集執行個體建立報表所需的ReportServer資料庫。

image

Passive節點上設定報表伺服器資料庫時,不需要重新建立新的報表伺服器資料庫,應選擇現有報表伺服器,並且指定到和Active節點所設定的資料庫。

image

最後則是點選【報表管理員URL>套用】來建立報表管理員所需的連結。其他電子郵件設定、執行帳戶及向外延展部署等項目為非必要項目,可視實際需求進行設定。

image

順帶一提的是,所有設定完成之後記得備份加密金鑰並妥善保管,以利SSRS出問題時進行相關故障排除可以派上用場。

建立防火牆規則並測試SSRS Web服務及報表管理員URL

為了讓容錯移轉發生之後,新Active節點上SSRS的Web服務和報表管理員可以對外提供連結,必須在每個叢集節點中建立相關URL的防火牆規則,本文以TCP PORT 80為例,您可以依照實際需求來設定SSRS所要使用的連接埠編號。

image

在SQL Server AlwaysOn FCI架構下連接SSRS的報表管理員或Web服務時,您可以使用【http://節點名稱】或是【http://FCI叢集網路名稱】來連到SSRS所提供的報表服務或是報表管理員,若一切正常您應該看到如下圖的結果,試著透過叢集管理員手動容錯移轉之後,看看是否還是可以正常連線。

image

補充說明

若您在連接SSRS時出現報表伺服器為初始化的錯誤,可以嘗試在Reporting Services組態管理員中刪除加密內容之後重新設定相關驗證資訊。

image

參考資料

AlwaysOn 容錯移轉叢集執行個體 (SQL Server)

容錯移轉叢集執行個體管理及維護

在 SQL Server 容錯移轉叢集 (安裝程式) 中加入或移除節點

SQL Server 容錯移轉叢集安裝

高可用性 (Reporting Services)

Reporting Services 與 AlwaysOn 可用性群組 (SQL Server)

Installing(Adding) feature(SSRS) to an existing SQL Installation!

How to add Reporting Services to an existing SQL Server Clustered Instance

How you can make the Reporting service is a cluster aware

Microsoft SQL Server Failover Clusters