Share via


Limitazioni degli snapshot del database

Data aggiornamento: 12 dicembre 2006

Uno snapshot del database rappresenta una copia del database nel momento in cui è iniziata la creazione dello snapshot, meno eventuali transazioni di cui non è stato eseguito il commit. Prima di utilizzare gli snapshot del database, è consigliabile comprenderne l'effetto sul database di origine e sull'ambiente di sistema, nonché apprendere le limitazioni a essi relative.

ms189940.note(it-it,SQL.90).gifImportante:
Gli snapshot del database sono disponibili solo in Microsoft SQL Server 2005 Enterprise Edition.

Limitazioni del database di origine

In presenza di snapshot del database, al database di origine dello snapshot si applicano le limitazioni seguenti:

  • Non è possibile eliminare, scollegare o ripristinare il database. Per informazioni sulla procedura di eliminazione di uno snapshot, vedere Rimozione di uno snapshot del database.

    [!NOTA] Il backup del database di origine funziona normalmente e non viene influenzato dagli snapshot del database.

  • Le prestazioni sono ridotte a causa del numero maggiore di operazioni I/O sul database di origine derivanti da un'operazione di copia in scrittura per lo snapshot eseguita a ogni aggiornamento di una pagina.

  • Non è possibile eliminare i file dal database di origine o da uno snapshot.

  • Il database di origine deve essere in linea, a meno che non si tratti di un database mirror nell'ambito di una sessione di mirroring del database.

    [!NOTA] Tutti i modelli di recupero supportano gli snapshot del database.

  • Non è possibile configurare il database di origine come un database condiviso scalabile.

  • Per creare uno snapshot del database su un database mirror, è necessario che il database sia nello stato di mirroring sincronizzato.

Limitazioni degli snapshot del database

Agli snapshot del database si applicano le limitazioni seguenti:

  • È necessario creare e mantenere uno snapshot del database sulla stessa istanza del server in cui si trova il database di origine.
  • Gli snapshot del database includono sempre un intero database.
  • Gli snapshot del database non fungono da archivi ridondanti, pertanto non offrono protezione contro errori del disco o altri tipi di danneggiamento. Per proteggere un database è necessario eseguire backup regolari e testare il piano di ripristino. Se è necessario ripristinare il database di origine al punto nel tempo in cui è stato creato uno snapshot del database, implementare criteri di backup che consentano di eseguire tale operazione.
  • Quando una pagina in fase di aggiornamento nel database di origine viene inserita in uno snapshot, se questo esaurisce lo spazio su disco oppure si verifica un altro errore, lo snapshot diventa sospetto e deve essere eliminato.
  • Gli snapshot sono di sola lettura.
  • Gli snapshot dei database model, master e temp non sono consentiti.
  • Non è possibile modificare le specifiche dei file degli snapshot del database.
  • Non è possibile eliminare file da uno snapshot del database.
  • Non è possibile eseguire il backup o il ripristino degli snapshot del database.
  • Non è possibile collegare o scollegare snapshot del database.
  • Non è possibile creare snapshot del database con file system FAT32 o partizioni RAW. I file sparse utilizzati dagli snapshot del database vengono forniti dal file system NTFS.
  • L'indicizzazione full-text non è supportata negli snapshot del database. I cataloghi full-text non vengono propagati dal database di origine.
  • Uno snapshot del database eredita i vincoli di protezione del proprio database di origine esistenti al momento della creazione dello snapshot. Poiché gli snapshot sono di sola lettura, non è possibile modificare le autorizzazioni ereditate e le modifiche alle autorizzazioni effettuate sul database di origine non verranno riportate negli snapshot esistenti.
  • Uno snapshot riflette sempre lo stato dei filegroup al momento della sua creazione. I filegroup in linea e quelli non in linea non modificano il proprio stato. Per ulteriori informazioni, vedere la sezione dedicata agli snapshot del database con filegroup non in linea più avanti in questo argomento.
  • Se un database di origine acquisisce lo stato di RECOVERY_PENDING, potrebbe non essere possibile accedere ai relativi snapshot del database. Dopo aver risolto il problema sul database di origine, tuttavia, i relativi snapshot dovrebbero ridiventare disponibili.
  • Il ripristino non è supportato per i filegroup di sola lettura e per i filegroup compressi. Eventuali tentativi di ripristinare un database contenente filegroup di questo tipo determineranno un errore. Per ulteriori informazioni sul ripristino, vedere Ripristino di uno snapshot del database.
  • In una configurazione per la distribuzione dei log, è possibile creare snapshot del database solo nel database primario. Se si cambiano i ruoli tra l'istanza del server primario e un'istanza del server secondario, è necessario eliminare tutti gli snapshot del database per poter impostare il database primario quale database secondario.
  • Non è possibile configurare uno snapshot come database condiviso scalabile.

Requisiti relativi allo spazio su disco

Gli snapshot del database richiedono spazio su disco. Se uno snapshot del database esaurisce lo spazio su disco, viene contrassegnato come sospetto e deve essere eliminato. Il database di origine, tuttavia, non viene influenzato e continua a funzionare normalmente. Gli snapshot tuttavia utilizzano lo spazio su disco in maniera molto più efficiente rispetto a una copia completa di un database. Uno snapshot richiede esclusivamente lo spazio necessario per le pagine che vengono modificate durante la sua durata. Poiché in genere gli snapshot vengono conservati per periodi di tempo limitati, le loro dimensioni non rappresentano un problema.

Più a lungo viene conservato uno snapshot, più è probabile che utilizzi tutto lo spazio disponibile. Le dimensioni massime cui un file sparse può arrivare sono quelle del file del database di origine corrispondente al momento della creazione dello snapshot. Per ulteriori informazioni, vedere Informazioni sulle dimensioni dei file sparse negli snapshot del database.

Se uno snapshot del database esaurisce lo spazio su disco, deve essere eliminato. Per informazioni sull'eliminazione di uno snapshot del database, vedere Rimozione di uno snapshot del database.

[!NOTA] Tranne che per lo spazio del file, uno snapshot del database utilizza approssimativamente le stesse risorse di un database.

Snapshot del database con filegroup non in linea

I filegroup non in linea nel database di origine influenzano gli snapshot del database quando si tenta di eseguire una delle operazioni seguenti:

  • Creare uno snapshot
    Quando nel database di origine sono presenti uno o più filegroup non in linea, la creazione degli snapshot ha esito positivo con i filegroup non in linea. Per i filegroup non in linea non vengono creati file sparse.

    [!NOTA] Per informazioni sul ruolo dei file sparse per gli snapshot del database, vedere Funzionamento degli snapshot del database.

  • Portare un filegroup non in linea
    È possibile portare un file non in linea nel database di origine. Tuttavia, il filegroup rimane in linea negli snapshot del database se era tale alla creazione dello snapshot. Se i dati per i quali viene eseguita una query sono stati modificati dal momento della creazione dello snapshot, la pagina di dati originale sarà accessibile nello snapshot. Tuttavia, è possibile che, per le query che utilizzano lo snapshot per l'accesso ai dati non modificati nel filegroup, si verifichino errori di input/output (I/O).

  • Portare un filegroup in linea
    Non è possibile portare un filegroup in linea in un database che presenti snapshot del database. Se un filegroup non è in linea al momento della creazione dello snapshot o viene portato non in linea in presenza di uno snapshot del database, il filegroup rimane non in linea. Per riportare un file in linea è infatti necessario ripristinarlo, operazione impossibile se è presente uno snapshot nel database.

  • Ripristinare lo snapshot come database di origine
    Il ripristino di uno snapshot del database come database di origine richiede che tutti i filegroup siano in linea, fatta eccezione per quelli non in linea al momento della creazione dello snapshot.

Vedere anche

Concetti

Creazione di uno snapshot del database
Snapshot del database
Rimozione di uno snapshot del database

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiornamento della sezione "Limitazioni degli snapshot del database" per specificare che poiché gli snapshot del database dipendono dal database di origine, l'esecuzione di tutti i backup pianificati è comunque essenziale.

14 aprile 2006

Nuovo contenuto:
  • Aggiunta dell'indicazione che gli snapshot del database non sono supportati in un database condiviso scalabile.
  • Aggiunta dell'indicazione che, per creare uno snapshot del database su un database mirror, è necessario che il database sia nello stato di mirroring sincronizzato.

5 dicembre 2005

Nuovo contenuto:
  • Aggiunta della limitazione relativa all'utilizzo degli snapshot del database con la distribuzione dei log.
  • Aggiunta di una nota sull'utilizzo delle risorse.
Contenuto modificato:
  • Correzione di un errore tecnico per chiarire che non è possibile portare in linea un filegroup in presenza di uno snapshot del database.