Manutenzione del server - Parte 6: creazione di un piano di manutenzione SQL

I piani di manutenzione possono essere utilizzati per pianificare le attività necessarie a garantire un funzionamento corretto del database, ad esempio limitando le dimensioni del database e del file di registro delle transazioni e verificando l'assenza di incongruenze.

Autodesk consiglia di eseguire il piano almeno una volta a settimana al di fuori degli orari di ufficio.

In un ambiente con un gruppo di lavoro connesso, tali piani vanno configurati su ogni server SQL.

Una delle attività degli amministratori è controllare periodicamente che il piano venga eseguito correttamente.

Se il piano è stato configurato per una versione precedente del server del Vault, controllare e aggiornare il piano in conformità con questo articolo.

I passaggi riportati di seguito sono validi in tutte le versioni di SQL in uso nel server del Vault (Express e versione completa di SQL). L'elenco completo dei motori dei database supportati è disponibile nel file readme del prodotto.

Nota: Tenere presente che se si utilizza SQL Express e non si dispone di SQL Management Studio, la seguente procedura può essere completata tramite il prompt dei comandi con degli script nella sezione " Creazione di uno script di manutenzione per Microsoft SQL Express" oppure è possibile installare SQL Management Studio per Express, disponibile sul sito Web Microsoft.
  1. Effettuare il login a SQL Management Studio.
  2. Espandere Database e quindi Database di sistema.
  3. Fare clic con il pulsante destro del mouse su tempdb e selezionare Proprietà.
  4. Selezionare la pagina File.
  5. Se si utilizza un sistema multi-core, è necessario configurare ulteriori file di dati, attenendosi alle linee guida elencate di seguito. In caso di sistema single-core, passare direttamente al punto d.
    1. Il numero di file di dati deve essere uguale al numero di processori logici/virtuali disponibili. Ad esempio, se il computer dispone di 12 processori logici, saranno presenti 1 file .mdf e 11 file .ndf. Se lo spazio su disco è fondamentale, è possibile utilizzare "Dimensioni" di 512 MB anziché di 1024 MB.

      Nota In SQL 2016 o nelle versioni successive, il file di dati assumerà di default il valore più basso di 8 o il numero di core logici rilevati dall'impostazione. Il valore può essere aumentato secondo necessità per un carico di lavoro specifico. I nomi dei file dei dati secondari seguono la convenzione di denominazione tempdb_mssql_#.ndf, dove # rappresenta l'ordinale dei file per ogni file aggiuntivo.

    2. Fare clic sul pulsante Aggiungi per aggiungere ulteriori file di dati.
    3. Assegnare un nome ai nuovi file tempdev_2, tempdev_3, … in base alle esigenze.
    4. Impostare le dimensioni di ciascun file di dati su 1.024 MB. Se si utilizza un totale di 8 file di dati, è possibile utilizzare una dimensione iniziale di 512 MB.
    5. Impostare l'Aumento automatico a 100 MB, senza restrizioni di aumento per ciascun file di dati.
    6. Impostare il file di registro LDF ad un totale di file di dati combinati. Ad esempio, in presenza di 2 file di dati totali, il file LDF risultante deve avere una dimensione di 2048 MB.
    7. I risultati vengono visualizzati in modo simile all'immagine seguente.

  6. Nella pagina Opzioni, impostare il Modello di recupero su Semplice e il Livello di compatibilità su SQL Server 2012 (110).
    Nota: I database di sistema non sono definiti da Autodesk ed è prudente lasciarli al livello di compatibilità di default (2016 e successivi). I database utente, KVM e altri database Vault devono rimanere a livello di compatibilità per la versione 2012.
  7. Fare clic su OK.

Creazione di un piano di manutenzione per SQL versione completa

I piani di manutenzione possono essere utilizzati per pianificare le attività necessarie a garantire un funzionamento corretto del database, ad esempio limitando le dimensioni del database e del file di registro delle transazioni e verificando l'assenza di incongruenze.

Nota: Queste impostazioni sono consigliate da Autodesk e devono essere configurate automaticamente per le nuove installazioni. In caso di migrazione da una versione precedente di server del Vault, queste impostazioni non vengono applicate in quanto potrebbero essere state modificate intenzionalmente dall'amministratore.

SQL Standard/Enterprise 2012

  1. Prima di procedere, da Autodesk Vault Server Console verificare che sia stato effettuato il backup dei vault.
  2. Accertarsi che tutti gli utenti siano disconnessi dal server del vault.
  3. Dal pannello di controllo, fare doppio clic su Strumenti di amministrazione, quindi sull'icona Servizi.
  4. Individuare il servizio SQL Server Agent (AUTODESKVAULT)
  5. Fare clic con il pulsante destro del mouse su SQL Server Agent (AUTODESKVAULT) e selezionare Proprietà.
  6. . Modificare il tipo di avvio in Automatico, quindi avviare il servizio.
  7. Aprire Microsoft SQL Management Studio e connettersi all'istanza di Autodesk Vault. Utilizzare <ComputerName>\AUTODESKVAULT come nome del server, quindi premere Connetti.
  8. Fare clic con il pulsante destro del mouse sul database del Vault e selezionare Proprietà.
  9. Nella pagina File impostare: -
    • il valore Aumento automatico per tutti i database <Vault> a 100 MB, con crescita illimitata
    • il valore Dimensione di tutti i file <Vault>_log su 500 MB
    • il valore Aumento automatico per i file <Custom_Library > a 25 MB
    • i valori Aumento automatico tutti i file _log al 10 percento, con crescita illimitata

    Oppure, sotto forma di tabella:

    Nome logico

    Dimensione (in MB)

    Aumento automatico

    KnowledgeVaultMaster

    Di 10 MB, crescita illimitata

    KnowledgeVaultMaster_log

    Del 10 percento, crescita illimitata

    <Vault>

    Di 100 MB, crescita illimitata

    <Vault>_log

    500

    Del 10 percento, crescita illimitata

    <Custom_Library>

    Di 25 MB, crescita illimitata

    <Custom_Library>_log

    Del 10 percento, crescita illimitata

    <Standard_Library>

    Di 25 MB, crescita illimitata

    <Standard_Library>_log

    Del 10 percento, crescita illimitata

    Nota: Una cella vuota nella precedente tabella indica che l'impostazione di default non deve essere modificata.
    Le celle grigie indicano i valori di default e devono essere impostate secondo quanto specificato sopra, se sono diverse.

  10. Nella pagina Opzioni, modificare il Modello di recupero in Semplice, il Livello di compatibilità in SQL Server 2012 (110) e modificare l'impostazione dell'elenco a discesa Compattazione automatica su False.

  11. Ripetere gli stessi passaggi per ogni database KnowledgeVaultMaster, Vault e Vault di libreria (punti da 8 a 10).
  12. Espandere la cartella Gestione e selezionare la cartella Piano di manutenzione.
  13. Fare clic con il pulsante destro del mouse sulla cartella Piano di manutenzione e selezionare Creazione guidata piano di manutenzione. Se viene visualizzata la seguente finestra di dialogo, premere Avanti.

  14. Nella finestra di dialogo Selezione proprietà piano immettere il nome del piano di manutenzione del Vault, quindi fare clic sul pulsante Modifica per impostare la pianificazione.

  15. Nella finestra di dialogo Proprietà pianificazione processo, impostare il piano da eseguire dopo il completamento del backup avviato da Autodesk Vault Server Console. A seconda della dimensione del gruppo di dati, questa pianificazione potrebbe essere eseguita in un giorno o in un orario diverso della settimana. Per determinare la quantità di tempo necessaria al completamento del processo è possibile eseguirlo di sabato, quindi decidere il giorno e l'ora più indicati per eseguire il processo periodicamente.

  16. Nella finestra di dialogo Selezione attività di manutenzione, selezionare le seguenti opzioni:

  17. Nella finestra di dialogo Selezione ordine attività di manutenzione, impostare l'ordine come segue:

  18. Nella finestra di dialogo Definizione attività Controlla integrità database, selezionare Tutti i database utente nell'elenco a discesa dei database, quindi selezionare la casella di controllo accanto a Includi indici.

  19. Nella finestra di dialogo Definizione attività Ricostruisci indice, selezionare Tutti i database utente nell'elenco a discesa dei database.

  20. Nella finestra di dialogo Definizione attività Aggiorna statistiche, selezionare le seguenti opzioni.

  21. Nella finestra di dialogo Definizione attività Cancella cronologia, selezionare le opzioni di cancellazione in base alle necessità.

  22. Nella finestra di dialogo Selezione opzioni report, specificare la posizione dei rapporti sulla manutenzione.
  23. Fare clic su Avanti, quindi su Fine.

È possibile creare uno script di manutenzione per Microsoft SQL Express

Microsoft SQL Express non consente di creare un piano di manutenzione all'interno di SQL Server Management Studio Express.

Assicurarsi che l'utente in uso sul sistema operativo Windows in cui è in esecuzione il piano di manutenzione SQL ricopra il ruolo di amministratore di sistema all'interno di SQL.

Modifiche di Tempdb dal prompt dei comandi

    Come indicato in precedenza in questa sezione, se SQL Server Management Studio non è installato, le modifiche al database tempdb possono essere completate dal prompt dei comandi attraverso la seguente procedura:

  1. Aprire il prompt dei comandi come amministratore.
  2. Copiare e incollare ogni riga sotto nel prompt dei comandi e premere INVIO.

    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. Se si utilizza un sistema multi-core, è necessario configurare ulteriori file di dati, attenendosi alle linee guida elencate di seguito. **Nota Il percorso del file system indicato in FILENAME= deve avere il percorso corrispondente alla directory dei dati SQL. Nell'esempio seguente, corrisponde a C:\Programmi\Microsoft SQL Server\MSSQL10.AUTODESKVAULT\MSSQL\DATA. Si desidera modificare lo script per elencare il percorso corretto.
    1. Il numero di file di dati deve essere uguale al numero di processori logici/virtuali disponibili. Ad esempio, se il computer dispone di 12 processori logici, saranno presenti 1 file .mdf e 11 file .ndf. Se lo spazio su disco è fondamentale, è possibile utilizzare "Dimensioni" di 512 MB anziché di 1024 MB.

      Nota In SQL 2016 o nelle versioni successive, il file di dati assumerà di default il valore più basso di 8 o il numero di core logici rilevati dall'impostazione. Il valore può essere aumentato secondo necessità per un carico di lavoro specifico. I nomi dei file dei dati secondari seguono la convenzione di denominazione tempdb_mssql_#.ndf, dove # rappresenta l'ordinale dei file per ogni file aggiuntivo.

      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. Se devono essere creati file di dati aggiuntivi, basta modificare l'esempio sopra in modo che rispecchi tempdev_3, ecc., sia in termini di NAME che di FILENAME.
    3. Impostare il file di registro LDF ad un totale di file di dati combinati. Ad esempio, in presenza di 2 file di dati totali, il file LDF risultante deve avere una dimensione iniziale di 2048 MB.
      SQLCMD -E -S ".\AutodeskVault" -Q "ALTER DATABASE [tempdb] MODIFY FILE ( 
      NAME = N'templog', SIZE = 2048MB )"

Piano di manutenzione

    Copiare il seguente script e incollarlo in un nuovo file salvato come VaultMaintenance.bat.

    Di seguito viene riportato un esempio di come eseguire il file batch nella directory principale di C:\ su un database con nome Vault e visualizzare i risultati in un file di testo.

    C:\VaultMaintenance.bat Vault > results.txt
    Nota: Se si esegue direttamente l'operazione di copia/incolla da questo documento, è necessario correggere le interruzioni di linea. Si noti inoltre che l'utente che esegue il piano di manutenzione deve disporre delle autorizzazioni per eseguirlo all'interno di SQL. Questa operazione viene eseguita durante l'installazione di SQL o successivamente.
    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.