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:
- Click Start, and then click Control Panel.
- In Control Panel, double-click Windows Update.
- In the Windows Update window, click Check Online for updates from Microsoft Update.
- Click Important updates are available.
- Select the Update Rollup packages that you want to install, and then click OK.
- 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_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
@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
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 */
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 */
Comments
Post a Comment