Condividi tramite


Modificare il tempo di recupero di riferimento di un database (SQL Server)

Questo argomento descrive come impostare la modifica del tempo di ripristino di destinazione di un database di SQL Server in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL. Per impostazione predefinita, il tempo di recupero di riferimento è 0 e il database utilizza checkpoint automatici (controllati dall'opzione server recovery interval ). L'impostazione del tempo di recupero di riferimento su un valore maggiore di 0 fa sì che il database utilizzi i checkpoint indiretti e stabilisce un limite superiore per il tempo di recupero per il database.

Nota

Il limite superiore specificato per un determinato database dall'impostazione del tempo di recupero di riferimento può essere superato se una transazione con esecuzione prolungata provoca tempi eccessivi di UNDO.

Prima di iniziare

Attenzione

Un carico di lavoro transazionale online su un database configurato per i checkpoint indiretti potrebbe subire una riduzione del livello delle prestazioni. I checkpoint indiretti assicurano che il numero di pagine dirty è inferiore a una determinata soglia, in modo che il recupero del database viene completato entro il tempo di recupero di riferimento. A differenza dei checkpoint indiretti che usano il numero di pagine dirty, l'opzione di configurazione recovery interval usa il numero di transazioni per determinare il tempo di recupero. Quando i checkpoint indiretti sono abilitati per un database che riceve un numero elevato di operazioni DML, il writer in background può iniziare a scaricare i buffer dirty su disco in modo intensivo per garantire che il tempo necessario per eseguire il recupero non superi il tempo di recupero di riferimento impostato per il database. Questo può causare in determinati sistemi ulteriore attività di I/O che può comportare un collo di bottiglia delle prestazioni se il sottosistema del disco opera al di sopra o in prossimità della soglia di I/O.

Sicurezza

Autorizzazioni

È richiesta l'autorizzazione ALTER per il database.

Utilizzo di SQL Server Management Studio

Per modificare il tempo di recupero di riferimento

  1. In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server ed espanderla.

  2. Fare clic con il pulsante destro del mouse sul database che si desidera modificare e scegliere il comando Proprietà .

  3. Nella finestra di dialogo Proprietà database fare clic sulla pagina Opzioni .

  4. Nel campo Tempo di recupero di riferimento (secondi) del pannello Recupero specificare il numero di secondi desiderato come limite superiore nel tempo di recupero per il database.

Utilizzo di Transact-SQL

Per modificare il tempo di recupero di riferimento

  1. Connettersi all'istanza di SQL Server in cui risiede il database.

  2. Usare l'istruzione ALTER DATABASE, come indicato di seguito:

    TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }

    target_recovery_time
    Quando è maggiore di 0 (valore predefinito), il valore specifica il limite superiore del tempo di recupero per il database specificato in caso di arresto anomalo del sistema.

    SECONDS
    Indica che target_recovery_time viene espresso come numero di secondi.

    MINUTI
    Indica che target_recovery_time viene espresso come numero di minuti.

    Nell'esempio seguente viene impostato il tempo di recupero di riferimento del database AdventureWorks2012 su 60 secondi.

    ALTER DATABASE AdventureWorks2012 SET TARGET_RECOVERY_TIME = 60 SECONDS;  
    

Vedi anche

Checkpoint di database (SQL Server)
Opzioni di ALTER DATABASE SET (Transact-SQL)