SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SCVMM 2008 R2 SP1 RC を RTM にアップグレード

leave a comment

先日 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
image

SP1 RC をアップグレードする場合は最初にこのツールを実行します。

このツールはコマンドラインアプリケーションになっています。
# コマンドプロンプトは管理者として実行しています。
image
SCVMM で使用しているデータベースを RTM 用にアップグレードしてくれるツールですね。

SQL Server とデータベース名を指定してツールを実行します。
# コマンドを実行しているユーザーが SQL Server にアクセスできないとエラーになります。
image

内容としては、

prc_VM_SetGlobalProperty ‘DatabaseVersion’, ‘2.0.4521.0’

を実行して SCVMM のデータベースのバージョン情報を更新しているみたいですね。

 

■SCVMM 2008 R2 SP1 にアップグレード


データベースのアップグレードが終わったら、SCVMM 2008 R2 With SP1 のインストーラーを実行します。

  1. VMM サーバー をクリックします。
    image
  2. [この使用許諾契約書に同意します] を選択し、[次へ] をクリックします。
    image
  3. [アップグレード] をクリックします。
    image
  4. SCVMM のデータベースのログオン情報を指定して、[次へ] をクリックします。
    今回はサーバーにログオンしているユーザーで SQL Server にアクセスができるので、指定はしていません。
    image
  5. アップグレードが実行されます。
    image

でこの後、私の環境ではエラーになりました…。
image

SCVMM のインストールログは [C:ProgramDataVMMLogsServerSetup.log] に出力がされます。
エラーの内容を眺めていたところ、

[2011/03/26 13:42:31] Information : Upgrading the R2 table schemas …
[2011/03/26 13:42:31] *** Error : Failed Command:

–//—————————————————————————-
–// MOM, PRO:
–//—————————————————————————-
–//—————————————————————————-
–// BitBos:
–//—————————————————————————-

–//—————————————————————————–
–// ADHC:
–//
alter table [tbl_ADHC_Host] add [RemoteFXSupport] bit null

というエラーが。

私の環境の [tbl_ADHC_Host] テーブルにはすでに [RemoteFXSupport] という列が存在しているので、SQL Server のテーブル定義を変更しようとすると確かに以下のエラーとなります。

メッセージ 2705、レベル 16、状態 4、行 1
各テーブルの列名は一意にしてください。テーブル ‘tbl_ADHC_Host’ の列名 ‘RemoteFXSupport’ が複数指定されています。

ということで 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 用に拡張がされた列を追加すると、アップグレードをすることができます。
image

[閉じる] をクリックしてアップグレードを終了します。
image

 

SP 1 RC のバージョンは、[2.0.4516.0] ですが、
image

SP1 RTM にすることで、[2.0.4521.0] となります。
image

ものすごい無理やりにアップグレードしましたが、とりあえず SP1 を適用できました。

Share

Written by Masayuki.Ozawa

3月 26th, 2011 at 2:48 pm

Posted in Hyper-V,System Center

Tagged with

Leave a Reply