Mise-en-place du log shipping

Bonjour

L’envoi de journaux ou le log shipping  est une technologie de base de SQL Server de haute disponibilité qui fait partie du SQL Server. Il s’agit d’un processus de sauvegarde et de restauration automatisé qui vous permet de créer une autre copie de votre base de données pour le basculement. L’envoi de journaux implique la copie d’une sauvegarde de base de données et de sauvegardes de journaux de transactions ultérieures à partir du serveur principal (source) et la restauration des sauvegardes de bases de données et de journaux de transactions sur un ou plusieurs serveurs secondaires (Stand By / Destination). La base de données cible est en mode veille ou non-récupération sur le (s) serveur (s) secondaire (s), ce qui permet de sauvegarder les journaux de transactions suivants sur le serveur principal et de les transférer (ou de les copier) sur les serveurs secondaires.

Pour débuter il faut s’assurez-vous que votre base de données est en  mode de récupération compléte ou journalisée en bloc. Vous pouvez modifier le modèle de récupération de base de données à l’aide de la requête ci-dessous. Vous pouvez vérifier le modèle de récupération de base de données en interrogeant sys.databases

USE master
GO
ALTER DATABASE Database_log SET RECOVERY FULL WITH NO_WAIT
GO

Avant de configurer l’envoi de journaux, vous devez créer un partage pour que les sauvegardes du journal des transactions soient disponibles sur le serveur secondaire. Il s’agit d’un partage du répertoire dans lequel les sauvegardes du journal des transactions seront générées

Important :Les comptes exécutant le service Agent SQL Server  doivent pouvoir avoir accès au dossier de partage

Etape1:

on va procéder tout d’abord a restaurer la base de donnée sur le second serveur soit en mode with Standby ou en mode NO Recovery 

En faite La base de données secondaire peut être dans deux modes différents: Mode veille with Standby  ou en mode en cours de récupération  NO Recovery 
Lorsque la base de données secondaire est en mode veille, les utilisateurs peuvent se connecter et émettre
des instructions de type SELECT  sur la base de données.

Lorsque la base de données secondaire est en cours de récupération NO Recovery 
les utilisateurs ne peuvent pas se connecter à la base de données. Dans les deux modes, vous pouvez restaurer les journaux de transactions
à la base de données secondaire. Vous ne pouvez pas restaurer les journaux de transactions lorsque les utilisateurs sont
connecté à la base de données

Sans titre12 Sur le serveur secondaire, vous pouvez vérifier l’état de la base secondaire restaurée en mode veille

Sans titre10

Etape 2

Sur le serveur principal, faites un clic droit sur la base de données depuis  SSMS et sélectionnez Propriétés. Ensuite, sélectionnez la page d’expédition du journal des transactions. Cochez la case « Activer cela en tant que base de données primaire dans une configuration d’envoi de journaux »

logshiping1

logshiping2

L'étape suivante consiste à configurer et planifier une sauvegarde du journal des transactions. Cliquez sur Paramètres de sauvegarde ... pour ce faire

Sans titre2

Configuration des paramètres de sauvegarde des journaux de transaction de la base principale (avec 3 jours de rétention)

Sans titre3

Planifier le job du sauvegarde selon votre besoin ici chaque 15 minutes

Sans titre11

Dans cette étape, nous allons configurer l’instance secondaire et la base de données. Cliquez sur le bouton Ajouter … pour configurer l’instance et la base de données du serveur secondaire. Vous pouvez ajouter plusieurs serveurs si vous souhaitez configurer un ou plusieurs journaux d’expédition de serveur

.logshiping4

Après connexion à l’instance de la base secondaire, choix du mode d’initialisation de cette dernière :

.Sans titre4

Sans titre5

Ici, vous devez spécifier les informations sur l’état de restauration de la base de données et le planification  du restauration. Cela va créer le travail de restauration sur le serveur secondaire.

logshiping6

Cliquez sur le bouton OK pour terminer la configuration de l’expédition du journal et il vous montrera l’écran ci-dessous.

logshiping7Exécuter le travail de sauvegarde sur l’instance SQL principale et copier, restaurer les travaux dans l’instance secondaire. Créez les tâches et les alertes d’expédition des journaux, puis commencez l’envoi des journaux. Vérifiez que les sauvegardes vont dans le bon dossier, sont copiées de LS_Primary à LS_Secondary correctement, et sont restaurées dans SQL2

Sans titre

Cliquez avec le bouton droit sur Instance principale et secondaire, sélectionnez les rapports et cliquez sur l’état d’expédition du journal des transactions. Cela vous montrera l’état de la synchronisation de la livraison de la base de données entre deux instances

Sans titre

Pour supprimer l’envoi de journaux
Connectez-vous à l’instance de SQL Server qui est actuellement le serveur principal d’envoi de journaux et développez cette instance.

Développez Bases de données, cliquez avec le bouton droit sur la base de données principale d’envoi de journaux, puis cliquez sur Propriétés.

Sous Sélectionner une page, cliquez sur Expédition du journal des transactions.

Désactivez la case à cocher Activer cela en tant que base de données principale dans une boîte de dialogue de configuration de l’envoi de journaux.

Cliquez sur OK pour supprimer l’envoi de journaux de cette base de données primaire

logshiping9

Bonne configuration

Supprimer des fichiers du dossier spécifié à l’aide de la tâche système de fichiers dans SQL Server SSIS

bonjour

Il existes des différentes méthodes pour supprimer les fichiers  ou le contenu du dossier spécifié en utilisant certaines des méthodes comme xp_delete_file Ou avec l’utilitaire de ligne de commande xp_cmdshell que nous avons utilisé pour l’archivage de fichiers ou le nettoyage ou même avec Powershel remove-item

Ici, je vais partager certains des écrans qui suppriment les fichiers avec SSIS en utilisant la tâche système de fichiers. Laissez-moi les partager un par un

1. Dossier contenant des fichiers de test:

Sans titre

Faites glisser et déposez Foreach Loop Container et File System Task. Foreach Loop Container utilisé pour obtenir tous les fichiers dans ce dossier un par un et traiter avec la tâche système de fichiers. Ouvrez les propriétés Foreach Loop Container, l’onglet GOTO Collection et sélectionnez Foreach File Enumerator comme indiqué dans l’écran ci-dessous

Sans titre2

3. Sélectionnez le dossier d’où vous avez besoin de supprimer les fichiers. Appliquez également l’extension si vous avez besoin

Sans titre

Sans titre

4. Pour l’assignation de fichier, nous avons besoin d’une variable et des valeurs allouées à partir du processus Foreach Loop Container. Donc, attribuez-le à partir de la cartographie variable selon le tir pris ci-dessou

Sans titre

5. Faites glisser la tâche Système de fichiers, sélectionnez l’opération Supprimer le fichier et définissez la connexion de la source

Sans titre

Sans titre

Sans titre

6. Enfin, exécuter le paquet et les fichiers seront supprimés.

Sans titre

Bonne lecture