2013年6月27日 星期四

如何更換SQL Server Cluster上的 IP 與 Virtual Server Name

        對於許多使用來說,應該較少有機會進行到Cluster上Virtual Server Name與Virtual Server IP的更換,但如果當有要進行主機的重新規畫,或主機搬移時,就有可能進行到,所以本篇我們來介紹如何進行這部份,其實方式非常的簡單,但是在更換前有一些程序需要先行確認,藉以將更換時的影響時間降到最低。

注意事項:
1、先行更新DNS上的名稱。
      移除舊的名稱與增加新的名稱。
2、手動先行註冊SPN (Service Principal Name)
3、確認連線到Server上的AP等程式已有先行找出對應的名稱並進行更換。
4、確認host的檔案是否有相同的名稱,有的話請一同修改。

更換作業:
1、開啟叢集管理員
2、點選您的SQL Server 服務。
3、請先點伺服器名稱,然後選擇 [讓此資源離線]。


4、等到都離線成功後,再點選伺服器名稱 -> 內容。
5、點選內容後,DNS 名稱就是您的Virtual Server Name,也就是您Cluster對外的名稱,而IP的部份,您可以編輯,藉以進行更換即可。


當您點選確定後,如果發生錯誤,有可能是你的名稱或IP在使用中,或是你的服務沒有進行離線,所以必須逐一確認後進行排除即可。


參考網址:
Changing the IP address of network adapters in cluster server
http://support.microsoft.com/kb/230356 How to change the network IP addresses of SQL Server failover cluster instances
http://support.microsoft.com/default.aspx?scid=kb;EN-US;244980
How to: Rename a SQL Server 2005 Virtual Server
http://msdn.microsoft.com/en-us/library/ms178083.aspx
How to: Rename a Computer that Hosts a Stand-Alone Instance of SQL Server 2005
http://msdn.microsoft.com/en-us/library/ms143799.aspx
Renaming a Report Server Computer
http://msdn.microsoft.com/en-us/library/ms345235.aspx


關鍵字:SQL ServerClusterRenameService Principal Name

2013年5月25日 星期六

如何秕次轉移Windows 2008R2上的Hyper-V至Windows 2012

        最近由於個人的設備升級,所以想說也同時將我的OS也一同升級,從 2008R2升級到2012,但由於我的電腦中有使用到許多的VM,所以在轉移前一直在找是否有比較好的方式進行轉移,在與我的同事Aska Su與Felix Hu討論後,所以我決定透過語法的方式批次轉移,主要是由於因為透過介紹一次選擇多個VM視窗匯出時,系統會以平行處理的方式進行,此時坦白說不會比較快(可能會更慢),所以大部份都是建議逐一選擇後再匯出,但我不太喜歡這種方式,後來終於透過PowerShell,終於可以批次匯出,底下我就來介紹這個方法。

轉移程序:
1、請手動將目前的所有VM進行關機的動作,請記錄如果VM的狀態為 [已儲存] 的狀態時,也請將VM啟動後進行關閉的動作,以免轉移後 [可能] 發生問題。

2、請至下列的網址進行 PowerShell for Hyper-V的Library的安裝。

PowerShell Management Library for Hyper-V
http://pshyperv.codeplex.com/

下載後解壓縮並執行 install.cmd之後即可進行安裝,如下圖。



3、安裝完成後即會出現下列的PowerShell畫面,此時請輸入下列的語法,即可逐一的將VM進行匯出。

get-vm | Export-VM  -path G:\vm -copystate -wait -force

上述中紅色的區塊指的是你的匯出位址。


4、在匯入前請先確認在新舊兩台機器上的 [虛擬交換器管理員] 是否相同,如果你在舊機器上有新增交換器時,也請新增相同的名稱於新機器上。

5、最後請手動匯入虛擬機器,如果您在執行手動匯入時,發現在跳出提醒,代表你的VM在匯出時,狀態已儲存,所以才會有這種情況,這時候你可以嘗試忽略錯誤繼續進行,但有時候會匯入失敗,需特別的注意,如此即可完成轉換的步驟。

參考網址:
PowerShell Management Library for Hyper-V
http://pshyperv.codeplex.com/
How to batch export virtual machines in Windows Server 2012 (PowerShell)
http://gallery.technet.microsoft.com/scriptcenter/How-to-batch-export-84c13ee2


關鍵字:Hyper-VGet-VMExport-VM、Windows 2012

2013年5月7日 星期二

報表設計 - 查無資料時顯示特定文字與表頭資訊

        相信很多有設計報表的人都會遇到一件事,就是當此次的查詢條件查無資料時,在預設的情況下,並不會顯示任何的資訊,只會顯示標題而已,常有客戶困惑的問到,這樣到底是否有正常的執行,所以往往希望我們可以在沒有任何資料顯示的情況下,至少顯示 "查無資料" 等訊息。

        其實在2008之後,在Tablix上已有內建一個屬性,那就是NoRowsMessage(感謝Ray Yen大師的提點),只需在此屬性上設定後,即可顯示一段特定的文字,但問題來了,這樣的文字有點太過於簡單,而且重點是原本的表頭也不見了,所以客戶希望我們可以也同時秀出表頭的資訊。

        在以往的情況下,其實我們可以透過SQL語法的部份進行判斷,然後增加這個方式,但這個方法有點麻煩,而且每張報表都要這個功能時,都要再額外寫SQL進行處理,真是費時費工,還好貼心的Reporting Service也有一個方式可以作到,本篇我們就來介紹如何進行。

設定方式:
1、首先我們還是利用北風資料庫作了一張階層式的報表,然後透過屬性值來過濾資料。

2、接著請在此Tablix 1上的 NoRowsMessage 屬性中加入您想要顯示的值,比如說 "查無資料" 等,此時請再次進行查詢,然後您就可以看到顯示的情況。

3、請將原本的Tablix 1再複制一個複本出來,名稱暫訂為Tablix 2,然後放置在原本的Tablix 1的下方,如下圖。

4、請將原本的Tablix 1中的NoRowsMessage值清除,只保留下方Tablix 2中的值。
5、點選Tablix 2的Properties -> Visibility -> Show or hide based on an Expression

6、在運算式中輸入下方的語法,其中Fields!OrderID.Value就是你查詢的欄位名稱,輸入完成後再點選ok即可。

7、再次預覽,此時你就可以同時呈現表頭與特定文字。


參考連結:
Set a No Data Message for a Data Region (Report Builder and SSRS)
http://msdn.microsoft.com/zh-tw/library/dd220407.aspx


關鍵字:Reporting ServiceNoRowsMessageNo Data Available

2013年4月26日 星期五

如何建立Power View報表 - 以Tabular Mode為例

        前面的幾篇文章已有介紹到多種設計PowerView的方式,再來本篇,我們來介紹如何連結到SSAS - Tabular Model(表格模式)的部份,設定方式如下:

1、請先下載下列的範例資料庫。

Database Name:AdventureWorksDW2012 Data File
URL:http://msftdbprodsamples.codeplex.com/downloads/get/165405

2、下載專案檔案。
Project Name:AdventureWorks Internet Sales Tabular Model SQL Server 2012
URL:http://msftdbprodsamples.codeplex.com/downloads/get/353144

專案完整的制作方式說明,您可以參考下列的網址:
http://msdn.microsoft.com/en-us/library/hh231691.aspx

3、請先確認您目前安裝的SQL Server Analysis Service為表格模式(Tabular Mode)。
確認方式您可以透過下列的兩種方式進行。

3-1 透過SQL Server Management Studio連線到SSAS時,您可以透過連結的圖示來判斷模式為何。

表格模式(Tabular Mode)

多維度模式(Multidimensional Mode)

3-2 開啟SSAS的設定檔,藉以判斷目前的安裝模式為何。

路徑:
C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Config\msmdsrv.ini

確認DeploymentMode的參數,數值為0時,代表為多維度模式(Multidimensional Mode),數值為2時,代表為表格模式(Tabular Mode)。

4、開啟專案後,選擇部署,即可完成SSAS環境的建置。


5、 登入SharePoint的前端網站後,請點選 [文件] -> [新增文件] -> [BI語意模型連接]

6、 請在下列輸入相對應的資訊,然後點選確定。

7、 建立 [BI 語意模型連接] 後,請再點選 [ 建立 Power View 報表 ]。


8、 此時即會開啟Power View的開發環境,然後請依序點選下列的項目,即可完成報表的設計。
8-1 請點選 [Date] -> Calendar Year 與 Month
8-2 請點選 Internet Sales -> Sales Amount
8-3 請點選 [設計] -> 線條


其他參考文章:
如何在Excel 2013中使用PowerView
http://caryhsu.blogspot.tw/2012/12/excel-2013powerview.html
如何建立PowerView的報表
http://caryhsu.blogspot.tw/2013/03/powerview.html


關鍵字:SSASTabular ModelPowerView

2013年4月10日 星期三

如何切換變更Analysis Service的安裝模式

        以往SQL Server Analysis Service中主要是以多維度(Multidimensional Models)的模式方式進行,但是在SQL Server 2012之後,推出了表格模式(Tabular Models)的方式提供給使用者進行選擇,由其是以當你需要使用PowerView時,到目前為止(註1),SSAS端只能透過表格模式的方式當成資料來源端。

由於最近需要測試PowerView 連結到SSAS的部份,但可惜我當初安裝時是以多維度模式進行安裝,所以PowerView無法連結,後來找到一個方法,可以透過下列的方式,將你的SSAS進行模式的切換。

PS:此篇所介紹的切換方式只適合於剛安裝完成,而且沒有進行任何的專案部署,否則你會遇到在表格模式中無法針對以多維度模式部署的資料庫,再請多多注意。

註一:
由於目前在PowerView的部份已有提供連結到多維度模式(Multidimensional Models)的方式,但由於目前只到CTP的版本,大家可以參考下列的連結。

Power View for Multidimensional Models - Preview
http://blogs.msdn.com/b/analysisservices/archive/2012/11/29/power-view-for-multidimensional-models-preview.aspx


1、請先確認目前SSAS安裝的模式為何。

1-1 當你連結到SSAS時,如果開頭的圖示為下列的情況時,代表你目前是多維度模式(Multidimensional Models)。

1-2 當你連結到SSAS時,如果開頭的圖示為下列的情況時,代表你目前是表格模式(Tabular Models)。

2、開啟下列的檔案進行模式的變更‧

2-1 檔案路徑
C:\Program Files\Microsoft SQL Server\MSAS11.TABULAR\OLAP\Config\msmdsrv.ini

2-2 打開上述的檔案,你會看到DeploymentMode的區塊,0代表為多維度模式,2為表格模式。


2-3 修改完成後,再請重新啟動SSAS即可。

3、當您連結到SSAS,開啟資料庫時,如果要進行開啟或刪除時,遇到下列的錯誤,代表你的資料庫與你目前的模式不同所造成,要解決下列的問題,很簡單,只要將模式先切回原本的模式後,再刪除已部署的資料庫,然後再切換即可。


錯誤訊息:
無法在引擎中建立VertiPaq結構描述 'Analysis Services Tutoial',因為它已經存在。
從檔案 '\\?\C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Data\Analysis Services Tutorial.0.db.xml' 載入 Analysis Service Tutorial database 時發生錯誤。
(Microsoft.AnalysisServices.Xmla)


參考連結:
Changing an Analysis Services instance to tabular mode
http://cathydumas.com/2012/04/23/changing-an-analysis-services-instance-to-tabular-mode/


關鍵字:SQL Server Analysis ServiceMultidimensional ModelsTabular ModelsPowerView