Basculement du Log Shipping

Documents pareils
Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Addenda du Guide de l administrateur

Sauvegarde des bases SQL Express

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Configuration de SQL server 2005 pour la réplication

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Guide SQL Server 2008 pour HYSAS

CA ARCserve Backup Patch Manager pour Windows

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

LES ACCES ODBC AVEC LE SYSTEME SAS

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Encryptions, compression et partitionnement des données

Installation des moteurs SQL Pour Micro-SESAME

Sauvegarde d une base de données

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide Enseignant de l application OpenERP

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Guide de l'utilisateur

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

1. Comment accéder à mon panneau de configuration VPS?

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Gestion des utilisateurs : Active Directory

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Pour valider les pré-requis nécessaires, avant d'aborder le TP, répondez aux questions ciaprès

Procédure d installation :

TecLocal 4.0. Nouveautés de la version 4.0 (notes de mise à jour)

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Pack Evolix Serveur Mail Documentation d'utilisation

Gestion des bases SQL Server Microsoft Guide pratique

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

La réplication sous SQL Server 2005

DHCP Failover for Windows Server 2012 By COCHET Anthony

PLAN DE REPRISE D ACTIVITE INFORMATIQUE

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

LA SAUVEGARDE DES DONNEES SUR LES ORDINATEURS PERSONNELS

Installer VMware vsphere

Formation SQL Server 2012 Administration des Instances

Storebox User Guide. Swisscom (Suisse) SA

Préconisations Techniques & Installation de Gestimum ERP

PPE 2-1 Support Systeme. Partie Support Système

Tutorial sur SQL Server 2000

Famille Backup Exec Backup Exec 12.5 Backup Exec System Recovery 2010

TRANSFERT DES STANDARDS DANS SOLID 9

Online Backup. & Recovery Service

SQL Server 2012 Administrez une base de données : Exercices et corrigés

Les journées SQL Server 2013

Sauvegarde avec R1Soft Guide de mise en route

Internet Explorer. Microsoft. Sommaire :

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Installation de Windows 2003 Serveur

Administration du Client Web

NAS 206 Utiliser le NAS avec Windows Active Directory

Début de la procédure

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Veeam Backup and Replication

Les Utilisateurs dans SharePoint

Qu'est-ce que c'est Windows NT?

Manuel du composant CKForms Version 1.3.2

Business Intelligence avec SQL Server 2012

L accès à distance du serveur

Logiciel HLA Fusion Version 3.X.X

Windows Server 2008 R2

Installation d'un serveur RADIUS

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

Symantec Backup Exec Remote Media Agent for Linux Servers

NetSupport Notify (v2.01) Guide de démarrage. Tous droits réservés NetSupport Ltd

Mise en place d un firewall d entreprise avec PfSense

Synerway - Agent SQL Server

Votre adresse ... Pour consulter vos s, connectez-vous sur le site :

Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel

La Clé informatique. Formation Internet Explorer Aide-mémoire

Maintenance COMOS. Platform Maintenance. Marques 1. Marche à suivre pour un changement de version. Changement de méthode de licences

UserLock Guide de Démarrage rapide. Version 8.5

SQL Data Export for PS/PSS

UserLock Quoi de neuf dans UserLock? Version 6

CA XOsoft. Suite logiciels. WANSync Solution de réplication des données en LAN ou WAN.

Note de compatibilité

PROTECTION DE MACHINE VIRTUELLE VMWARE DELL POWERVAULT DL2000 OPTIMISÉ PAR SYMANTEC

PostgreSQL. Formations. Catalogue Calendrier... 8

Sauvegarde d'une base de données SQL Server Express 2005

CA ARCserve Backup r12

Retour d'expérience avec : OCS Inventory & GLP

pour Windows Manuel de l agent pour Microsoft SQL Server r11.1 C F

Mise en place Active Directory, DNS Mise en place Active directory, DNS sous Windows Serveur 2008 R2

Mode d'emploi Opérateurs

Sql Server 2005 Reporting Services

Business Intelligence avec SQL Server 2014 Maîtrisez les concepts et réalisez un système décisionnel

Acronis Backup & Recovery 10 Server for Windows Acronis Backup & Recovery 10 Workstation. Guide de démarrage rapide

TAGREROUT Seyf Allah TMRIM

Transcription:

Rudi Bruchez http://www.babaluga.com rudi@babaluga.com 06 22 48 76 99 Conseil, audit, optimisation, solutions, formation SQL Server transactionnel et décisionnel et NoSQL Basculement du Log Shipping Ce document indique brièvement les étapes de restauration d'urgence d'un secondaire de log shipping sur Microsoft SQL Server lorsque le principal est défaillant. Le code SQL de ce document peut être copié depuis un gist github à cette adresse : https://gist.github.com/rudi-bruchez/6db250f4ac9dadbadd1b13ed3dcb151b (https://goo.gl/uyvjcu). Les principes Le log shipping est une solution de reprise sur incident basée sur un ou plusieurs serveurs de standby qui récupère de manière planifiée des sauvegardes de journal de transactions planifiés sur une base vivante, nommée la base principale. Il s'agit d'une solution assez simple et basique, qui n'offre pas le même niveau de sophistication que des solutions de haute disponibilité modernes, mais qui permet de disposer à peu de frais d'un serveur de secours en cas de défaillance du serveur principal. En cas de défaillance du serveur principal, vous devez agir pour rendre le serveur secondaire disponible. Le log shipping n'offre aucune fonction de basculement automatique. Vous devez également rediriger manuellement les connexions clientes. Le basculement manuel Si votre base principale est indisponible, vous devez agir manuellement. La base secondaire est soit en état de récupération, soit en état de veille. Vous devez agir sur le secondaire, de la façon suivante : 1. vous assurer que toutes les sauvegardes de journal de transaction sont restaurées sur le secondaire ; 2. rendre le secondaire disponible ; 3. rediriger les connexions clientes. Ces étapes sont détaillées ci-dessous. Vérifier l'état de la restauration sur le serveur secondaire Sur le serveur SQL secondaire : Obtenez d'abord les métadonnées du log shipping sur votre serveur SQL secondaire, à l'aide de la requête suivante : SELECT sd.secondary_database, rudi@babaluga.com Basculement du Log Shipping v. 2016-04-03 page 1 de 5

s.primary_server, s.primary_database, s.backup_source_directory, s.backup_destination_directory, sd.last_restored_file, sd.last_restored_date, s.last_copied_file, s.last_copied_date FROM msdb.dbo.log_shipping_secondary s JOIN msdb.dbo.log_shipping_secondary_databases sd ON s.secondary_id = sd.secondary_id; Cette requête retourne les métadonnées de toutes les bases de données secondaires inscrites sur le serveur. Voici un exemple de résultat : Les colonnes retournées sont les suivantes : Colonne secondary_database primary_server primary_database backup_source_directory backup_destination_directory last_copied_file last_copied_date last_restored_file last_restored_date Signification Le nom de la base de données secondaire sur le serveur SQL secondaire. C'est cette base de données que vous voulez activer. Le nom du serveur SQL principal, c'est ce serveur qui est défaillant, si vous voulez activer le secondaire. Le nom de la base de données principale sur le serveur SQL principal. C'est cette base de données qui est défaillante, si vous voulez activer le secondaire. Le partage réseau sur lequel le secondaire va chercher les sauvegardes de journal de transactions effectuées par le serveur SQL principal. Cet emplacement contient peut-être des sauvegardes qui n'ont pas encore été copiées sur votre serveur SQL secondaire. Il faut donc les récupérer. Par contre, si ce partage se situe physiquement sur le serveur principal, le partage n'est peut-être plus disponible. Le répertoire local au serveur SQL secondaire sur lequel les sauvegardes de journal de transactions sont copiées depuis le partage (backup_source_directory) avant d'être restaurées sur la base de données secondaire (secondary_database). Le nom et le chemin du dernier fichier copié dans backup_destination_directory. La date de copie du dernier fichier copié dans backup_destination_directory. Le nom et le chemin du dernier fichier restauré dans la base de données secondaire. La date de la dernière restauration dans la base de données rudi@babaluga.com Basculement du Log Shipping v. 2016-04-03 page 2 de 5

secondaire. Le nom des fichiers de sauvegarde de transactions est basé sur l'exemple suivant : Principal_20160402211510.trn, où Principal est le nom de la base de données principale, 20160402 est la date de la sauvegarde au format ISO 8601 sans tirets, c'est-à-dire AAAAMMJJ et 2115 est l'heure GMT (UTC) en HHMM. Notez qu'il s'agit bien de l'heure GMT, il vous faut donc faire la conversion avec l'heure locale pour en déduire l'heure de la sauvegarde. Plus simplement, vous pouvez vous baser sur l'heure indiquée dans last_copied_date ou regarder l'heure du fichier dans le gestionnaire de fichiers Windows. Si vous avez encore accès au serveur SQL principal Si vous avez encore accès au serveur SQL principal vous pouvez lancer le travail de sauvegarde pour récupérer les dernières transactions de votre journal. Le travail dans l'agent SQL sur serveur SQL principal est surligné dans la copie d'écran suivante : Le nommage est simple : LSBackup_Principal : LS pour Log Shipping, Backup pour l'action du travail et Principal est le nom de la base de données principale. Pour lancer le travail, faites un clic droit sur le travail et choisissez «démarrez la travail à l'étape» ou «start job at step», comme surligné sur la copie d'écran suivante. Vous pouvez vérifier les informations du log shipping sur le serveur principal à l'aide de la requête suivante : SELECT primary_database, backup_directory, backup_share, last_backup_file, last_backup_date FROM msdb.dbo.log_shipping_primary_databases; Les colonnes retournées sont les suivantes : Colonne primary_database backup_directory Signification Le nom de la base de données principale sur le serveur SQL principal. Le répertoire local au serveur SQL principal sur lequel les sauvegardes de journal de transactions sont déposées, si le partage rudi@babaluga.com Basculement du Log Shipping v. 2016-04-03 page 3 de 5

du log shipping est situé sur le serveur principal. backup_share last_backup_file last_backup_date Le partage réseau sur lequel le secondaire vient chercher les sauvegardes de journal de transactions. Le nom et le chemin du dernier fichier de sauvegarde de journal de transactions pour le log shipping. La date de la dernière sauvegarde de journal de transactions pour le log shipping. Récupérer les dernières sauvegardes de journal de transactions Vous savez maintenant quel est le dernier fichier de sauvegarde de journal de transactions restauré sur votre base secondaire. Vous devez savoir si c'est bien la dernière sauvegarde disponible. Si votre serveur principal est inaccessible, regardez simplement dans le répertoire backup_destination_directory si vous avez des sauvegardes plus récentes. Plus simplement ; vous pouvez lancer manuellement les travaux de l'agent SQL sur le serveur SQL secondaire qui copient et restaurent les sauvegardes. La copie d'écran ci-dessus montre les deux travaux de l'agent. Le nommage est simple : LSCopy_SQL2012_Principal : LS pour Log Shipping, Copy ou Restore pour l'action du travail, SQL2012 correspond au serveur SQL principal et Principal est la base de données principale qui est copiée sur le serveur secondaire. Lancez d'abord le travail de copie. Lorsqu'il est terminé, même s'il y a une erreur parce qu'il ne parvient pas à atteindre le partage sur le principal, lancez le travail de restauration. Pour lancer les travaux, faites un clic droit sur chaque travail et choisissez «démarrez la travail à l'étape» ou «start job at step» Vérifiez ensuite à l'aide de la requête de métadonnées indiqué plus haut que vous avez bien restauré la dernière sauvegarde. Vous pouvez désactiver les travaux de copie et de restauration, ils tomberont en erreur de toute manière lorsque vous effectuerez l'étape suivante pour rendre la base secondaire disponible. Rendre la base de données secondaire disponible Lorsque vous avez la certitude que toutes les sauvegarde de journal sont restaurées sur le serveur SQL secondaire, vous devez rendre la base de données secondaire disponible. Celle-ci est toujours en mode de récupération ou en mode veille, comme dans la copie d'écran suivante : Ouvrez une fenêtre de requête et lancez la requête suivante. Attention, remplacez bien le nom «Secondaire» par le nom de votre base de données secondaire. rudi@babaluga.com Basculement du Log Shipping v. 2016-04-03 page 4 de 5

USE master; RESTORE DATABASE Secondaire WITH RECOVERY; Rafraîchissez ensuite l'affichage de l'explorateur d'objets de SQL Server Management Studio. Vous devez maintenant voir la base de données disponible, comme ceci : Redirigez le connexions clientes Vous devez maintenant vous assurez que les clients accèdent au nouveau serveur. Pour ce faire, vous pouvez modifier la chaîne de connexion sur votre serveur applicatif ou serveur web si vous avez une application web ou middleware. Vous pouvez aussi modifier l'adresse DNS de l'ancien serveur pour qu'elle pointe sur le nouveau serveur. Attention à une chose, si votre base de données comporte des utilisateurs liés à des connexions SQL (login SQL), vous devez avoir préalablement créé les connexions sur le serveur secondaire. Vous devez ensuite vous assurer que le lien est établi à l'aide du SID entre le login et l'utilisateur. Vous pouvez le faire avec un code comme ceci : USE MaBase ; ALTER USER MonUtilisateur WITH login = MonLogin; rudi@babaluga.com Basculement du Log Shipping v. 2016-04-03 page 5 de 5