Web design and hosting, database, cloud and social media solutions that deliver business results
  • Des solutions d'affaires
    • Automatisation des processus robotiques
    • Logiciel
    • Services de base
      • Intégration de données
      • Power BI
      • Services d'entrepôt de données
      • Tools
    • Conception de site Web
      • Localisation et traduction Web
      • Sécurité du site Web
    • Services Cloud
      • Microsoft Azure
    • Média Social
    • Microsoft Office
  • Académie
    • Conception de bases de données d'apprentissage
      • Utilisation de données SQL Server
      • Obtenir la requête ouverte
      • Plan de maintenance SQL Server 2008
      • Utilisation des dates SQL Server
      • Utilisation de SQL Server Pivot-Unpivot
      • Utiliser SQL Server Fonctions
    • Apprentissage de la conception Web
      • CSS
      • ASP NET
    • Cloud d'apprentissage et services informatiques
      • Demande SSL et génération de fichier PFX dans OpenSSL étapes simples
  • Sur
    • Carrières
    • Équipe
      • Ali Al Amine
      • Chester Copperpot
      • Gavin Clayton
      • Suneel Kumar
    • Portefeuille
عربى (AR)čeština (CS)Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Un plan de maintenance complet pour SQL Server 2008

Plan de maintenance SQL Server qui peut sauvegarder et restaurer les fichiers de base de données sur plusieurs serveurs, réorganiser ou reconstruire les index en fonction du temps

Optimisation des bases de données

Plan de maintenance de la base de données

Cette section est dédiée à l'optimisation des bases de données. Dans cet exemple, nous allons configurer le code pour faire ce qui suit (voir un schéma approximatif de la façon dont les serveurs sont connectés) ;

  • Sauvegarde de la base de données du serveur en direct vers un dossier de sauvegarde partagé
  • Réindexer la base de données
  • Arrêtez toutes les connexions et restaurez la base de données sur le serveur de rapports.
  • Les serveurs liés seront bientôt dans un article séparé
  • Log Shipping sera bientôt dans un article séparé

Lorsque vous le faites sur plusieurs serveurs, vous devez autoriser le compte exécuté par SQL Server à accéder au système de fichiers des serveurs cibles.

Tout le code SQL est exécuté à partir d'une base de données d'utilitaires et le schéma est défini sur "maint"

Il y a une foule d'autres articles que nous avons écrits ci-dessous qui pourraient vous intéresser.

Plan d'entretien complet

Maintenant, nous pouvons gérer tous ces segments de code séparés avec une autre procédure qui les appellera dans le bon ordre, cela sera mis dans le serveur live. Le code s'exécute comme suit ;

  • Travailler le temps
  • Si c'est le soir, réindexez la base de données
  • Exécutez une sauvegarde de la base de données (ajoutez là où vous en avez besoin)
  • Si c'est le soir, sauvegardez les autres bases de données (ajoutez là où vous en avez besoin)
  • Tuez les connexions et restaurez la base de données (ajoutez là où vous en avez besoin)

Ce code a été essayé et testé et a fonctionné pendant des mois sans aucun problème.

Veuillez noter que la réduction des fichiers journaux et des fichiers de base de données doit être réduite au minimum, en exécutant une sauvegarde, vous videz le journal (bien qu'il conservera l'espace utilisé). S'il est nécessaire lorsqu'il doit être exécuté en dehors des heures normales de travail.

SQL Code

Use [utilities]GOCREATE PROC [maint].MaintenancePlan AS BEGINDECLARE @BackupType VARCHAR(1)='E'IF DATEPART(HOUR,GETDATE()) BETWEEN 5 AND 21 BEGINSET @BackupType='D'END--EXEC ('USE TempDb; DBCC SHRINKFILE(templog, 0)');--This is only needed when space is at a premium!--Re-index LiveIF @BackupType='E' EXEC [maint].DatabaseReIndex 'dbname'--Create BackupBACKUP DATABASE TO DISK=N'{backuplocation}{dbname}.bak'WITH NOFORMAT, INIT, NAME =N'{dbname}', SKIP, NOREWIND, NOUNLOAD, STATS= 10;--EXEC ('USE ; DBCC SHRINKFILE(_log, 0)');--This is only needed when space is at a premium!--Backup Other Files at NightIF @BackupType='E' BEGIN  EXEC [maint].DatabaseReIndex 'dbname'  --Backup Others  BACKUP DATABASE [databasename] TO DISK=N'{backuplocation}{dbname2}.bak'  WITH FORMAT,INIT, NAME =N'{dbname2}',SKIP, NOREWIND, NOUNLOAD,  STATS= 10END--Restore Backups on other serverEXEC [server].[utilities].[maint].KillConnections 'dbname';EXEC [server].[utilities].[maint].RestoreDatabase_{dbname};--Restore Backups on other server for db_2 etcIF @BackupType='E' BEGIN  EXEC [server].[utilities].[maint].KillConnections 'dbname2';  EXEC [server].[utilities].[maint].RestoreDatabase_{dbname2};ENDENDGO

Base de données de sauvegarde

backup database screenshot

Pour obtenir le code de sauvegarde de votre base de données, il est plus simple de scripter le code à partir de SSMS.

Suivez le processus que vous utiliseriez normalement, puis sélectionnez « Script Action to New Query Window ».

Copiez ce code dans le plan de maintenance.

Réindexer la base de données

Ensuite, nous pouvons ajouter du code pour réindexer notre base de données, il s'agit encore une fois d'une procédure stockée partagée où vous n'avez qu'à indiquer le nom au système.

Pour éviter la duplication de code, vous pouvez en savoir plus sur le lien ci-dessous.

Plus : procédure stockée pour reconstruire ou réorganiser les index de base de données fragmentés

Tuer les connexions

Lorsque vous effectuez une restauration sur la base de données, vous ne pouvez avoir qu'une seule connexion à celle-ci (le processus effectuant la restauration), nous pouvons donc créer une procédure stockée pour fermer toutes les connexions en dehors du processus en cours. Nous avons à nouveau créé un article séparé pour cela.

Plus : Procédure stockée pour supprimer toutes les connexions à la base de données sélectionnée

Restaurer la base de données

Ce code peut également être scripté à partir de SQL Server Management Studio. Si vous ajoutez ce code à une procédure stockée, vous pouvez l'appeler à partir d'autres processus et même d'autres serveurs très facilement. Nous avons déplacé cela dans un article séparé pour couvrir plus d'options.

Plus : Restaurer la base de données à partir d'une procédure stockée

Author

Was this helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Politique de cookieSitemap

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Les paramètres de ce site sont configurés pour autoriser tous les cookies. Ceux-ci peuvent être modifiés sur notre page cookies. En continuant à utiliser ce site, vous acceptez l'utilisation de cookies.
Ousia Logo
Logout
Ousia CMS Loader