# Base de données : authentification et réplication

## Authentification de base de données

### Utilisation de l'authentification Windows au lieu de l'authentification SQL Server

Vous pouvez configurer votre connexion SQL Server avec l'authentification Windows (SSPI) au lieu de l'authentification SQL Server pour la base de données principale WorkflowGen et d'autres bases de données externes. Ce mode d'authentification SQL offre une sécurité supplémentaire, car aucune information d'identification n'est stockée dans le fichier `web.config`.

Pour configurer l'authentification Windows, utilisez l'une des chaînes de connexion suivantes dans le fichier `web.config` de WorkflowGen, qui se trouve dans le dossier `DISQUE:\Inetpub\wwwroot\wfgen` :

```
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; 
```

**OU**

```
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True
```

Vous devez également modifier l'identité du pool d'applications WorkflowGen pour un compte de service. Pour ce faire :

1. Dans le **Gestionnaire des services Internet** (IIS), faites un clic droit sur le pool d’applications WorkflowGen, puis sélectionnez **Paramètres avancés**.<br>
2. Dans la section **Modèle de processus**, sélectionnez **Identité**, puis cliquez sur le bouton **`...`**.<br>
3. Sélectionnez **Compte personnalisé**, puis cliquez sur **Définir...**<br>
4. Saisissez vos informations d'identification, puis cliquez sur **OK**.<br>
5. Assurez-vous que les pools d'applications des autres applications WorkflowGen (`auth`, `graphql`, `hooks`, `scim`,`ws` et `webforms`) correspondent au pool d'applications `wfgen`.<br>
6. Assurez-vous que le compte personnalisé dispose des autorisations en lecture/écriture et de modification pour la base de données WorkflowGen SQL et les fichiers et dossiers WorkflowGen.<br>
7. Utilisez le même compte que l'identité de l'application pour exécuter les services du moteur WorkflowGen et de la synchronisation d'annuaire.

Pour plus d'informations sur les chaînes de connexion SQL Server, consultez <https://www.connectionstrings.com/sql-server/>.

## Réplication de la base de données <a href="#replication-base-de-donnees" id="replication-base-de-donnees"></a>

### Aperçu

La fonctionnalité de réplication de la base de données permet l’addition des serveurs de bases de données dans le but d’améliorer de façon dramatique la performance des serveurs et les temps de réponses. Les serveurs de base de données de réplicas additionnels seront utilisés comme serveurs dédiés à lecture seule (requête `SQL SELECT`). Les serveurs de base de données de réplicas sont répliqués du serveur de base de données existante ou serveur « master » en utilisant le service de réplication de SQL Server.

{% hint style="info" %}
Cette fonctionnalité s’applique uniquement à MS SQL Server.
{% endhint %}

### Prérequis

* SQL Server 2014 ou supérieure pour tous les serveurs de base de données
* La fonctionnalité de réplication de la base de données SQL Server doit être installée sur toutes les instances de SQL Server
* SQL Server Agent doit aussi être installé et configuré sur toutes les instances de SQL Server

### Installation et configuration

#### Aperçu

Cette section présente une procédure générale pour configurer le service de réplication de SQL Server pour toutes les instances de SQL Server et d’activer la fonctionnalité de la réplication de la base de données de WorkflowGen. Cet exemple de procédure est basé sur une seule instance de WorkflowGen avec deux instances de base de données.

Si votre architecture actuelle diffère de cet exemple, vous pouvez adapter la procédure et certaines options de configuration spécifiques selon vos besoins.

Nous supposons que votre environnement de WorkflowGen actuelle répond aux conditions préalables suivantes :

* La base de données `WFGEN` est déjà installée comme base de données primaire.
* L’instance de réplica en lecture ne contient pas de base de données `WFGEN` existante.
* Le serveur Web WorkflowGen est entièrement configuré et l’accès au module d’administration est possible avec un compte d’administrateur WorkflowGen.

#### Options de configuration de la base de données SQL Server

Il est obligatoire de mettre à jour l’option de configuration `max text repl size` sur les serveurs SQL avec une valeur plus élevée pour que la réplication de bases de données fonctionne correctement. Nous recommandons de régler la valeur maximale de `2147483647` et non pas la valeur par défaut de `65536`.

Exécutez la requête suivante dans la source (« master ») ainsi que dans la base de données de destination (lecture-seule) :

```
EXEC sp_configure "max text repl size", 2147483647;
GO
RECONFIGURE;
GO
```

Pour plus de renseignements consultez l'article Microsoft [Option max text repl size](https://learn.microsoft.com/fr-fr/previous-versions/sql/sql-server-2005/ms186225\(v=sql.90\)?redirectedfrom=MSDN).

#### Services de réplications de SQL Server

Pour établir une publication sur la base de données primaire :

1. Ouvrez SQL Server Management Studio.<br>
2. Connectez-vous à la base de données primaire.<br>
3. Ouvrez le nœud de réplication.<br>
4. Faites un clic droit sur **Local Publications** et choisissez **New Publication**. L’assistant ouvrira. Cliquez sur **Next**.<br>
5. Sélectionnez `WFGEN` dans la liste. Cliquez sur **Next**.<br>
6. Sélectionnez **Transactional publication** dans la liste. Cliquez sur **Next**.<br>
7. Cochez toutes les tables et les vues (facultatif si le module de reporting WorkflowGen est installé dans l’instance de base actuel) dans la liste. Cliquez sur **Next**.<br>
8. La boîte de dialogue **Article Issues** s’ouvrira si vous avez sélectionné **Views** dans l’étape précédente. Cliquez sur **Next**.<br>
9. La boîte de dialogue **Filter Table Rows** s’ouvrira. Il n'est pas nécessaire de filtrer les données dans la publication. Cliquez sur **Next**.<br>
10. La boîte de dialogue **Snapshot Agent** ouvrira. Cochez **Create a snapshot immediately and keep the snapshot available to initialize subscriptions**. Cliquez sur **Next**.<br>
11. Dans **Snapshot Agent Security**, fournissez une identité valide d’un compte de service Windows ou d’administrateur. Cliquez sur **Next**.<br>
12. Cochez **Create the publication**. Cliquez sur **Next**.<br>
13. Donnez un nom de publication `WFGEN_PUB`.<br>
14. Cliquez sur **Finish**. Si tout est réussi, fermez l’assistant.

Pour établir un abonnement sur la base de données réplica :

1. Ouvrez SQL Server Management Studio.<br>
2. Connectez-vous à la base de données réplica.<br>
3. Ouvrez le nœud de réplication.<br>
4. Faites un clic droit sur **Local Publications** et choisissez **New Publication**. L’assistant s’ouvrira. Cliquez sur **Next**.<br>
5. Sélectionnez **Find SQL Server Publisher...**<br>
6. Connectez-vous à l’instance primaire.<br>
7. Sélectionnez `WFGEN_PUB` parmi la liste **Database and publications**. Cliquez sur **Next**.<br>
8. Sélectionnez **Run each agent at its Subscriber (pull subscriptions)**. Cliquez sur **Next**.<br>
9. Dans la liste des suscriptions, sélectionnez **New database...**<br>
10. Donnez un nom à la base de données `WFGEN` et cliquez sur **OK**. Cliquez sur **Next**.<br>
11. Dans les options de configuration **Distribution Agent Security** fournissez une identité valide d’un compte de service Windows ou d’administrateur. Cliquez sur **Next**.<br>
12. Sélectionnez **Run continuously** parmi les options disponibles dans la liste **Synchronization Schedule**. Cliquez sur **Next**.<br>
13. Sélectionnez **Immediately** parmi les options dans la liste **Initialize Subscriptions**.<br>
14. Sélectionnez **Create the subscription(s)**. Cliquez sur **Next**.<br>
15. Cliquez sur **Finish**. Si tout est réussi, fermez l’assistant.<br>
16. Créez et ajoutez l’utilisateur SQL `WFGEN_USER` à la base de données réplicas avec les autorisations `db_datareader` et `db_datawriter`.

{% hint style="info" %}
Le compte `WFGEN_USER` sera utilisé dans WorkflowGen comme chaîne de connexion pour la base réplicas `WFGEN`.
{% endhint %}

### Réplication de la base de données dans WorkflowGen

Activer le mode multi-base de données dans WorkflowGen :

1. Ouvrez le module d'administration de WorkflowGen.<br>
2. Dans le panneau de configuration, sélectionnez l’onglet **Général**.<br>
3. Dans le champ **Chaîne de connexion de la base de données Lecture seule** précisez la chaîne de connexion `WFGEN` pour la base de données réplica.<br>
4. Cochez la case **Multi-base de données** pour activer la fonction de réplication.<br>
5. Vérifier chacune des pages du portail et des modules :
   * Si non coché WorkflowGen utilisera la base de données primaire.
   * Si coché WorkflowGen utilisera la base de données réplica.<br>
6. Enregistrez et fermez.

### Références

* Pour plus de renseignements sur la réplication SQL Serveur, consultez l'article Microsoft [Réplication SQL Server](https://learn.microsoft.com/fr-fr/sql/relational-databases/replication/sql-server-replication?view=sql-server-ver16\&redirectedfrom=MSDN) et sélectionnez votre version de SQL Server dans la liste.<br>
* Pour plus de renseignements sur l’option `max text repl size`, consultez l'article Microsoft [Option max text repl size](https://learn.microsoft.com/fr-fr/previous-versions/sql/sql-server-2005/ms186225\(v=sql.90\)?redirectedfrom=MSDN) et sélectionnez votre version de SQL Server parmi la liste.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.workflowgen.com/tech-fr/9.3/configuration-avancee/base-de-donnees-authentification-et-replication.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
