UR8 またはそれ以降の Virtual Machine Manager 2012 R2 を再インストールする方法

適用対象: Microsoft System Center 2012 R2 Virtual Machine Manager

概要


Microsoft システム センター 2012 R2 Virtual Machine Manager (VMM 2012 R2) をインストールすると、VMM 更新プログラム ロールアップ 8 またはそれ以降の更新プログラムの再インストールが失敗します。 さらに、次のエラー メッセージが表示され、VMM を再インストールする場合します。

Virtual Machine Manager を再インストールします。


次の手順を実行します。

  1. Virtual Machine Manager をアンインストールします。 データベースの保持] オプションを選択します。
  2. オープン SQL Management Studio では、保持されているデータベースへの接続、および
  3. 次のストアド プロシージャを実行します。
    /****** Object: StoredProcedure [dbo].[prc_WLC_GetVNetworkAdapterByNicId] Script Date: 12/16/2015 2:13:12 AM ******/ -- ========================================================= -- Create date: 08/31/2007 -- Description: Get VNetworkAdapter for a given NicId -- ========================================================= ALTER PROCEDURE [dbo].[prc_WLC_GetVNetworkAdapterByNicId]     @VNicId uniqueidentifier AS BEGIN     DECLARE @error int     SET @error = 0     SET NOCOUNT ON;     SELECT       [Name],       [Description],       [OwnerIdentifier],       [CreationTime],       vna.[ModifiedTime],       [Accessibility],       [ObjectState],       [VNicId],       [HWProfileId],       [ParentType],       [VirtualNetwork],       [MACAddressType],       [MACAddress],       [IPv4AddressType],       [IPv6AddressType],       [PortId],       [DeviceId],       [NetworkAdapterType],       [VMSubnetId],       [VMNetworkId],       [PortClassificationId],       [PortProfileSetId],       [VLanEnabled],       [VLanId],       [VmwAdapterIndex],       [VmwPortGroup],       [SlotId],       [MACSpoofingEnabled],       [EnableGuestIPNetworkVirtualizationUpdates],       [VMNetworkOptimizationEnabled],       [HostId],       [LogicalSwitchId],       [NetworkKBytesReadTieredPerfCounterID],       [NetworkKBytesWriteTieredPerfCounterID],       [VMNetworkServiceSetting],       [UsesSriov],       [IsUsedForHostManagement],       [IPv4Addresses],       [IPv6Addresses],       [DefaultGateways],       [DNSServers],       [TemplateNicName], compliance.PortClassificationComplianceErrors AS [PortClassificationComplianceErrors],       compliance.VMNetworkComplianceErrors AS [VMNetworkComplianceErrors]     FROM dbo.tbl_WLC_VNetworkAdapter vna     LEFT JOIN dbo.tbl_NetMan_VirtualNetworkAdapterCompliance compliance         ON vna.VNicId = compliance.VirtualNetworkAdapterId     WHERE VNicId = @VNicId     SET @error = @@ERROR     SET NOCOUNT OFF     RETURN @error END IF EXISTS (SELECT * FROM dbo.sysobjects            WHERE id = OBJECT_ID(N'[dbo].[prc_RBS_UserRole_Add]')            AND OBJECTPROPERTY(id, N'IsProcedure') = 1) SET NOEXEC OFF ELSE SET NOEXEC ON GO /****** Object:  StoredProcedure [dbo].[prc_RBS_UserRole_Add]    Script Date: 10/03/2007 12:13:45 ******/ ALTER PROCEDURE [dbo].[prc_RBS_UserRole_Add]     ( @RoleID uniqueidentifier,         @ProfileType tinyint,         @Description nvarchar(2048),         @Name nvarchar(256),         @OwnerIdentifier nvarchar(256),         @ParentUserRole uniqueidentifier,         @LastUpdatedTimestamp datetime,         @ShowPROTips bit,         @VMNetworkMaximum smallint,         @VMNetworkMaximumPerUser smallint,         @VPNConnectionMaximum smallint,         @VPNConnectionMaximumPerUser smallint,         @VMNetworkVPNMaximumBandwidthInKbps bigint,         @VMNetworkVPNMaximumBandwidthOutKbps bigint,         @NATConnectionMaximum smallint = NULL,         @NATConnectionMaximumPerUser smallint = NULL     ) AS BEGIN TRAN SET NOCOUNT ON DECLARE @error int DECLARE @IsDuplicateName bit DECLARE @IsRoleAlreadyPresent bit SELECT @IsDuplicateName = [dbo].[fn_RBS_UserRole_NameExists](@RoleID, @ParentUserRole, @Name) -- This is especially used in Upgrade scenarios where we are inserting Administrator role SELECT @IsRoleAlreadyPresent = Count(RoleID) FROM [dbo].[tbl_RBS_UserRole] WHERE RoleID = @RoleID IF (@IsDuplicateName = 0    AND @IsRoleAlreadyPresent = 0) BEGIN   INSERT INTO [dbo].[tbl_RBS_UserRole]            ([RoleID]            ,[ProfileType]            ,[Description]            ,[Name]            ,[OwnerIdentifier]            ,[ParentUserRole]            ,[LastUpdatedTimestamp]            ,[ShowPROTips]            ,[VMNetworkMaximum]            ,[VMNetworkMaximumPerUser]            ,[VPNConnectionMaximum]            ,[VPNConnectionMaximumPerUser] ,[VMNetworkVPNMaximumBandwidthInKbps]            ,[VMNetworkVPNMaximumBandwidthOutKbps]            ,[NATConnectionMaximum]            ,[NATConnectionMaximumPerUser] ) VALUES (         @RoleID,         @ProfileType,         @Description,         @Name,         @OwnerIdentifier,         @ParentUserRole,         @LastUpdatedTimestamp,         @ShowPROTips,         @VMNetworkMaximum,         @VMNetworkMaximumPerUser,         @VPNConnectionMaximum,         @VPNConnectionMaximumPerUser,         @VMNetworkVPNMaximumBandwidthInKbps,         @VMNetworkVPNMaximumBandwidthOutKbps,         @NATConnectionMaximum,         @NATConnectionMaximumPerUser )   -- Insert flattened tree of the hierarchy for this user role   INSERT INTO [dbo].[tbl_RBS_UserRoleHierarchy]   SELECT RoleId, ParentRoleId, hl   FROM view_RBS_UserRoleParentChildRelation ur where ur.RoleID = @RoleID   SELECT @error = @@ERROR END ELSE BEGIN   SET @error = 50008 END SET NOCOUNT OFF COMMIT TRAN RETURN @error Go SET NOEXEC OFF --------------------------------------------------------------------------------------------IF EXISTS (SELECT * FROM dbo.sysobjects            WHERE id = OBJECT_ID(N'[dbo].[prc_RBS_UserRole_CommonUpdate]')            AND OBJECTPROPERTY(id, N'IsProcedure') = 1) SET NOEXEC OFF ELSE SET NOEXEC ON GO /****** Object:  StoredProcedure [dbo].[prc_RBS_UserRole_CommonUpdate]    Script Date: 10/03/2007 12:13:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[prc_RBS_UserRole_CommonUpdate] (         @RoleID uniqueidentifier,         @Description nvarchar(2048),         @OwnerIdentifier nvarchar(256),         @Name nvarchar(256),         @LastUpdatedTimestamp datetime,         @ShowPROTips bit,         @VMNetworkMaximum smallint,         @VMNetworkMaximumPerUser smallint,         @VPNConnectionMaximum smallint,         @VPNConnectionMaximumPerUser smallint,         @VMNetworkVPNMaximumBandwidthInKbps bigint,         @VMNetworkVPNMaximumBandwidthOutKbps bigint,         @NATConnectionMaximum smallint = NULL,         @NATConnectionMaximumPerUser smallint = NULL     ) AS SET NOCOUNT ON DECLARE @error int DECLARE @ParentUserRole uniqueidentifier DECLARE @IsDuplicateName bit DECLARE @OldName nvarchar(256) SELECT @ParentUserRole = [ParentUserRole], @OldName = [Name] FROM [dbo].[tbl_RBS_UserRole] WHERE [RoleID] = @RoleID IF (@OldName = @Name) BEGIN    -- We are not changing role name. This is necessary if Admin has already an SSU1 and TA created SSU1, we should not error out here    SELECT @IsDuplicateName = 0 END ELSE BEGIN    SELECT @IsDuplicateName = [dbo].[fn_RBS_UserRole_NameExists](@RoleID, @ParentUserRole, @Name) END IF (@IsDuplicateName = 0) BEGIN UPDATE [dbo].[tbl_RBS_UserRole]            SET [Description] = @Description,            [OwnerIdentifier] = @OwnerIdentifier,            [Name] = @Name,            [LastUpdatedTimestamp] = @LastUpdatedTimestamp,            [ShowPROTips] = @ShowPROTips,            [VMNetworkMaximum] = @VMNetworkMaximum,            [VMNetworkMaximumPerUser] = @VMNetworkMaximumPerUser,            [VPNConnectionMaximum] = @VPNConnectionMaximum,            [VPNConnectionMaximumPerUser] = @VPNConnectionMaximumPerUser,            [VMNetworkVPNMaximumBandwidthInKbps] = @VMNetworkVPNMaximumBandwidthInKbps,            [VMNetworkVPNMaximumBandwidthOutKbps] = @VMNetworkVPNMaximumBandwidthOutKbps,            [NATConnectionMaximum] = @NATConnectionMaximum,            [NATConnectionMaximumPerUser] = @NATConnectionMaximumPerUser   WHERE [RoleID] = @RoleID SELECT @error = @@ERROR END ELSE BEGIN   SET @error = 50008 END SET NOCOUNT OFF RETURN @error GO SET NOEXEC OFF 
  4. 元のインストール メディアから VMM 2012 R2 をインストールします。 場合によっては、VMM サービスは正しく起動しない場合があります。 ただし、この動作は無視してかまいませんこの時点で。
  5. VMM 2012 R2 インストールされた以前のバージョンに対応する (更新プログラムのロールアップ 7 や 8 など) 用の更新プログラム ロールアップを適用します。 データベースが正常に機能するために必要です。 UR7 または UR8 の上、UR にリリースのバージョンから更新する場合は、その UR に直接更新できます。 UR7 または UR8 をインストールする必要はありません。 たとえば、リリース版では、UR14 に直接アップグレードをインストールし、手順 6 で 2 番目のスクリプトを実行できます。
  6. SQL Management Studio を使用して、VMM データベースに対して、次のストアド プロシージャを実行します。
    /****** Object: StoredProcedure [dbo].[prc_WLC_GetVNetworkAdapterByNicId] Script Date: 12/16/2015 2:13:12 AM ******/ -- ========================================================= -- Create date: 08/31/2007 -- Description: Get VNetworkAdapter for a given NicId -- ========================================================= ALTER PROCEDURE [dbo].[prc_WLC_GetVNetworkAdapterByNicId]     @VNicId uniqueidentifier AS BEGIN     DECLARE @error int     SET @error = 0     SET NOCOUNT ON;     SELECT       [Name],       [Description],       [OwnerIdentifier],       [CreationTime],       vna.[ModifiedTime],       [Accessibility],       [ObjectState],       [VNicId],       [HWProfileId],       [ParentType],       [VirtualNetwork],       [MACAddressType],       [MACAddress],       [IPv4AddressType],       [IPv6AddressType],       [PortId],       [DeviceId],       [NetworkAdapterType],       [VMSubnetId],       [VMNetworkId],       [PortClassificationId],       [PortProfileSetId],       [VLanEnabled],       [VLanId],       [VmwAdapterIndex],       [VmwPortGroup],       [SlotId],       [MACSpoofingEnabled],       [EnableGuestIPNetworkVirtualizationUpdates],       [VMNetworkOptimizationEnabled],       [HostId],       [LogicalSwitchId],       [NetworkKBytesReadTieredPerfCounterID],       [NetworkKBytesWriteTieredPerfCounterID],       [VMNetworkServiceSetting],       [UsesSriov],       [IsUsedForHostManagement],       [IPv4Addresses],       [IPv6Addresses],       [DefaultGateways],       [DNSServers],       [TemplateNicName],       compliance.PortClassificationComplianceErrors AS [PortClassificationComplianceErrors],       compliance.VMNetworkComplianceErrors AS [VMNetworkComplianceErrors],       [AccessControlListID],       compliance.NetworkAccessControlListComplianceErrors AS [NetworkAccessControlListComplianceErrors]     FROM dbo.tbl_WLC_VNetworkAdapter vna     LEFT JOIN dbo.tbl_NetMan_VirtualNetworkAdapterCompliance compliance         ON vna.VNicId = compliance.VirtualNetworkAdapterId     WHERE VNicId = @VNicId     SET @error = @@ERROR     SET NOCOUNT OFF     RETURN @error END GO  
  7. 2012 R2 の VMM サーバーを再起動し、VMM サービスが正常に起動するかどうかを確認します。

高可用性の Virtual Machine Manager (HAVMM) を再インストールします。


これを行うには、次の手順を実行します。

  1. SCVMM の管理サーバーをアンインストールします。 これを行うときは、HAVMM のすべてのノード上のデータベースの保存オプションを選択します。
  2. SQL Management Studio を開き、保持されている VMM データベースに接続します。
  3. VMM データベース上には、 Virtual Machine Manager を再インストール」の手順 3 で、スクリプトを実行します。
  4. HAVMM の最初のノードで、次の手順を実行します。  
    1. 既存のデータベースを選択することによって、元のインストール メディアから VMM 2012 R2 をインストールします。 注:場合によっては、VMM サービスは正しく起動しない場合があります。 ただし、この時点でこの現象を安全に無視できます。
    2. 最新版を適用されていた更新プログラムのロールアップがインストールされている (UR8 またはそれ以降のバージョン)、VMM サーバーをアンインストールする前にします。
  5. VMM データベースには、 Virtual Machine Manager を再インストール」の手順 6 のインストール後のスクリプトを実行します。
  6. VMM サーバーを再インストールするのには残りの HAVMM ノードに手順 4 と 5 を繰り返します。
  7. アップグレードして利用可能な最新の UR、UR が承認されると、すべての VMM サーバーの環境にするにし、UR レベルの最新の VMM エージェントへのすべてのホストを更新します。