Restaurer une base de données SES Evolution
En cas de défaillance ou corruption d'une base de données, vous pouvez restaurer une sauvegarde.

-
Le compte Windows utilisé pour l'identité du backend au moment de l'installation de SES Evolution doit être un compte de domaine.
-
La sauvegarde à restaurer doit avoir été effectuée sur la même version que la version de SES Evolution en production. Par exemple, restaurer une sauvegarde de base SES Evolution 2.6.1 sur une version 2.6.3 empêchera le démarrage de SES Evolution. D'où l'importance de sauvegarder les bases après chaque mise à jour de SES Evolution. Pour plus d'informations, reportez-vous à la section Sauvegarder ponctuellement les bases de données.
-
La console d'administration, les gestionnaires d'agents, et le backend SES Evolution doivent être arrêtés dans cet ordre avant d'effectuer une restauration.

-
Dans SQL Server Management Studio, utilisez la procédure Stormshield_RestoreDatabase avec les paramètres suivants adaptés à votre environnement :
Paramètre | Description |
---|---|
DatabaseName |
Nom de la base de données dans laquelle le fichier sera restauré. La valeur peut être EsAdministration ou EsLogs. ATTENTION
|
BackupFilePath |
Chemin absolu du fichier de sauvegarde à restaurer. Ce fichier doit exister pour que la procédure fonctionne correctement. Les chemins réseau sont acceptés, comme par exemple \\storage\backups\EsAdministration_2024-07-14_22-30-42_full.bak. |
DestinationDataDirectory (optionnel) |
Chemin absolu du répertoire dans lequel les fichiers de données SQL Server sont restaurés. Si ce paramètre est utilisé, le répertoire doit exister pour que la procédure fonctionne correctement. |
DestinationLogDirectory (optionnel) |
Chemin absolu du répertoire dans lequel les fichiers de log de transaction SQL Server sont restaurés. Si le paramètre est utilisé, le répertoire doit exister pour que la procédure fonctionne correctement. |
Par exemple, exécutez la commande suivante :
EXECUTE master.dbo.Stormshield_RestoreDatabase
@DatabaseName = 'EsAdministration',
@BackupFilePath = 'E:\Backups\EsAdministration\EsAdministration_2024-07-14_22-30-42_full.bak';

Pour restaurer une base de données SES Evolution sur un autre serveur ou instance SQL Server, l'instance de destination doit être en version supérieure ou égale de SQL Server.
Suivez cette procédure pour chaque base de données en commençant par la base d'administration :
-
Sur l'instance SQL Server cible, exécutez le script Stormshield_Database_Maintenance_Procedures.sql.
-
Restaurez la base sur l'instance SQL Server cible :
-
Si l'instance cible est sur une machine différente, exécutez cette commande SQL :
EXECUTE master.dbo.Stormshield_RestoreDatabase
@DatabaseName = 'EsXxx',
@BackupFilePath = 'E:\Backups\EsXxx\EsXxx_2024-07-14_22-30-42_full.bak';où
Xxx
doit être remplacé parAdministration
ouLogs
. -
Pour personnaliser les répertoires de destination pour les fichiers SQL, spécifiez-les manuellement dans la commande :
EXECUTE master.dbo.Stormshield_RestoreDatabase
@DatabaseName = 'EsXxx',
@BackupFilePath = 'C:\backups\EsXxx_2024-07-14_22-30-42_full.bak',
@DestinationDataDirectory = 'F:\Data',
@DestinationLogDirectory = 'G:\Logs'; -
Si la machine cible contient plusieurs autres instances, spécifiez explicitement le répertoire de destination afin que les fichiers soient restaurés dans les répertoires correspondant à la bonne instance. Par exemple, pour une instance nommée DESTINATION :
EXECUTE master.dbo.Stormshield_RestoreDatabase
@DatabaseName = 'EsXxx',
@BackupFilePath = 'C:\backups\EsXxx_2024-07-14_22-30-42_full.bak',
@DestinationDataDirectory = 'C:\Program Files\Microsoft SQL Server\MSSQL15.DESTINATION\MSSQL\DATA',
@DestinationLogDirectory = 'C:\Program Files\Microsoft SQL Server\MSSQL15.DESTINATION\MSSQL\DATA';
-
-
Exécutez la commande suivante sur la base restaurée afin de recréer automatiquement les identifiants nécessaires au fonctionnement de SES Evolution :
EXECUTE master.dbo.Stormshield_RestoreLoginUserMappings;
-
Si vous êtes en train de restaurer la base de logs, mettez à jour la référence à son instance dans la base d'administration SES Evolution que vous avez préalablement restaurée. Pour cela, exécutez la commande suivante sur l'instance qui héberge la base d'administration :
EXECUTE master.dbo.Stormshield_ChangeLogsDatabaseInstance @NewInstanceName = 'LOGS_SERVER_ADDRESS\LOGS_INSTANCE_NAME';
où
LOGS_SERVER_ADDRESS
etLOGS_INSTANCE_NAME
sont l'adresse et l'instance SQL de la base de logs. Pour les instances par défaut (qui ne sont pas nommées), l’adresse seule sans backslash suffit :LOGS_SERVER_ADDRESS
. -
Mettez à jour l'adresse de la nouvelle instance SQL Server dans les fichiers de configuration de SES Evolution :
-
Sur chaque backend, faites une sauvegarde des fichiers :
C:\Program Files\Stormshield\SES Evolution\Backend\Api\web.config
C:\Program Files\Stormshield\SES Evolution\Backend\PublicApi\web.config -
Dans chacun de ces fichiers, modifiez les lignes :
<add name="Administration" connectionString="Data Source=ADM_SERVER_ADDRESS\ADM_INSTANCE_NAME;Initial Catalog=EsAdministration;..." ... />
<add name="Logs" connectionString="Data Source=LOGS_SERVER_ADDRESS\LOGS_INSTANCE_NAME;Initial Catalog=EsLogs;..." ... />afin que les valeurs
ADM_SERVER_ADDRESS
,ADM_INSTANCE_NAME
,LOGS_SERVER_ADDRESS
, etLOGS_INSTANCE_NAME
correspondent aux adresses et instances SQL des bases d'administration et de logs.Pour les instances par défaut (qui ne sont pas nommées), l’adresse seule sans backslash suffit :
ADM_SERVER_ADDRESS
etLOGS_SERVER_ADDRESS
.
-