Serverwartung - Teil 6: Erstellen eines SQL-Wartungsvertrags

Anhand von Wartungsverträgen können Aufgaben geplant werden, um die Leistungsfähigkeit von Datenbanken zu gewährleisten, darunter beispielsweise die Kontrolle der Größe von Datenbank- und Transaktionsprotokolldateien und das Überprüfen der Datenbank auf Inkonsistenzen.

Autodesk empfiehlt, den Plan mindestens einmal wöchentlich außerhalb der Geschäftszeiten auszuführen.

In einer Umgebung mit verbundenen Arbeitsgruppen sollte dies auf jedem SQL Server konfiguriert werden.

Zu den Aufgaben des Administrators gehört es, regelmäßig zu überprüfen, ob der Plan erfolgreich ausgeführt wurde.

Wenn der Plan für eine frühere Version von Vault Server konfiguriert wurde, müssen Sie den Plan gemäß der Anleitung in diesem Abschnitt überprüfen und aktualisieren.

Die folgenden Schritte gelten für alle SQL-Versionen in Verbindung mit Vault Server (Express und Full SQL). Eine vollständige Liste der unterstützten Datenbanken finden Sie in der Readme-Datei zum Produkt.

Anmerkung: Beachten Sie: Wenn Sie SQL Express ausführen und SQL Management Studio nicht installiert ist, können die folgenden Schritte über die Eingabeaufforderung mithilfe der Skripts im Abschnitt "Erstellen eines Wartungsskripts für Microsoft SQL Express" ausgeführt werden. Alternativ können Sie SQL Management Studio für Express installieren, das auf der Website von Microsoft zur Verfügung steht.
  1. Melden Sie sich bei SQL Management Studio an.
  2. Erweitern Sie die Datenbanken und die Systemdatenbanken.
  3. Klicken Sie mit der rechten Maustaste auf tempdb, und wählen Sie Eigenschaften.
  4. Wählen Sie die Seite Dateien.
  5. Wenn Sie ein System mit mehreren Prozessorkernen verwenden, müssen gemäß den nachfolgenden Anweisungen zusätzliche Datendateien konfiguriert werden. Wenn Sie ein System mit nur einem Prozessorkern verwenden, fahren Sie mit Schritt d weiter unten fort.
    1. Datendateien müssen der Anzahl der verfügbaren logischen/virtuellen Prozessoren entsprechen. Wenn der Computer beispielsweise über 12 logische Prozessoren verfügt, gibt es 1 .mdf-Datei und 11 .ndf-Dateien. Wenn Festplattenspeicher wichtig ist, kann eine Größe von 512 MB anstelle von 1024 MB verwendet werden.

      Anmerkung: Bei SQL 2016 oder höher wird als Datendatei vorgabemäßig der niedrigere Wert 8 oder die Anzahl logischer Kerne verwendet, die von der Einrichtung erkannt wurde. Der Wert kann bei Bedarf für ein bestimmtes Arbeitsvolumen erhöht werden. Die Dateinamen für sekundäre Datendateien entsprechen der Namenskonvention tempdb_mssql_#.ndf, wobei # für die Dateiordnungszahl für jede zusätzliche Datei steht.

    2. Klicken Sie auf die Schaltfläche Hinzufügen, um zusätzliche Datendateien hinzuzufügen.
    3. Geben Sie den neuen Dateien je nach Bedarf die Namen tempdev_2, tempdev_3 usw.
    4. Setzen Sie die Größe jeder Datendatei auf 1024 MB. Wenn Sie insgesamt 8 Datendateien verwenden, kann als Größe 512 MB gewählt werden.
    5. Legen Sie Autogrowth auf 100 MB fest, mit unbegrenztem Wachstum für jede Datendatei.
    6. Stellen Sie die LDF-Protokolldatei auf eine kombinierte Datendatei insgesamt ein. (Beispiel: Wenn insgesamt zwei Datendateien vorhanden sind, sollte die resultierende LDF-Datei auf eine Größe von 2048 MB eingestellt werden.)
    7. Die Ergebnisse werden wie in der Abbildung unten angezeigt.

  6. Setzen Sie auf der Seite Optionen das Wiederherstellungsmodell auf Einfach und den Kompatibilitätsgrad auf SQL Server 2016 (130).
    Anmerkung: Die Systemdatenbanken werden nicht von Autodesk definiert, und es ist sicher, sie auf dem Vorgabe-Kompatibilitätsgrad (2016 usw.) zu belassen. Die Benutzerdatenbanken, KVM und andere Vault-Datenbanken sollten auf dem Kompatibilitätsgrad von 2016 belassen werden.
  7. Klicken Sie auf OK.

Erstellen eines SQL-Wartungsvertrags für Full SQL

Anhand von Wartungsverträgen können Aufgaben geplant werden, um die Leistungsfähigkeit von Datenbanken zu gewährleisten, darunter beispielsweise die Kontrolle der Größe von Datenbank- und Transaktionsprotokolldateien und das Überprüfen der Datenbank auf Inkonsistenzen.

Anmerkung: Diese Einstellungen werden von Autodesk empfohlen und sollten für neue Installationen automatisch konfiguriert werden. Bei einer Migration von einer früheren Version von Vault Server werden diese Einstellungen nicht erzwungen, da sie möglicherweise absichtlich durch den Administrator geändert wurden.

SQL Standard/Enterprise 2016

  1. Stellen Sie sicher, dass die Tresore über die Autodesk Vault Server-Konsole gesichert wurden, bevor Sie fortfahren.
  2. Stellen Sie sicher, dass sich alle Benutzer vom Vault Server abgemeldet haben.
  3. Doppelklicken Sie in der Steuerungsleiste auf Verwaltung, und doppelklicken Sie dann auf das Symbol Dienste.
  4. Suchen Sie den Dienst SQL Server Agent (AUTODESKVAULT).
  5. Klicken Sie mit der rechten Maustaste auf den SQL Server Agent (AUTODESKVAULT), und wählen Sie Eigenschaften.
  6. . Ändern Sie den Starttyp in Automatisch, und starten Sie den Dienst.
  7. Öffnen Sie Microsoft SQL Server Management Studio, und stellen Sie eine Verbindung zur AutodeskVault-Instanz her. Verwenden Sie <Computername>\AUTODESKVAULT als Servername, und klicken Sie auf Verbinden.
  8. Klicken Sie mit der rechten Maustaste auf die Vault-Datenbank, und wählen Sie Eigenschaften.
  9. Legen Sie auf der Seite Dateien folgende Einstellungen fest:
    • Autogrowth-Wert für alle <Vault>-Datenbanken: um 100 MB, unbegrenztes Wachstum
    • Größe-Wert aller <Vault>_log-Dateien: 500 MB
    • Autogrowth-Wert für <Benutzerdefinierte_Bibliothek>-Dateien: um 25 MB
    • Autogrowth-Wert für alle _log-Dateien: um 10 Prozent, unbegrenztes Wachstum

    Oder, im Tabellenformat:

    Logischer Name

    Größe (MB)

    Autogrowth

    KnowledgeVaultMaster

    Um 10 MB, unbegrenztes Wachstum

    KnowledgeVaultMaster_log

    Um 10 Prozent, unbegrenztes Wachstum

    <Vault>

    Um 100 MB, unbegrenztes Wachstum

    <Vault>_log

    500

    Um 10 Prozent, unbegrenztes Wachstum

    <Benutzerdefinierte_Bibliothek>

    Um 25 MB, unbegrenztes Wachstum

    <Benutzerdefinierte_Bibliothek>_log

    Um 10 Prozent, unbegrenztes Wachstum

    <Standardbibliothek>

    Um 25 MB, unbegrenztes Wachstum

    <Standardbibliothek>_log

    Um 10 Prozent, unbegrenztes Wachstum

    Anmerkung: Eine leere Zelle in der Tabelle oben weist darauf hin, dass die Vorgabeeinstellung nicht geändert werden darf.
    Graue Zellen geben Vorgabewerte an. Sie sind auf die oben angegebenen Werte zu setzen, wenn sie sich von diesen unterscheiden.

  10. Legen Sie auf der Seite Optionen die Option Wiederherstellungsmodell auf Einfach, den Kompatibilitätsgrad auf SQL Server 2016 (130) und den Wert in der Dropdown-Liste Automatisch verkleinern auf False fest.

  11. Führen Sie die gleichen Schritte für alle KnowledgeVaultMaster-, Vault- und Vault-Bibliotheksdatenbanken durch (Schritte 8 bis 10).
  12. Erweitern Sie den Ordner Verwaltung, und wählen Sie den Ordner Wartungsvertrag.
  13. Klicken Sie mit der rechten Maustaste auf den Ordner Wartungsvertrag, und starten Sie den Wartungsvertrag-Assistenten. Wenn das folgende Dialogfeld angezeigt wird, klicken Sie auf Weiter.

  14. Geben Sie im Dialogfeld Planeigenschaften auswählen als Namen VaultMaintenancePlan ein, und klicken Sie auf die Schaltfläche Ändern, um den Plan einzurichten.

  15. Geben Sie im Dialogfeld Eigenschaften des Auftragszeitplans den Plan an, der ausgeführt werden soll, nachdem eine Sicherung der Autodesk Vault Server-Konsole abgeschlossen wurde. Abhängig von der Größe des Datensatzes muss dieser Plan möglicherweise an verschiedenen Tagen und Uhrzeiten ausgeführt werden. Es empfiehlt sich, diesen Task an einem Samstag auszuführen, um zu ermitteln, wie viel Zeit sie in Anspruch nimmt. Bestimmen Sie anschließend den Tag und den Zeitpunkt, der sich für die regelmäßige Ausführung dieses Jobs am besten eignet.

  16. Wählen Sie im Dialogfeld Wartungstask auswählen die folgenden Optionen:

  17. Legen Sie im Dialogfeld Wartungstaskreihenfolge auswählen folgende Reihenfolge fest:

  18. Wählen Sie im Dialogfeld Task 'Datenbankintegrität überprüfen' definieren aus der Dropdown-Liste Datenbanken den Eintrag Alle Datenbanken, und aktivieren Sie das Kontrollkästchen neben Indizes einschließen.

  19. Wählen Sie im Dialogfeld Task 'Index neu erstellen' definieren aus der Dropdown-Liste Datenbanken den Eintrag Alle Datenbanken.

  20. Wählen Sie im Dialogfeld Task 'Statistiken aktualisieren' definieren die folgenden Optionen:

  21. Wählen Sie im Dialogfeld Task 'Verlaufscleanup' definieren die gewünschten Cleanup-Optionen.

  22. Geben Sie im Dialogfeld Berichtoptionen auswählen den Speicherort für die Wartungsberichte an.
  23. Klicken Sie auf Weiter und dann auf Fertig stellen.

Erstellen eines Wartungsskripts für Microsoft SQL Express

Mit Microsoft SQL Express können Sie keine Wartungsverträge in SQL Server Management Studio Express erstellen.

Stellen Sie sicher, dass der Betriebssystembenutzer (Windows), der den SQL-Wartungsvertrag ausführt, über die sysadmin-Rolle innerhalb von SQL verfügt.

Tempdb-Änderungen über die Eingabeaufforderung

    Wie bereits weiter oben in diesem Abschnitt erwähnt, können Änderungen der tempdb-Datenbank, wenn SQL Server Management Studio nicht installiert ist, über die Eingabeaufforderung vorgenommen werden. Gehen Sie dazu wie folgt vor:

  1. Öffnen Sie die Eingabeaufforderung als Administrator.
  2. Kopieren Sie jede der nachfolgenden Zeilen, fügen Sie sie an der Eingabeaufforderung ein, und drücken Sie die EINGABETASTE.

    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. Bei Verwendung eines Mehrkern-Systems sollten zusätzliche Datendateien gemäß den folgenden Richtlinien konfiguriert werden. **Anmerkung: Der unter FILENAME = verwendete Dateisystempfad sollte sich im selben Verzeichnis wie das SQL-Datenverzeichnis befinden. Im nachfolgenden Beispiel lautet er C:\Programme\Microsoft SQL Server\MSSQL10.AUTODESKVAULT\MSSQL\DATA. Sie sollten das Skript so ändern, dass es Ihren korrekten Pfad auflistet.
    1. Datendateien müssen der Anzahl der verfügbaren logischen/virtuellen Prozessoren entsprechen. Wenn der Computer beispielsweise über 12 logische Prozessoren verfügt, gibt es 1 .mdf-Datei und 11 .ndf-Dateien. Wenn Festplattenspeicher wichtig ist, kann eine Größe von 512 MB anstelle von 1024 MB verwendet werden.

      Anmerkung: Bei SQL 2016 oder höher wird als Datendatei vorgabemäßig der niedrigere Wert 8 oder die Anzahl logischer Kerne verwendet, die von der Einrichtung erkannt wurde. Der Wert kann bei Bedarf für ein bestimmtes Arbeitsvolumen erhöht werden. Die Dateinamen für sekundäre Datendateien entsprechen der Namenskonvention tempdb_mssql_#.ndf, wobei # für die Dateiordnungszahl für jede zusätzliche Datei steht.

      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. Wenn weitere Datendateien erstellt werden müssen, ändern Sie einfach das obige Beispiel, indem Sie jeweils bei NAME und FILENAME tempdev_3 eingeben.
    3. Stellen Sie die LDF-Protokolldatei auf eine kombinierte Datendatei insgesamt ein. (Beispiel: Wenn insgesamt zwei Datendateien vorhanden sind, sollte die resultierende LDF-Datei auf eine Größe von 2048 MB eingestellt werden.)
      SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( 
      NAME = N'templog', SIZE = 2048MB )"

Wartungsvertrag

    Kopieren Sie das unten stehende Skript, und fügen Sie es in eine neue Datei ein, die unter dem Namen VaultMaintenance.bat gespeichert wird.

    Das folgende Beispiel zeigt, wie die Stapeldatei auf C:\ für eine Datenbank mit dem Namen Vault ausgeführt wird und die Ergebnisse in eine Textdatei ausgegeben werden.

    C:\VaultMaintenance.bat Vault > results.txt
    Anmerkung: Um aus diesem Dokument direkt zu kopieren und einzufügen, müssen die Zeilenumbrüche repariert werden. Beachten Sie außerdem, dass der Benutzer, der den Wartungsvertrag ausführt, über die Berechtigung verfügen muss, dies in SQL zu tun. Dies kann während der Installation von SQL oder danach eingestellt werden.
    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.