Procédure de préparation à la mise à niveau de Service Manager 2012 vers le Service Pack 1
Date de publication : juillet 2016
S’applique à : System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager
Cette rubrique décrit comment préparer votre environnement System Center 2012 - Service Manager pour une mise à niveau. Pour ce faire, exécutez les procédures suivantes pour mettre à niveau le serveur d'administration de l'entrepôt de données :
Répertoriez les travaux d'entreposage de données en cours d'exécution.
Désactivez les planifications de travaux d'entreposage de données.
Vérifiez que les travaux d'entreposage de données ne sont plus en cours d'exécution.
Lorsque les travaux d'entreposage de données sont terminés, démarrez la mise à niveau du serveur d'administration de l'entrepôt de données.
Une fois que l'entrepôt de données a été mis à niveau, exécutez les procédures suivantes sur le premier serveur d'administration Service Manager :
- Attendez 10 minutes, puis relancez la mise à niveau du serveur d'administration Service Manager.
Pour répertorier les travaux d'entreposage de données à l'aide d'applet de commandes Windows PowerShell
Sur l'ordinateur hébergeant le serveur d'administration de l'entrepôt de données, cliquez successivement sur Démarrer, Tous les programmes, Microsoft System Center 2012, puis sur Service Manager Shell.
Tapez les commandes suivantes en appuyant sur ENTRÉE après chaque commande.
Set-ExecutionPolicy –force RemoteSigned
cd 'C:\Program Files\Microsoft System Center 2012\Service Manager' Import-Module .\Microsoft.EnterpriseManagement.Warehouse.Cmdlets.psd1
Get-SCDWJob
Une liste de travaux d'entreposage de données s'affiche. Utilisez cette liste dans la procédure suivante, « Pour désactiver des planifications de travaux d'entreposage de données à l'aide d'applets Windows PowerShell ».
Pour désactiver des planifications de travaux d'entreposage de données à l'aide d'applets Windows PowerShell
Tapez les commandes suivantes en appuyant sur ENTRÉE après chaque commande.
Disable-SCDWJobSchedule –JobName Extract_<data warehouse management group name>
Disable-SCDWJobSchedule –JobName Extract_<Service Manager management group name>
Disable-SCDWJobSchedule –JobName Transform.Common
Disable-SCDWJobSchedule –JobName Load.Common
Disable-SCDWJobSchedule –JobName DWMaintenance
Disable-SCDWJobSchedule –JobName MPSyncJob
Start-SCDWJob –JobName MPSyncJob
La dernière commande pour démarrer MPSyncJob permettra l'exécution jusqu'à leur terme des travaux d'extraction, de transformation et de chargement (ETL). Après cela, toutes les planifications ayant été désactivées, les travaux s'arrêteront. Pour fermer la fenêtre Windows PowerShell, tapez exit.
Pour vérifier que les travaux d'entreposage de données ne sont plus en cours d'exécution
Dans la Console de Service Manager, cliquez sur Entrepôt de données.
Dans le volet Entrepôt de données, développez Entrepôt de données, puis cliquez sur Travaux d'entreposage de données.
Dans le volet Travaux d'entreposage de données, observez la colonne État pour chaque travail d'entreposage de données. Lorsque l'état de chaque tâche est répertorié comme Non démarré, passez à la procédure suivante pour arrêter le Portail libre-service. Si aucun Portail libre-service n'existe dans votre environnement, vous pouvez lancer le processus de mise à niveau comme indiqué dans Comment mettre à niveau vers System Center 2012 SP1 - Service Manager.
Pour empêcher les tâches MPSync d'échouer
Exécutez le script SQL ci-dessous sur la base de données DWRepository pour obtenir les scripts SQL qui suppriment et ajoutent une contrainte sur la clé principale des tables de faits dans la base de données DWRepository pour corriger le problème
;WITH FactName AS ( select w.WarehouseEntityName from etl.WarehouseEntity w join etl.WarehouseEntityType t on w.WarehouseEntityTypeId = t.WarehouseEntityTypeId where t.WarehouseEntityTypeName = 'Fact' ),FactList AS ( SELECT PartitionName, p.WarehouseEntityName, RANK() OVER ( PARTITION BY p.WarehouseEntityName ORDER BY PartitionName ASC ) AS RK FROM etl.TablePartition p join FactName f on p.WarehouseEntityName = f.WarehouseEntityName ) , FactPKList AS ( SELECT f.WarehouseEntityName, a.TABLE_NAME, a.COLUMN_NAME, b.CONSTRAINT_NAME, f.RK, CASE WHEN b.CONSTRAINT_NAME = 'PK_' + f.WarehouseEntityName THEN 1 ELSE 0 END AS DefaultConstraints FROM FactList f JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE a ON f.PartitionName = a.TABLE_NAME JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME AND b.CONSTRAINT_TYPE = 'Primary key' ) , FactWithoutDefaultConstraints AS ( SELECT a.* FROM FactPKList a LEFT JOIN FactPKList b ON b.WarehouseEntityName = a.WarehouseEntityName AND b.DefaultConstraints = 1 WHERE b.WarehouseEntityName IS NULL AND a.RK = 1 ) , FactPKListStr AS ( SELECT DISTINCT f1.WarehouseEntityName, f1.TABLE_NAME, f1.CONSTRAINT_NAME, F.COLUMN_NAME AS PKList FROM FactWithoutDefaultConstraints f1 CROSS APPLY ( SELECT '[' + COLUMN_NAME + '],' FROM FactWithoutDefaultConstraints f2 WHERE f2.TABLE_NAME = f1.TABLE_NAME ORDER BY COLUMN_NAME FOR XML PATH('') ) AS F (COLUMN_NAME) ) SELECT 'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] DROP CONSTRAINT [' + f.CONSTRAINT_NAME + ']' + CHAR(13) + CHAR(10) + 'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] ADD CONSTRAINT [PK_' + f.WarehouseEntityName + '] PRIMARY KEY NONCLUSTERED (' + SUBSTRING(f.PKList, 1, LEN(f.PKList) -1) + ')' + CHAR(13) + CHAR(10) FROM FactPKListStr f