Web design and hosting, database, cloud and social media solutions that deliver real business results
  • Geschäftslösungen
    • Software
    • Datenbank-Beratungsdienste
      • Werkzeuge
    • Website Design
      • Website Sicherheit
    • Cloud Services
      • Microsoft Azure
    • Microsoft Office
    • Sozialen Medien
  • Akademie
    • Unsere Testumgebung
    • Datenbankdesign lernen
      • Verwenden von SQL Server Daten
      • SQL Server 2008 Wartungsplan
      • Offene Abfrage abrufen
      • Verwenden von SQL Server Datum
      • Verwenden von SQL Server Funktionen
      • Verwenden von SQL Server Pivot-Unpivot
    • Lern Web Design
      • ASP-NET
      • CSS
    • Lernen von IT-Diensten
      • Anfordern von SSL und Generierung von PFX-Datei in OpenSSL Simple Steps
  • Über
    • Mannschaft
      • Chester Copperpot
    • Mappe
AR - عربىCS - češtinaEN - EnglishES - EspañolFA - فارسیFR - FrançaisHI - हिंदीIT - italianoJA - 日本語PL - polskiPT - PortuguêsRU - русскийTR - TürkZH - 中国的

Ein vollständiger Wartungsplan für SQL Server 2008

SQL Server-Wartungsplan, der Datenbankdateien auf mehreren Servern sichern und wiederherstellen kann, re-organisieren oder neu erstellen Indizes abhängig von der Zeit

Datenbanken optimieren

Scrolling CSS Diagram

Dieser Abschnitt ist darauf ausgerichtet, Datenbanken optimiert zu halten. In diesem Beispiel werden wir den Code einrichten, um folgendes zu machen (siehe ein grobes Diagramm, wie die Server verbunden sind);

  • Backup-Datenbank vom Live-Server zu einem freigegebenen Backup-Ordner
  • Re-Index-Datenbank
  • Töte alle Verbindungen und stelle die Datenbank auf dem Berichtsserver wieder her.
  • Linked Servers wird in einem separaten Artikel bald sein
  • Log-Versand wird in einem separaten Artikel bald sein

Wenn Sie es mit dem Server umgehen, müssen Sie das Konto zulassen, das von SQL Server aus dem Zugriff auf das Zielserver-Dateisystem ausgeführt wird.

Alle SQL-Code wird aus einer Dienstprogramm-Datenbank ausgeführt und Schema auf "maint" gesetzt

Es gibt eine Vielzahl von anderen Artikeln, die wir unten geschrieben haben, die für Sie interessant sein können.

Ein dynamisches Skript zum Wiederherstellen der SQL Server-Datenbank aus einer gespeicherten Prozedur

Erstellen Sie mithilfe eines dynamischen SQL-Skripts eine zentralisierte, generische und wiederverwendbare gespeicherte Prozedur, mit der Datenbanken mithilfe einer Reihe von Parametern im Rahmen eines umfassenderen Wartungsplans wiederhergestellt werden können

Entfernen Sie einen Benutzer, ohne verwaiste Daten in SQL Server zu belassen

Entfernen Sie Benutzer vollständig aus SQL Server, ohne verwaiste Daten zu hinterlassen

Festplattenplatz und Datenbankgröße E-Mail-Benachrichtigungen

Erstellen Sie eine gespeicherte Prozedur, die Speicherplatz und Datenbankwarnungen per E-Mail sendet, die Sie an einen Job anhängen können

Gespeicherte Prozedur zum Beenden aller Verbindungen zur ausgewählten Datenbank oder zum ausgewählten Server

Gespeicherte SQL-Prozedur zum Beenden aller Verbindungen zur ausgewählten Datenbank oder zum ausgewählten Server mit Ausnahme des Prozesses, der sie aufruft.

Überwachen und Synchronisieren von Daten in datenbankübergreifenden Anwendungen mithilfe eines Triggers

Überwachen und Synchronisieren von Tabellen in verschiedenen Datenbanken, die durch Erstellen eines Triggers eine leicht unterschiedliche Struktur haben können

Gespeicherte Prozedur zum Wiederherstellen oder Reorganisieren fragmentierter Datenbankindizes

Eine wiederverwendbare gespeicherte Prozedur, die Sie aufrufen können, um eine Datenbank neu zu indizieren, indem Sie den Namen der Datenbank eingeben.

Vollständiger Wartungsplan

Jetzt können wir alle diese separaten Code-Segmente mit einer anderen Prozedur verwalten, die sie in der richtigen Reihenfolge anrufen wird, wird dies in den Live-Server gestellt werden. Der Code läuft wie folgt:

  • Trainiere die Zeit
  • Wenn es abends re-index die Datenbank ist
  • Führen Sie eine Sicherung der Datenbank aus (fügen Sie hinzu, wo Sie benötigen)
  • Wenn es abends die anderen Datenbanken wieder hinzufügt (füge wo du brauchst)
  • Töten Sie Verbindungen und Wiederherstellungsdatenbank (addieren Sie, wo Sie benötigen)

Dieser Code wurde erprobt und lief für Perioden von Monaten ohne Probleme.

Bitte beachten Sie, dass das Schrumpfen von Protokolldateien und Datenbankdateien auf ein Minimum reduziert werden muss, indem Sie eine Sicherung durchführen, die Sie das Protokoll leeren (obwohl es den verwendeten Speicherplatz beibehalten wird). Wenn es nötig ist, wenn es außerhalb der normalen Arbeitszeiten laufen sollte.

SQL Code

Use [utilities]
GO
CREATE PROC [maint].MaintenancePlan AS BEGIN
DECLARE @BackupType VARCHAR(1)='E'
IF DATEPART(HOUR,GETDATE()) BETWEEN 5 AND 21 BEGIN
SET @BackupType='D'
END
--EXEC ('USE TempDb; DBCC SHRINKFILE(templog, 0)');--This is only needed when space is at a premium!
--Re-index Live
IF @BackupType='E' EXEC [maint].DatabaseReIndex 'dbname'
--Create Backup
BACKUP 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 Night
IF @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= 10
END

--Restore Backups on other server
EXEC [server].[utilities].[maint].KillConnections 'dbname';
EXEC [server].[utilities].[maint].RestoreDatabase_{dbname};

--Restore Backups on other server for db_2 etc
IF @BackupType='E' BEGIN
  EXEC [server].[utilities].[maint].KillConnections 'dbname2';
  EXEC [server].[utilities].[maint].RestoreDatabase_{dbname2};
END

END
GO

Sicherungsdatenbank

backup database screenshot

Um den Code zu sichern, um Ihre Datenbank zu sichern, ist es am einfachsten, den Code von SSMS zu schreiben.

Folgen Sie dem Prozess, den Sie normalerweise verwenden würden, und wählen Sie dann "Skriptaktion zu neuem Abfragefenster" aus.

Kopiere diesen Code in den Wartungsplan.

Re-Index-Datenbank

Als nächstes können wir einen Code hinzufügen, um unsere Datenbank neu zu indizieren, dies ist wieder eine freigegebene gespeicherte Prozedur, wo man nur dem System den Namen mitteilen muss.

Um Code-Duplizierung zu vermeiden, können Sie darüber lesen auf dem Link unten.

More: Gespeicherte Prozedur, um fragmentierte Datenbankindizes neu zu erstellen oder neu zu ordnen

Kill-Verbindungen

Wenn Sie eine Wiederherstellung in der Datenbank durchführen, können Sie nur eine Verbindung dazu haben (der Vorgang, der die Wiederherstellung durchführt), daher können wir eine gespeicherte Prozedur erstellen, um alle Verbindungen außer dem aktuellen Prozess zu schließen. Wir haben hierzu einen eigenen Artikel erstellt.

More: Gespeicherte Prozedur, um alle Verbindungen zur ausgewählten Datenbank zu töten

Datenbank wiederherstellen

Dieser Code kann auch aus SQL Server Management Studio skriptiert werden. Wenn Sie diesen Code zu einer gespeicherten Prozedur hinzufügen, können Sie ihn von anderen Prozessen und sogar anderen Servern wirklich leicht anrufen. Wir haben diese in einen separaten Artikel verschoben, um mehr Optionen zu decken.

More: Datenbank aus gespeicherten Prozedur wiederherstellen

Author

Gavin Clayton
Gavin Clayton
Ich habe Claytabase im Jahr 2010 als eine Möglichkeit, meine Arbeit mit SQL Server und ASP.NET zu tragen. Dies hat in der Ousia Content Management System kulminiert, die vom Konzept zu einem der schnellsten CMS auf dem Markt genommen wird.
 Google Translate
Google Translate

Was this helpful?

Please note, this commenting system is still in final testing.
RSS Login ContactCookie-RichtlinieSeitenverzeichnis
facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd
+442392064871info@claytabase.co.ukGround Floor, Building 1000, Lakeside North Harbour, Western Road, Portsmouth, Hampshire, United Kingdom, PO6 3EZ
Partners
Die Einstellungen auf dieser Seite sind so eingestellt, dass alle Cookies zulässig sind. Diese können auf unserer Cookie Policy & Settings Seite geändert werden. Wenn Sie diese Seite weiter nutzen, stimmen Sie der Verwendung von Cookies zu.
Ousia Logo
Ousia CMS Loader