先日 SCVMM 2008 R2 with SP1 の提供が開始されました。
その少し前には SCVMM 2012 Public Beta も提供され、SCVMM の環境をどうしようかと悩ましい毎日です。
まずは、自宅の検証環境の SCVMM 2008 R2 SP1 RC を RTM にアップグレードしてみたいと思います。
SCVMM 2008 R2 NonSP から SP1 へのアップグレードについては以下に技術情報が公開されています。
Upgrading to VMM 2008 R2 Service Pack 1 from VMM 2008 R2
■SP1 RC to RTM Upgrade Tool の実行
SP1 RC から SP1 の RTM にアップグレードする際に使用するツールが Microsoft Connect から提供されています。
VMM 2008 R2 SP1 RC to RTM Upgrade Tool
SP1 RC をアップグレードする場合は最初にこのツールを実行します。
このツールはコマンドラインアプリケーションになっています。
# コマンドプロンプトは管理者として実行しています。
SCVMM で使用しているデータベースを RTM 用にアップグレードしてくれるツールですね。
SQL Server とデータベース名を指定してツールを実行します。
# コマンドを実行しているユーザーが SQL Server にアクセスできないとエラーになります。
内容としては、
prc_VM_SetGlobalProperty ‘DatabaseVersion’, ‘2.0.4521.0’ |
を実行して SCVMM のデータベースのバージョン情報を更新しているみたいですね。
■SCVMM 2008 R2 SP1 にアップグレード
データベースのアップグレードが終わったら、SCVMM 2008 R2 With SP1 のインストーラーを実行します。
- VMM サーバー をクリックします。
- [この使用許諾契約書に同意します] を選択し、[次へ] をクリックします。
- [アップグレード] をクリックします。
- SCVMM のデータベースのログオン情報を指定して、[次へ] をクリックします。
今回はサーバーにログオンしているユーザーで SQL Server にアクセスができるので、指定はしていません。 - アップグレードが実行されます。
SCVMM のインストールログは [C:ProgramDataVMMLogsServerSetup.log] に出力がされます。
エラーの内容を眺めていたところ、
[2011/03/26 13:42:31] Information : Upgrading the R2 table schemas … –//—————————————————————————- –//—————————————————————————– |
というエラーが。
私の環境の [tbl_ADHC_Host] テーブルにはすでに [RemoteFXSupport] という列が存在しているので、SQL Server のテーブル定義を変更しようとすると確かに以下のエラーとなります。
メッセージ 2705、レベル 16、状態 4、行 1 |
ということで SQL Server Management Studio から対象の列をさくっと削除してインストールをリトライ。
そうすると次は、[alter table [tbl_ADHC_Host] add [SLATCapable] bit null] 列がすでに存在しているのでエラーになりました…。
この列を削除して、再度リトライすると [alter table [tbl_ADHC_Host] add [MaxVideoMemoryRequirementsMatrix] nvarchar(max) null] でもエラー…。
SCVMM 2008 R2 SP1 RC で追加された列で軒並みエラーになっているみたいですね…。
このあたりのエラーを発生しないようにするために、Upgrade Tool で ‘DatabaseVersion’ を変更していると思うのですが。
# tbl_VMM_GlobalSetting を直接 SELECT して、バージョンが正常に変わっているのは確認しています。
プロファイラでトレースをしてみたのですが、処理の最初にデータベースのバージョンを取得するようなクエリが見当たらなかったのがちょっと気になります。
仕方がないのでエラーになった列を片っ端から消して、アップグレードできるか検証してみました。
ちなみにエラーになった列は以下になります。
alter table [tbl_ADHC_Host] add [SLATCapable] bit null alter table [tbl_ADHC_Host] add [SLATCapable] bit null alter table [tbl_ADHC_Host] add [MaxVideoMemoryRequirementsMatrix] nvarchar(max) null alter table [tbl_WLC_HWProfile] add [DynamicMemoryEnabled] [bit] NULL alter table [tbl_WLC_HWProfile] add [MaxRAM] [int] NULL alter table [tbl_WLC_HWProfile] add [TargetAvailableMemoryPercent] [int] NULL alter table [tbl_WLC_HWProfile] add [MemoryWeight] [int] NULL alter table [tbl_WLC_HWProfile] add [VirtualVideoAdapterEnabled] [bit] NULL alter table [tbl_WLC_HWProfile] add [MonitorMaximumCount] [int] NULL alter table [tbl_WLC_HWProfile] add [MonitorResolutionMaximum] [nvarchar] (20) alter table [tbl_WLC_VMInstance] add [CurrentMemory] [int] NULL alter table [tbl_WLC_VMInstance] add [CurrentAvailableMemoryPercent] [int] NULL alter table [tbl_WLC_VMInstance] add [AvailableMemoryBuffer] [int] NULL alter table [tbl_WLC_VMInstance] add [AllocatedGPU] [nvarchar](max) NULL alter table [tbl_WLC_VMInstance] add [MemoryTieredPerfCounterID] guid NULL alter table [tbl_WLC_VMInstance] add [PerfMemory] [bigint] NULL alter table [tbl_WLC_VMInstance] add [LastKnownCurrentMemory] [int] NULL |
SCVMM 2008 R2 SP1 用に拡張がされた列を追加すると、アップグレードをすることができます。
SP 1 RC のバージョンは、[2.0.4516.0] ですが、
SP1 RTM にすることで、[2.0.4521.0] となります。
ものすごい無理やりにアップグレードしましたが、とりあえず SP1 を適用できました。