L’équipe ConfigMgr a publié un article dans la base de connaissances concernant un problème touchant System Center 2012 Configuration Manager (toutes versions). La création de groupes de mises à jour logicielles, de packages de mises à jour ou d’applications échoue après que vous ayez déplacé la base de données de site vers un disque différent.
Le fichier SMSProv.log affiche les erreurs suivantes :
*** *** Unknown SQL Error! SMS Provider 14-03-2012 07:56:47 2016 (0x07E0)
*~*~*** Unknown SQL Error! ThreadID : 2016 , DbError: 50000 , Sev: 16~*~* SMS Provider 14-03-2012 07:56:47 2016 (0x07E0)
*** [24000][0][Microsoft][SQL Server Native Client 10.0]Invalid cursor state SMS Provider 14-03-2012 07:56:48 2016 (0x07E0)
*~*~[24000][0][Microsoft][SQL Server Native Client 10.0]Invalid cursor state *** Unknown SQL Error! ThreadID : 2016 ,
DbError: 0 , Sev: 0~*~* SMS Provider 14-03-2012 07:56:48 2016 (0x07E0)
En ouvrant le profileur SQL Server, vous obtenez les détails suivants :
An error occurred in the Microsoft .NET Framework while trying to load assembly id 65539. The server may be
running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE.
Run the query again, or check documentation to see how to solve the assembly trust issues. For more
information about this error:
System.IO.FileLoadException: Could not load file or assembly 'cryptoutility, Version=5.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. An error relating to security occurred.
(Exception from HRESULT: 0x8013150A) System.IO.FileLoadException:
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity,
Assembly locationHint,
StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity,
StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity,
StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
Vous avez par exemple déplacé les fichiers MDF et LDF de C:\Program files\MSSQL server\data à D:\CM2012DB. L’opération est supportée mais elle requiert le passage de la propriété SQL TRUSTWORTHY à ON. Pour cela, suivez la procédure :
- Ouvrez SQL Server Management Studio et connectez-vous à l’instance
- Exécutez :
ALTER DATABASE <ConfigMgr DB>
SET TRUSTWORTHY ON
- Assurez-vous que la base déplacée a bien comme Owner le compte SA.
- Vérifiez que la valeur du niveau d’isolation est READ_COMMITTED_SNAPSHOT via DBCC USEROPTIONS
- Si ce n’est pas le cas, exécutez :
ALTER DATABASE <ConfigMgr DB>
SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <ConfigMgr DB>
SET READ_COMMITTED_SNAPSHOT ON
Plus d’informations sur la KB3057073 - After the System Center 2012 ConfigMgr SQL Site database is moved, you cannot create a Software Update package or application