Maintenance du serveur partie 6 : créer de plan de maintenance de SQL

Les plans de maintenance peuvent être utilisés pour planifier les tâches requises pour s'assurer que la base de données fonctionne correctement. Ils permettent, par exemple, de conserver une base de données et un fichier journal de transaction de petite taille et de vérifier les incohérences dans la base de données.

Autodesk recommande que le plan soit lancé au moins une fois par semaine, en dehors des heures de bureau.

Dans un environnement de groupe de travail connecté, il doit être configuré sur chaque serveur SQL.

Une partie des tâches de l'administrateur consiste à vérifier régulièrement que le plan s'exécute correctement.

Si le plan a été configuré pour une ancienne version de Vault Server, intégrez le contenu de cet article au plan.

Les étapes suivantes sont universelles et s'appliquent à toutes les versions de SQL utilisées sur Vault Server (Express et Full SQL). La liste complète des moteurs de base de données pris en charge se trouve dans le fichier Readme.

Remarque : Notez que si vous utilisez SQL Express et que SQL Management Studio n'est pas installé sur votre poste, les opérations suivantes peuvent être effectuées à l'aide de l'invite de commande dans les scripts, sous la section "Création d'un script de maintenance pour Microsoft SQL Express" ; vous pouvez également installer SQL Management Studio pour Express, disponible sur le site Web de Microsoft.
  1. Connectez-vous à SQL Management Studio.
  2. Développez les bases de données et les bases de données système.
  3. Cliquez sur tempdb avec le bouton droit de la souris et sélectionnez Propriétés.
  4. Sélectionnez la page Fichiers.
  5. Si vous utilisez un processeur multicoeur, les fichiers de données supplémentaires doivent être configurés conformément aux instructions ci-dessous. Si vous utilisez un processeur monocoeur, passez directement à l'étape d.
    1. Les fichiers de données doivent être identiques au nombre de processeurs logiques/virtuels disponibles. Par exemple, si l’ordinateur possède 12 processeurs logiques, il y aura 1 fichier .mdf et 11 fichiers .ndf. Si l’espace disque est important, vous pouvez utiliser une « taille » de 512 Mo au lieu de 1 024 Mo.

      Remarque : dans le cas de SQL 2016 ou version ultérieure, le fichier de données prend par défaut la valeur inférieure (8 ou nombre de cœurs logiques), comme indiqué dans le programme d’installation. La valeur peut être augmentée en fonction de la charge de travail. Les noms des fichiers de données secondaires suivront la convention d’attribution de noms tempdb_mssql_#.ndf où # représente l’ordinal de fichier pour chaque fichier supplémentaire.

    2. Cliquez sur le bouton Ajouter pour ajouter d'autres fichiers de données.
    3. Nommez le ou les nouveaux fichiers de la façon suivante : tempdev_2, tempdev_3, etc.
    4. Définissez la taille de chaque fichier de données sur 1 024 Mo. Si vous utilisez huit fichiers de données au total, vous pouvez définir une taille de 512 Mo.
    5. Réglez la croissance automatique sur 100 Mo pour attribuer une croissance libre à chaque fichier de données.
    6. Définissez le fichier journal LDF sur le total de fichiers de données combinés. (exemple : si vous avez deux fichiers de données au total, la taille du fichier LDF doit donc être définie sur 2 048 Mo.)
    7. Le résultat doit ressembler à l'image ci-dessous.

  6. Sur la page Options, définissez le modèle de récupération sur Simple et le niveau de compatibilité sur SQL Server 2012 (110).
    Remarque : Les bases de données système ne sont pas définies par Autodesk, il est donc possible de conserver le niveau de compatibilité par défaut (2016, etc.) pour celles-ci. Les bases de données utilisateur, KVM et autres bases de données Vault doivent rester au niveau de compatibilité 2012.
  7. Cliquez sur OK.

Créer un plan de maintenance SQL pour Full SQL

Les plans de maintenance peuvent être utilisés pour planifier les tâches requises pour s'assurer que la base de données fonctionne correctement. Ils permettent, par exemple, de maintenir une base de données et un fichier journal de transaction de petite taille et de vérifier les incohérences dans la base de données.

Remarque : Ces paramètres sont recommandés par Autodesk et doivent être configurés automatiquement pour les nouvelles installations. S'ils ont été migrés depuis une ancienne version de Vault Server, ces paramètres ne sont pas appliqués, car ils ont pu être modifiés intentionnellement par l'administrateur.

SQL Standard/Enterprise 2012

  1. Vérifiez que les coffres-forts ont été sauvegardés avec la console du serveur d'Autodesk Vault avant de continuer.
  2. Assurez-vous que tous les utilisateurs sont déconnectés du serveur du coffre-fort.
  3. Dans le panneau de configuration, double-cliquez sur Outils d'administration, puis sur l'icône Services.
  4. Accédez au service SQL Server Agent (AUTODESKVAULT).
  5. Cliquez avec le bouton droit sur SQL Server Agent (AUTODESKVAULT) et sélectionnez Propriétés.
  6. . Réglez le type de démarrage sur Automatique et démarrez le service.
  7. Ouvrez Microsoft SQL Management Studio et connectez-vous à l'instance AutodeskVault. Nommez le serveur selon le modèle <NomOrdinateur>\AUTODESKVAULT, puis cliquez sur Connecter.
  8. Cliquez avec le bouton droit sur la base de données de Vault et sélectionnez Propriétés.
  9. Sur la page Fichiers, définissez les éléments suivants :
    • Réglez la croissance automatique de toutes les bases de données <coffre-fort> sur Jusqu'à 100 Mo, en libre croissance.
    • Définissez la taille de tous les fichiers journaux_<coffre-fort> sur 500 Mo.
    • Réglez la croissance automatique du/des fichier(s) <Bibliothèque_Personnalisée> sur 25 Mo.
    • Réglez la croissance automatique de tous les fichiers journaux_ sur Jusqu'à 10 pour cent, en libre croissance.

    Ou, sous forme de tableau :

    Nom logique

    Taille (Mo)

    Croissance automatique

    KnowledgeVaultMaster

    Jusqu'à 10 Mo, en libre croissance

    journal_KnowledgeVaultMaster

    Jusqu'à 10 pour cent, en libre croissance

    <Coffre-fort>

    Jusqu'à 100 Mo, en libre croissance

    journal_<Coffre-fort>

    500

    Jusqu'à 10 pour cent, en libre croissance

    <Bibliothèque_Personnalisée>

    Jusqu'à 25 Mo, en libre croissance

    journal_<Bibliothèque_Personnalisée>

    Jusqu'à 10 pour cent, en libre croissance

    <Bibilothèque_Standard>

    Jusqu'à 25 Mo, en libre croissance

    journal_<Bibilothèque_Standard>

    Jusqu'à 10 pour cent, en libre croissance

    Remarque : Une cellule vide dans le tableau indique que le paramètre par défaut ne doit pas être modifié.
    Les cellules grises désignent les valeurs par défaut et doivent être définies sur les paramètres ci-dessus si elles sont différentes.

  10. Sur la page Options, définissez le modèle de récupération sur Simple, le niveau de compatibilité sur SQL Server 2012 (110) et la liste déroulante Réduction automatique sur Faux.

  11. Effectuez ces mêmes étapes pour toutes les bases de données KnowledgeVaultMaster, Vault et Library Vault (étapes 8 à 10).
  12. Développez le dossier Gestion et sélectionnez le dossier Plan de maintenance.
  13. Cliquez avec le bouton droit sur le dossier Plan de maintenance et sélectionnez l'Assistant du plan de maintenance, puis cliquez sur Suivant si la boîte de dialogue suivante s'affiche.

  14. Dans la boîte de dialogue Sélectionner les propriétés de plan, saisissez Plan de maintenance du coffre-fort pour le nom, puis cliquez sur le bouton Changer pour en définir la nomenclature.

  15. Dans la boîte de dialogue Propriétés de la planification du travail, définissez le plan à exécuter une fois la sauvegarde d'Autodesk Vault Server Console terminée. Selon la taille du jeu de données, cette nomenclature peut être exécutée à une autre date et une autre heure pendant de la semaine. Vous pouvez par exemple lancer cette tâche un samedi afin de calculer le temps nécessaire pour l'exécuter, puis déterminer la date et l'heure qui vous conviennent le mieux pour l'exécuter de manière régulière.

  16. Dans la boîte de dialogue Select Maintenance Task, sélectionnez les options suivantes :

  17. Dans la boîte de dialogue Select Maintenance Task Order, définissez l'ordre de l'une des manières suivantes :

  18. Dans la boîte de dialogue Def. la tache vér. l'intégrité de la base de données, sélectionnez Toutes les bases de données utilisateur dans la liste déroulante des bases de données et activez la case Inclure les index.

  19. Dans la boîte de dialogue Définir la tâche Index de reconstruction des propriétés, sélectionnez Toutes les bases de données utilisateur dans la liste déroulante Bases de données.

  20. Dans la boîte de dialogue Définir la tâche Mettre à jour les statistiques, sélectionnez les options suivantes.

  21. Dans la boîte de dialogue Définir la tâche Nettoyage de l'historique, sélectionnez les options de nettoyage requises.

  22. Dans la boîte de dialogue Sélectionner les options de rapport, spécifiez l'emplacement des rapports de maintenance.
  23. Cliquez sur Suivant, puis sur Terminer.

Création d'un script de maintenance pour Microsoft SQL Express

Microsoft SQL Express ne vous permet pas de créer de plan de maintenance dans SQL Server Management Studio Express.

Vérifiez que l'utilisateur du système d'exploitation (Windows) qui exécute le plan de maintenance de SQL dispose du rôle d'administrateur système dans SQL.

Modifications Tempdb via l'invite de commande

    Comme noté précédemment dans cette section, si SQL Server Management Studio n'est pas installé sur votre ordinateur, vous pouvez poursuivre les modifications sur la base de données tempdb à l'aide de l'invite de commande, en procédant comme indiqué ci-dessous :

  1. Ouvrez l'invite de commande en tant qu'administrateur.
  2. Copiez et collez chaque ligne ci-dessous dans l'invite de commande et appuyez sur ENTREE.

    SQLCMD -E -S".\AutodeskVault" -Q "ALTER DATABASE [tempdb] SET COMPATIBILITY_LEVEL = 110"
    SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = 
    N'tempdev', SIZE = 1024MB, FILEGROWTH = 100MB)"
    SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( NAME = 
    N'templog', SIZE = 1024MB )"

  3. Si vous utilisez un processeur multicoeur, les fichiers de données supplémentaires doivent être configurés conformément aux instructions ci-dessous. * * Remarque : le chemin d'accès système utilisé sous FILENAME = doit être le même que pour le répertoire de données SQL. Dans l'exemple ci-dessous : C:\Program Files\Microsoft SQL Server\MSSQL10.AUTODESKVAULT\MSSQL\DATA. Vous pouvez modifier le script pour afficher le chemin d'accès correct.
    1. Les fichiers de données doivent être identiques au nombre de processeurs logiques/virtuels disponibles. Par exemple, si l’ordinateur possède 12 processeurs logiques, il y aura 1 fichier .mdf et 11 fichiers .ndf. Si l’espace disque est important, vous pouvez utiliser une « taille » de 512 Mo au lieu de 1 024 Mo.

      Remarque : dans le cas de SQL 2016 ou version ultérieure, le fichier de données prend par défaut la valeur inférieure (8 ou nombre de cœurs logiques), comme indiqué dans le programme d’installation. La valeur peut être augmentée en fonction de la charge de travail. Les noms des fichiers de données secondaires suivront la convention d’attribution de noms tempdb_mssql_#.ndf où # représente l’ordinal de fichier pour chaque fichier supplémentaire.

      SQLCMD -E -S ".\AutodeskVault" -Q " ALTER DATABASE [tempdb] ADD FILE ( NAME = 
      N'tempdev_2', FILENAME = N'C:\Program Files\Microsoft SQL 
      Server\MSSQL10.AUTODESKVAULT\MSSQL\DATA\tempdev_2.ndf', SIZE = 1024MB, 
      FILEGROWTH = 100MB)"
    2. Si d'autres fichiers de données doivent être créés, il vous suffit de modifier l'exemple ci-dessus pour intégrer tempdev_3, etc., à la fois pour NAME et FILENAME.
    3. Définissez le fichier journal LDF sur le total de fichiers de données combinés. Par exemple, si il y a deux fichiers de données au total, la taille du fichier LDF doit être définie sur 2 048 Mo.
      SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( 
      NAME = N'templog', SIZE = 2048MB )"

Plan de maintenance

    Copiez le script ci-dessous et collez-le dans un nouveau fichier enregistré sous VaultMaintenance.bat.

    Vous trouverez ci-dessous un exemple expliquant comment exécuter le fichier à partir de la racine du C:\ par rapport à une base de données appelée Coffre-fort et sortir les résultats sous forme de fichier texte.

    C:\VaultMaintenance.bat Vault > results.txt
    Remarque : un copier-coller direct depuis ce document nécessite de réparer les sauts de ligne. Notez également que l'utilisateur exécutant le plan de maintenance doit avoir les autorisations nécessaires dans SQL. Cette procédure peut être effectuée pendant ou après l'installation de SQL.
    REM This begins the maintenance plan.
    @echo off
    if "%1"=="" goto NOPARAM
    set VAULTNAME=[%1]
    set VAULTLOG=[%1_log]
    @echo Setting %VAULTNAME% database compatibility to 110
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET 
    COMPATIBILITY_LEVEL = 110"
    @echo Setting %VAULTNAME% database recovery model to simple...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET RECOVERY 
    SIMPLE"
    @echo Setting %VAULTNAME% database Autogrowth value...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME%  MODIFY FILE 
    (NAME=%VAULTNAME%, FILEGROWTH=100MB)"
    @echo Setting %VAULTNAME% database Log filesize...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% MODIFY FILE ( NAME = 
    %VAULTLOG%, SIZE = 512000KB )"
    @echo Setting %VAULTNAME% database Autoclose to false...
    sqlcmd -E -S ".\AutodeskVault" -Q "ALTER DATABASE %VAULTNAME% SET AUTO_CLOSE OFF 
    WITH NO_WAIT"
    @echo Reindexing %VAULTNAME% database...
    sqlcmd -E -S ".\AutodeskVault" -Q "USE %VAULTNAME% DECLARE tableCursor CURSOR FOR 
    SELECT NAME FROM sysobjects WHERE xtype in('U') DECLARE @tableName nvarchar(128) 
    OPEN tableCursor FETCH NEXT FROM tableCursor INTO @tableName WHILE 
    @@FETCH_STATUS = 0 BEGIN DBCC DBREINDEX(@tableName, '') FETCH NEXT FROM 
    tableCursor INTO @tableName END CLOSE tableCursor DEALLOCATE tableCursor"
    @echo Updating Statistics on %VAULTNAME% database...
    sqlcmd -E -S ".\AutodeskVault" -Q "USE %VAULTNAME% Exec sp_MSForEachTable 'Update 
    Statistics ? WITH FULLSCAN'"
    goto EXIT
    :NOPARAM
    echo [FAIL] Please indicate Vault database
    pause
    :EXIT
    REM This ends the maintenance plan.