After applying the Microsoft update KB http://support.microsoft.com/kb/2904712, you may see your templates and plans not updating in WAP.
The normal steps to check are to look at the disks and templates. In WAP all templates and disks need to have an Operation System configuration.
After the update no more new templates appear in WAP and adding a subscription to a plan fails to sync. This happens because of an updated store proc in the SQL database.
Checking VMM you will see the following error:
VMM Error report will show the following:
Error = 8144
Index #0
Source: .Net SqlClient Data Provider
Number: 8144
State: 2
Class: 16
Server: SYSSQL01
Message: Procedure or function prc_RBS_UserRoleSharedObjectRelation_Insert has too many arguments specified.
Procedure: prc_RBS_UserRoleSharedObjectRelation_Insert
Line: 0
Resolution:
To fix the issue you need to update the sql store proc with the code from the KB 2904172. Then perform a sync on any user subscription that is not in a sync’ed state.
TSQL code is
use [VirtualManagerDB]
go
/* 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
/* script ends here */