You must be aware of the latest release SCCM 2012 SP1 cumulative update 3 by now. The CU3 has been released on 20th Sep. More information and download link here. In this post, I’m going to explain about an issue faced during CU3 installation.
I was trying to install ConfigMgr (SCCM) 2012 SP1 CU3 in a lab environment created by somebody else. The wizard took “more” time to complete. It finished with a warning at “Update Site Database” step. The log file “cm12-sp1cu3-kb2882125-x64-enu.log” was helpful to get the following errors . Where can you find this log in SCCM (ConfigMgr) 2012 site server ? OK, try “C:\Windows\Temp”.
The EXECUTE permission was denied on the object ‘fnIsPrimary’,database ‘CM_LAB’, schema ”dbo’
Task status detail added: A SqlException occurred, Line Number: 44Error: 229 Message: The EXECUTE permission was denied on the object ‘fnIsPrimary’, database ‘CM_LAB’, schema ‘dbo’
Task ‘Perform Database Update’ completed. state is ‘warning’ LastStatus: A SqlException occurred, 44Error: 229 Message: The EXECUTE permission was denied on the object ‘fnIsPrimary’, database ‘CM_LAB’, schema ‘dbo’
setup exit status 3001 (task State: warning)
Yes, from the errors itself we can make out that this is something to do with SQL permissions. So I checked whether my account has all the permissions needed for SQL DB update. SysAdmin server role was missing and added that server role to my account. Now, how to update the SCCM / ConfigMgr DB manually?
Ok, how to update CU3 again ? Reapply CU3 for Site database update which failed earlier ? No! You can update the site database manually with the update.sql file. This file is located following location “Program Files\Microsoft Configuration Manager\hotfix\KB2882125\update.sql”.
When you’re trying to run update.sql file from remote SQL server, you may get the following error as the dll files are missing from the SQL server. In that case, you need to edit the sql file to point the ddl file’s UNC path (on primary server).
Msg 6502, Level 16, State 7, Line 2
CREATE ASSEMBLY failed because it could not read from the physical file ‘[[SMS_ROOT]]\bin\x64\MessageHandlerService.dll’: 50(failed to retrieve text for this error. Reason: 15105).
Msg 6528, Level 16, State 1, Procedure fnCompressData, Line 10
Assembly ‘MessageHandlerService’ was not found in the SQL catalog of database ‘CM_LAB’.
Msg 6528, Level 16, State 1, Procedure fnConvertBase64StringToBinary, Line 10
Assembly ‘MessageHandlerService’ was not found in the SQL catalog of database ‘CM_LAB’