SQL Serveur, shell scripts d’exploitation

de | 2012-10-19

et oui, on parle bien de scripts shell pour SQL Serveur !
En effet, pour un DBA (Oracle, Sybase, …) qui a l’habitude de travailler en environnement unix/linux, il est souvent difficile de s’adapter à ce SGBD, à cause de sa plateforme.
Grâce au client FreeTds (http://www.freetds.org), vous pouvez vous connecter depuis unix/linux à SQL Serveur; quoi de plus facile alors pour votre DBA que de s’adapter.

dbSQWareTM, de manière totalement homogène aux autres SGBD, propose donc une toolbox de scripts shell s’appuyant sur FreeTds.

Voici un résumé des fonctionnalités présentes dans le plugin MsSql de ce module :

    • Collecte d’indicateurs avec remontée des données dans SQWareRepositoryTM
    • Check des indicateurs (indicateurs du jour manquant, seuils de remplissage des databases, manque de backups réussi, …) et envoi du compte-rendu par mail au format html avec liens sur les points d’attention vers les rapports de SQWareWebTM
    • Script de gestion de lancement de commandes unix en parallèle (gestion du degré de parallélisme, gestion de l’agressivité de lancement et de fin ainsi que des codes retour)
    • Encapsulation du lancement de job par fichier de paramétrage et gestion de la compression et de la purge des logs
    • Backup database avec notamment la gestion automatique du stripping et gestion du nombre de générations en ligne
    • Script de checkdb
    • Script de dbcc reindex
    • Script de restauration de database
    • Script de rotation de l’errorlog et de purge
    • Script d’update statistics
    • Script de génération de la création des fichiers de configuration de dbSQWareTM

Les scripts du type edtmsq_XXXAllDatabases.ksh permettent tous de lancer en parallèle les scripts du type edtmsq_XXXDatabases.ksh sur une liste de bases générée dynamiquement. Par défaut, toutes les bases de l’instance sont prises en compte, mais la génération peut se faire en rajoutant des options de filtre dont voici la liste :

    • Liste de bases à inclure
    • Liste de bases à exclure
    • Bases à inclure par requête de type « like »
    • Bases à exclure par requête de type « not like »
    • Ajout d’une « where clause »