2011年8月27日 星期六

Reporting Service - 連線中斷問題處理

最近遇到一個很奇怪的現像,偶而會遇到使用者連線到Reporting Service時會發生連線中斷的問題, 錯誤訊息如下:

錯誤訊息:
Source: Report Server (MSSQLSERVER)
Date: 2011/8/11 00:21:11
Event ID: 112
Task Category: Security
Level: Warning
Keywords: Classic
User: N/A
Computer: Cary
Description:
The report server has detected a possible denial of service attack. The report server is dropping requests for service from the IP address 192.168.1.168.

        本來懷疑是由於防毒軟體所造成,但是停用了之後還是一樣,最後透過netmon錄製封包並查了幾篇文章,終於查出原因為何,沒想到真的是Reporting Service的參數所造成的,後來透過修改 [MaxActiveReqForOneUser] 的參數後,原本預設值為20,我將他改為40後,就正常了。

        但是這個值要如何修改,其實我找了許多資料也沒有一個比較建議的設定方式,但是千萬記得不要將這個值設定為0,因為舊版的時候預設就是0,但是後來的版本才改為20,所以先設定雙倍值先試,關於值的設定,再請依照機器設備與使用人數設定即可。

MaxActiveReqForOneUser指定一個使用者同時可以處理的報表最大數目。一旦達到限制,系統就會拒絕進一步的報表處理要求。有效值為 1 到最大整數。預設值是 20。
請注意,大部分要求的處理速度很快,因此單一使用者不太可能同時擁有 20 個以上的開啟連接。如果使用者同時開啟超過 15 個密集處理的報表,您可能需要增加此值。
以 SharePoint 整合模式執行的報表伺服器會忽略這項設定。如需有關伺服器模式的詳細資訊,請參閱<規劃部署模式>。

參考連結:
RSReportServer 組態檔:
http://msdn.microsoft.com/zh-tw/library/ms157273.aspx


關鍵字:Reporting Service組態設定denial of service attackMaxActiveReqForOneUser

2011年8月25日 星期四

Reporting Service 2008 R2 - 如何設定向外延展部署的功能

        Reporting Service中的向外延展部署是一個在2005版本以後推出的一個新功能,主要可以讓報表主機也可以有負載平衡(Load Balanced)的機制,藉以負載更多使用者的需求,目前只有企業版以上的版本才有支援,但是在這還是強烈的推薦一下這個新功能,接下來我們就來介紹,如何在SQL Server 2008 R2的環境下,進行Reporting Service的向外延展部署設定。

 
環境說明:
Node-1
     Hostname:win-2008r2-1
     OS:Windows 2008 R2
     DB:SQL Server 2008 R2
     IP:192.168.1.150

 
Node-2
     Hostname:win-2008r2-2
     OS:Windows 2008 R2
     DB:SQL Server 2008 R2
     IP:192.168.1.151

 

 
1、第一台電腦設定

 
1-1 開啟Reporting Service 組態管理員

 
1-2 登入後可以先看到服務目前的狀態,當然如果要將Reporting Service的服務進行啟動或停止,皆可以透過這個地方進行。

 
1-3 在 [服務帳號] 的地方,以前可以透過 [控制台] -> [系統管理工具] ->  [服務] 進行,現在已搬移到此工具上了,而服務帳號的地方,如果你當初安裝的時候沒有指定網域帳號,請記得在此一定要更換成網域帳號。

 
        另外如果你有需要更換服務帳號時,你的Reporting Service也已有設定例如共用資料來源等加密資源時,你就必須在更換帳號前先在 [加密金鑰] 的地方先將金鑰備份,等帳號更換完成後再將金鑰還原,要不然你的所有加密資訊就必須重設,否則Reporting Service的服務會有問題。

 
        金鑰重設的方式就是在 [加密金鑰] 的地方將金鑰刪除即可,這一點非常的重要,也是許多人會忘記的地方,如果你的Reporting Service只是剛安裝完成,並未開始使用,那就可以放心的更換帳號,但是記得換完後,必須將金鑰刪除即可。

 

 
1-4 確認資料庫的連線狀態,到時候第二台的機器會與第一台共用同一個資料庫,所以請務必記得此處的設定,待會在第二台,我們會再詳細說明該如何設定。

 
1-5 由於第二台需要加入第一台的管理,所以在第一台需要先將金鑰進行備份,而此處的密碼指的是當你要還原到其他台Reporting Service時,需要輸入的還原密碼。

 
1-6 切換到 [向外延展部署] 你會看到目前第一台已正常並加入。

 

 
2、第二台設定

 
2-1 在 [服務帳號] 的地方,必須與第一台一樣透過網域帳號,而且強烈建議設定成相同的帳號名稱,但請特別注意,此處的更換帳號不需像第一台一樣先備份金鑰,可以直接更換帳號,因為第二台的金鑰必須指定成第一台的金鑰。

 

 

 
2-2 切換到 [資料庫] 此處必須設定與第一台的資料庫相同,因為預設是連到自已的資料庫,所以必須進行修改,先點選 [變更資料庫]。

 
2-3 選擇第二項 [選擇現有報表伺服器資料庫]。

 
2-4 在 [資料庫名稱]的地方,輸入第一台資料庫的名稱後,再點選 [測試連接],測試成功後,再點選下一步。

 
2-5 選擇報表伺服器的資料庫。

 
2-6 資料庫的驗證類型請選擇 [服務認證]。

 
2-7 此程序會秀出資料庫最後的設定值。

 
2-8 執行變更作業,點選完成即可。

 
2-9 由於資料庫指定到同一個,所以在 [加密金鑰] 的地方只能選擇金鑰的還原。

 
2-10 將第一台備份的金鑰複製到第二台,然後在檔案位置選擇此金鑰,再輸入在第一台備份金鑰時輸入的密碼。

 
2-11 切換到 [向外延展部署]時就會看到第二台也加入到第一台的控管中。

 
2-12 切換到第一台,同樣到 [向外延展部署]中確認是否第二台已有加入。

 
3、上傳報表與共用資料來源確認

 
3-1 開啟第一、二台的報表主控台,確認顯示是否正常。

 

 
3-2 透過Visual Studio開啟一個報表的專案檔,然後設定一個共用資料來源與一張簡單的報表。

 
3-3 點選專案名稱 -> [屬性],設定步署的網路位址,。
PS:此處我是先步署到第一台。

 
3-4 點選專案名稱 -> 部署。

 
3-5 部署的輸出結果,一切正常。

 
3-6 開啟第一台的報表主控台,確認報表與共用資料來源已上傳成功。

 
3-7 再開啟第二台的報表主控台,發現也有秀出上傳的報表與資料來源,所以到此大功告成。

 
 
參考網址:
  1. 規劃向外延展部署:http://msdn.microsoft.com/zh-tw/library/bb630407.aspx
  2. 如何:設定報表伺服器向外延展部署:http://msdn.microsoft.com/zh-tw/library/ms159114.aspx
  3. 如何:為 Reporting Services 設定服務帳戶:http://msdn.microsoft.com/zh-tw/library/bb522727.aspx
  4. 加入和移除向外延展部署的加密金鑰:http://msdn.microsoft.com/zh-tw/library/ms155931.aspx

關鍵字:Reporting Service向外延展部署Scale-Out DeploymentLoad Balanced

2011年8月22日 星期一

SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part III(終)

根據前二篇的介紹,相信大家已經對叢集磁碟與Windows Cluster的設定已有相當的了解,而最後這一篇我們在來介紹SQL Server 容錯移轉叢集的安裝,再請大家參考。

相關文章:
  1. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part I
  2. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part II
  3. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part III(終)
  4. 容錯移轉叢集中多個節點切換順序的設定

1、SQL Server容錯移轉叢安裝
1-1 選擇 [安裝] -> [新的SQL Server容錯移轉叢安裝]


1-2 檢查安裝程式支援規則,這個步驟會確認你的系統需要那些項目,或是否需要重開機。

1-3 輸入你的產品金鑰。


1-4 確認並接受授權條款。


1-5 確認系統的安裝程式支援規則,基本上 [網路連結順序] 與 [Windows 防火牆] 項目的警示,不會有影響安裝,但是網路連結順序,你可以參考微軟 [KB 955963]的說明,而Windows 防火牆基本上預設是不會造成網路的通訊問題,但你也可以參考行微軟MSDN的說明 [將 Windows 防火牆設定成允許 SQL Server 存取] 。

1-6 選擇你要安裝的項目,基本上你可以全選即可。

1-7 輸入你的SQL Server網路名稱並選擇是否為預設執行個體或具名執行個體,而兩者的差異在於,一台主機只能有一個預設執行個體,但是可以有多個執行個體,預設的執行個體,就是你在連結到主機時只需輸入IP或主機名稱即可,而具名執行個體則需要特別指定,詳細的說明,請參考徑軟的官方說明。[執行個體名稱]

1-8 確認磁碟空間需求。

1-9 設定叢集的資源群組,可以使用預設值即可,只要不與下列的三組名稱相同即可。

1-10 設定此網路的位址,記住在叢集的環境下,不要使用DHCP配制,一定要手動指定IP。

1-11 指定此叢集的SID,使用預設值即可,不需針對每一個服務單獨設定。

1-12 設定啟動帳號,在這個步驟中,強烈的建議大家不要使用本機的預設帳號,一定要使用網域帳號,以後造成後續使用上的問題,相關的說明,我會再另開文章介紹,在這就不在多加說明。

1-13 此步驟建議將 [驗證模式] 選擇為 [混合模式] ,也就是透過SQL Server認證的方式也可以登入,當然這個設定在後續也可以更改,而在 [指定 SQL Server 管理員] 可以將目前的使用者先行加入,藉以方便管理。

1-14 確認安裝的 [資料目錄] 是否在預期的叢集磁碟上。

1-15 在這個步驟也是先將目前的使用者加入即可。

1-16 確認安裝的是否在叢集磁碟的目錄。

 1-17 指定Reporting  Service組態設定

1-18 設定錯誤發生時,是否回報至原廠。

1-19 確認叢集的安裝規則

1-20 最後確認安裝的項目

1-21 安裝完成

1-22 開啟 [容錯移轉叢集管理員] 確認SQl Server的是否已加入,這樣就已完成第一台的安裝。


2 其他叢集節點的安裝

2-1 其他節點的安裝與主節點的方式大致相同,我就不特別逐一詳述,就請大家參考下列的作法進行。







2-2 在服務帳戶的部份,再次提醒,此帳戶的部份建議使用網域帳戶,而且建議與第一台的帳戶相同,以免後續造成權限上的問題。




2-3 安裝完成後,你就可以透過 [容錯移轉叢集管理員]中的 [服務與應用程式] 進行節點的切換,到此為止容錯移轉叢集就算安裝完成了。

參考網址:
  1. http://64.4.11.252/zh-tw/library/ms179530(SQL.100).aspx
相關文章:
  1. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part I
  2. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part II
  3. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part III(終)
  4. 容錯移轉叢集中多個節點切換順序的設定
關鍵字:SQL ServerHyper-VHigh AvailableClusterFailover容錯移轉叢集