Update rollup 3 for System Center 2012 R2 Virtual Machine Manager

Update rollup 3 for System Center 2012 R2 Virtual Machine Manager
 
Issues that are fixed and features that are added for Virtual Machine Manager
Issues that are fixed in this update rollup
  • Total storage for a User role is reported incorrectly. For example, the User role can use only half of the allowed quota.
  • A host cluster update fails intermittently because of a locked job.
  • Virtual machine (VM) refreshers do not update highly available virtual machines (HAVMs) after failover to another node.
  • A cluster IP address for a guest cluster configuration in a Hyper-V Network Virtualization (HNV) environment is not updated correctly by using HNV policies during failover. For more information about this issue, see the following article in the Microsoft Knowledge Base:

    2981736
    (
    http://support.microsoft.com/kb/2981736/ )
    The cluster IP address in an HNV environment is updated incorrectly during failover
  • Server Message Block (SMB) shares may not be usable by high availability (HA) workloads if they are also connected to stand-alone hosts.
  • Storage objects discovery does not occur on a Virtual Machine Manager server if the discovery item is too big.
  • A Virtual Machine Manager job that assigns network service backend connectivity fails.
  • Enable maintenance mode fails when you evacuate failed-state VMs.
  • The Virtual Machine Manager service cannot be restarted because of database corruption.
  • The ZH-TW language incorrectly appears in the tooltip of the VM Network icon.
  • Library refresher rewrites the alternative data stream on every file during every update.
  • For iSCSI hardware storage-based array, when the MaskingPortsPerView property option is set to "multi-port per view," the target endpoint is not obtained as the port address.
  • The virtual hard disk (VHD) is left in the source folder after storage migration is completed.
  • The addition of a bandwidth limitation to an existing virtual private network (VPN) connection is not added to the generated script.
  • A VM that is attached to an HNV VM network loses connectivity when it is live migrated to another node in the failover cluster that is not currently hosting other VMs that belong to the same VM network.
  • VM network shared access is lost after a service restart or an update interval.
  • The Remove-SCFileShare command fails for a network-attached storage SMI-S provider.
  • Setting the template time zone to UTC (GMT +0:00) is incorrectly displayed as "Magadan Standard Time."
  • The System Center 2012 R2 Virtual Machine Manager crashes when you add groups that contain the at sign (@) character in User roles.
  • VM deployment fails in a VMWare environment when you have virtual hard disk (.vmdk) files of the same size in your template.
  • Deployment of an application host on HAVMM fails and generates a 22570 error.
  • Live migration of an HAVM cross cluster creates a duplicate VM role in the target cluster.
  • An error occurs when you apply physical adapter network settings to a teamed adapter.
  • A VMM agent crashes continuously when the HvStats_HyperVHypervisorLogicalProcessor query returns a null value.
  • A host refresh does not update the VMHostGroup value of a VMWARE cluster after the cluster is moved from VCENTER.
  • VMM reports an incorrect Disk Allocation size for dynamic VHDs that are mapped to a virtual machine.
  • A VMM service template script application does not work for a self-service role.
  • VM creation fails if Virtual Machine Manager undergoes failover during the creation process.
  • The Access Status value of a file share is incorrect in the user interface.
  • The Virtual Machine Manager service crashes because of an invalid ClusterFlags value.
  • VMs cannot be deployed from a service template to a cloud across multiple host clusters (multiple datacenters).
Features that are added in this update rollup
  • This update includes a Linux guest agent upgrade to support the following new operating systems:
    • Ubuntu Linux 14.04 (32-bit)
    • Ubuntu Linux 14.04 (64-bit)
  • This update also includes the following:
    • Host DHCP extension driver upgrade
    • Several performance improvements
    • Several Management Pack package improvements
How to obtain and install Update Rollup N for System Center 2012
Download information
Update packages for Virtual Machine Manager are available from Microsoft Update or by manual download.
Microsoft Update
To obtain and install an update package from Microsoft Update, follow these steps on a computer that has an applicable System Center 2012 R2 component installed:
  1. Click Start, and then click Control Panel.
  1. In Control Panel, double-click Windows Update.
  1. In the Windows Update window, click Check Online for updates from Microsoft Update.
  1. Click Important updates are available.
  1. Select the Update Rollup packages that you want to install, and then click OK.
  1. To install the selected update packages, click Install updates.
Manual download of the update packages
Go to the following website to manually download the update packages from the Microsoft Update Catalog:
 
Collapse this imageExpand this image
 
Collapse this imageExpand this image
Installation instructions
This update rollup includes a Management Pack package upgrade. If you use System Center Operations Manager and System Center Virtual Machine Manager integration, we recommend that you upgrade your Management Pack installation to the latest version after you apply this update. The default installation path for this package is "C:\Program Files\Microsoft System Center 2012 R2\Virtual Machine Manager\ManagementPacks."
 
To manually install the update packages, run the following command at an elevated command prompt:
 
msiexec.exe /update <packagename>
Note In this command, <packagename> represents the actual package name. For example, to install the Update Rollup 3 package for a System Center 2012 R2 Virtual Machine Manager server, run the following command:
 
msiexec.exe /update kb2965414_vmmserver.msp
Important After you install the update package, you must run the following SQL script on your Virtual Machine Manager Microsoft SQL Server database in order for Update Rollup 3 to function correctly.


Important!

/* script starts here */
ALTER Procedure [dbo].[prc_RBS_UserRoleSharedObjectRelation_Insert]
(
        @ID uniqueidentifier,
        @ObjectID uniqueidentifier,
        @ObjectType int,
        @RoleID uniqueidentifier,
        @UserOrGroup varbinary (85),
        @ForeignAccount nvarchar (256),
        @IsADGroup bit,
        @ExistingID uniqueidentifier = NULL OUTPUT
)
AS
SET NOCOUNT ON
     SELECT @ExistingID = [ID] FROM [dbo].[tbl_RBS_UserRoleSharedObjectRelation]
     WHERE [ObjectID] = @ObjectID AND [RoleID] = @RoleID
  AND
  -- Select owner OR Select all which matches ForeignAccount or UserOrGroup OR
  -- both ForeignAccount and UserOrGroup is NULL 
  (([UserOrGroup] = @UserOrGroup OR [ForeignAccount] = @ForeignAccount) OR
  ([UserOrGroup] IS NULL AND @UserOrGroup IS NULL AND [ForeignAccount] IS NULL AND @ForeignAccount IS NULL))
      /* Ignore duplicate entries */
      IF (@ExistingID IS NULL)
      BEGIN
     INSERT [dbo].[tbl_RBS_UserRoleSharedObjectRelation]
               ([ID]
               ,[ObjectID]
               ,[ObjectType]
               ,[RoleID]
               ,[UserOrGroup]
               ,[ForeignAccount]
               ,[IsADGroup]
               ,[IsOwner]
               )
    VALUES
    (
            @ID,
            @ObjectID,
            @ObjectType,
            @RoleID,                       
            @UserOrGroup,
            @ForeignAccount,
            @IsADGroup,
            0
    )
      END
SET NOCOUNT OFF
RETURN @@ERROR
GO
ALTER PROCEDURE [dbo].[prc_WLC_IsVHDSharedByAnotherVmOnHost]
    @HostId [uniqueidentifier],
 @VHDId [uniqueidentifier],
    @VMId [uniqueidentifier]
AS
BEGIN
    DECLARE @error int
    SET @error = 0
    SET NOCOUNT ON;
 
    SELECT TOP 1 1 FROM dbo.[fn_WLC_GetParentChildRelationForVHD](@VHDId) vcr
 JOIN dbo.tbl_WLC_VDrive vd ON
  vcr.VHDId = vd.VHDId
 JOIN dbo.tbl_WLC_VObject vo ON
  vo.ObjectId = vd.ParentId
 JOIN dbo.tbl_WLC_VMInstance vi ON
  vo.ObjectId = vi.VMInstanceId
 WHERE  
  vo.HostId = @HostId
 AND
  vo.ObjectId <> @VMId 
 AND
  vi.RootVMInstanceId <> @VMId 
    SET @error = @@ERROR
    SET NOCOUNT OFF
    RETURN @error
END
GO
IF EXISTS (SELECT * FROM dbo.sysobjects
           WHERE id = OBJECT_ID(N'prc_ADHC_HostDisk_GetByClusterDiskIdAndHostId')
           AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
DROP PROCEDURE dbo.prc_ADHC_HostDisk_GetByClusterDiskIdAndHostId
GO
CREATE PROCEDURE dbo.prc_ADHC_HostDisk_GetByClusterDiskIdAndHostId
(
  @ClusterDiskID guid,
  @HostID guid
)
AS
DECLARE @error int
SET @error = 0
SET NOCOUNT ON
SELECT
 [DiskID],
 [Signature],
 [UniqueID],
 [HostID],
 [LibraryServerID],
 [StArrayID],
 [LastUpdatedDateTime],
 [DeviceID],
 [Index],
 [Capacity],
 [IsPassThroughCapable],
 [IsSanAttached],
 [ClusterDiskID],
 [Location],
 [StorageLUNID],
 [SMLunId],
 [SMLunIdFormat],
 [SMLunIdNamespace],
 [SANType],
 [Bus],
 [Lun],
 [Target],
 [Port],
 [IsVHD],
 [StClassificationId]
FROM dbo.tbl_ADHC_HostDisk
WHERE
[HostID] = @HostID
AND
[ClusterDiskID] = @ClusterDiskID
SELECT @error = @@ERROR
SET NOCOUNT OFF
RETURN @error
GO
-- The stored procedure will be deleted after the OS table is updated
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[prc_IL_AddOSTemp]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[prc_IL_AddOSTemp]
GO
CREATE PROCEDURE [dbo].[prc_IL_AddOSTemp]
    @OSId GUID,
    @Name nvarchar(64),
    @Description nvarchar(max),
    @Edition int,
    @ProductType int,
    @Version nvarchar(32),
    @Architecture nvarchar(32),
    @OSFlags int,
    @VMWareGuestId nvarchar(32),
 @OSType int
AS
BEGIN
    DECLARE @error int
    SET @error = 0
   
    SELECT * FROM dbo.tbl_IL_OS WHERE OSId = @OSId
 -- If the OS entry doesn't exist, add the entry.
 -- If it exists, update
    IF (@@ROWCOUNT = 0)   
 BEGIN
 INSERT INTO dbo.tbl_IL_OS
 (
  [OSId],
  [Name],
  [Description],
  [Edition],
  [ProductType],
  [Version],
  [Architecture],
  [OSFlags],
  [VMWareGuestId],
  [OSType]
 )
 VALUES
 (
  @OSId,
  @Name,
  @Description,
  @Edition,
  @ProductType,
  @Version,
  @Architecture,
  @OSFlags,
  @VMWareGuestId,
  @OSType
 )
 END
 ELSE
    BEGIN
    UPDATE dbo.tbl_IL_OS
    SET
        [Name] = @Name,
        [Description] = @Description,
        [Edition] = @Edition,
        [ProductType] = @ProductType,
        [Version] = @Version,
        [Architecture] = @Architecture,
        [OSFlags] = @OSFlags,
        [VMWareGuestId] = @VMWareGuestId,
  [OSType] = @OSType
    WHERE OSId = @OSId
    END
 
    SET @error = @@ERROR
    RETURN @error
END
GO
prc_IL_AddOSTemp 'A3281FA8-6633-4A1D-9AB2-6B563121EC8D', 'Ubuntu Linux 14.04 (32 bit)', 'Ubuntu Linux 14.04 (32 bit)', NULL, NULL, NULL, x86 , 0x1C, 'ubuntuGuest', 1
GO
prc_IL_AddOSTemp '2AF8E4A1-05F0-444E-A96F-D4D5B86B5CC8', 'Ubuntu Linux 14.04 (64 bit)', 'Ubuntu Linux 14.04 (64 bit)', NULL, NULL, NULL, amd64 , 0x1C, 'ubuntu64Guest', 1
GO
-- Delete the temporary stored procedure
-- used to populate this table
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[prc_IL_AddOSTemp]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[prc_IL_AddOSTemp]
GO
/* script ends here */