Académique Documents
Professionnel Documents
Culture Documents
Paie & RH
1.20
©Sage 2019 3
Ce document a pour objectif de proposer des préconisations, des interventions sur SQL
Server afin d’optimiser l’utilisation de votre progiciel Sage 100cloud Paie & RH
©Sage 2019 4
Quelques requêtes pour connaitre la volumétrie de
la base
Pour connaitre le nombre de contrats :
©Sage 2019 5
Configurations
Le tableau ci-dessous liste les configurations par poste / session exécutant Sage 100cloud
Paie & RH :
Configuration Equivalent
©Sage 2019 6
Limitation de la mémoire utilisée par SQL Server
Cette préconisation est fortement recommandée si votre serveur n’est pas dédié à SQL
Server.
Quand SQL Server est démarré, il peut continuellement s’allouer de la mémoire, même si ce
n’est pas nécessaire, et ce, jusqu’à saturer la mémoire du serveur. Pour éviter cela, il
convient donc de limiter la mémoire utilisée par SQL Server.
©Sage 2019 7
3. Pour connaitre la taille de la base paie, exécuter la commande suivante (résultat en
figure 2) :
USE <nom_de_la_base>
exec sp_spaceused
GO
USE master
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
USE master
EXEC sp_configure 'max server memory (MB)', <taille_en_MB>
RECONFIGURE WITH OVERRIDE
GO
USE master
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO
©Sage 2019 8
Modification de la taille d’agrandissement du fichier
de base de données
Afin d’éviter la fragmentation du fichier de base de données sur le disque, il est nécessaire
de définir une taille d’agrandissement du fichier plus importante que la valeur par défaut (la
valeur recommandée est 250 MB).
use master
SELECT DB_NAME(database_id) AS DatabaseName, name AS LogicalFileName
FROM sys.master_files WHERE DB_NAME(database_id) = ‘<nom_de_la_base>’ AND
type_desc = 'ROWS'
GO
©Sage 2019 9
Optimisation de la base via un job SQL Agent
Au fil du temps, les index de la base de données peuvent ne plus être optimisés.
Cela est surtout vrai quand beaucoup de données sont créées, modifiées ou supprimées.
Pour corriger cela, il est nécessaire de reconstruire les index de la base de données.
OPEN FragmentedTableList
FETCH NEXT FROM FragmentedTableList
INTO @tableName, @indexName, @indexType, @percentFragment
WHILE @@FETCH_STATUS = 0
BEGIN
print 'Processing ' + @indexName + ' on table ' + @tableName + ' which is
' + cast(@percentFragment as nvarchar(50)) + ' fragmented'
if(@percentFragment<= 30)
BEGIN
EXEC('ALTER INDEX ' + @indexName + ' ON ' + @tableName + '
REORGANIZE;')
print 'Finished reorganizing ' + @indexName + ' on table ' + @tableName
END
ELSE
BEGIN
EXEC('ALTER INDEX ' + @indexName + ' ON ' + @tableName + ' REBUILD; ')
print 'Finished rebuilding ' + @indexName + 'on table ' + @tableName
END
FETCH NEXT FROM FragmentedTableList
INTO @tableName, @indexName, @indexType, @percentFragment
END
CLOSE FragmentedTableList
DEALLOCATE FragmentedTableList
Attention ! : pendant l’exécution du script, personne ne doit travailler sur Sage 100cloud Paie
& RH.
Afin de garder constamment des index en bon état, il est possible de créer des tâches
planifiées dans SQL Server. Cela se fait par le service SQL Server Agent.
©Sage 2019 10
Activer le service SQL Server Agent
Pour activer le service SQL Server Agent :
1. Ouvrir Sql Server Configuration Manager (figure 3).
2. Dans l’arbre à gauche sélectionner SQL Server Services, et dans la liste de droite
sélectionner SQL server Agent associé à l’instance SQL Server sur laquelle se
trouve la base de paie.
3. Afficher les propriétés du service. Dans l’onglet Service modifier Démarrage pour
mettre Automatique (figure 4).
©Sage 2019 11
Ajouter un job
Dans SQL Management Studio :
©Sage 2019 12
4. Sur la page Etapes, ajouter une nouvelle étape (figure 7).
©Sage 2019 13
Figure 8 : Création d’une planification
Idéalement il faut définir une fréquence quotidienne avec une exécution nocturne.
Pour rappel, pendant l’exécution du script, personne ne doit travailler sur Sage 100cloud
Paie & RH.
Si l’exécution quotidienne n’est pas possible, prévoir d’exécuter le script à minima une fois
par semaine (grâce à un travail exécuté le dimanche via SQL Server Agent par exemple, ou
manuellement).
©Sage 2019 14