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