Copia di database tramite backup e ripristino

In Microsoft SQL Server 2005 è possibile creare un nuovo database ripristinando un backup di un database tramite Microsoft SQL Server 7.0, Microsoft SQL Server 2000 o SQL Server 2005. Tuttavia, i backup dei database master, model e msdb creati utilizzando SQL Server 7.0 oppure SQL Server 2000 non possono essere ripristinati tramite SQL Server 2005. Inoltre, i backup dei log di SQL Server 7.0 che includono operazioni di creazione di indice non possono essere ripristinati in SQL Server 2000 o SQL Server 2005.

[!NOTA] Il formato dei backup di database creati utilizzando SQL Server 6.5 o versione precedente non è compatibile e non è possibile ripristinare tali backup in SQL Server 2005. Per informazioni sulla procedura di aggiornamento di un database creato utilizzando SQL Server 6.5 o versione precedente in SQL Server 2005, vedere Copia di database da SQL Server 6.5 o versioni precedenti.

ms190436.note(it-it,SQL.90).gifImportante:
SQL Server 2005 utilizza un percorso predefinito diverso rispetto alle versioni precedenti. Pertanto, per ripristinare un database creato nella posizione predefinita di SQL Server 7.0 o di SQL Server 2000 da backup, è necessario utilizzare l'opzione MOVE. Per informazioni sul nuovo percorso predefinito, vedere Posizioni dei file per le istanze predefinite e denominate di SQL Server 2005. Per ulteriori informazioni sullo spostamento dei file di database, vedere "Spostamento dei file di database" di seguito in questo argomento.

Procedura generale per l'utilizzo di operazioni di backup e ripristino per copiare un database

Quando si utilizza un'operazione di backup e ripristino per copiare un database in un'altra istanza di SQL Server, i computer di origine e di destinazione possono utilizzare qualsiasi piattaforma sulla quale viene eseguito SQL Server.

Di seguito sono indicati i passaggi fondamentali:

  1. Eseguire il backup del database di origine, che può risiedere su un'istanza di SQL Server 7.0, SQL Server 2000 oppure SQL Server 2005. Il computer sul quale questa istanza di SQL Server è in esecuzione è il computer di origine.
  2. Sul computer sul quale copiare il database (il computer di destinazione), connettersi all'istanza di SQL Server sulla quale si desidera ripristinare il database. Se necessario, sull'istanza del server di destinazione, creare le stesse periferiche di backup utilizzate dal backup dei database di origine.
  3. Ripristinare il backup del database di origine sul computer di destinazione. Il ripristino del database determina la creazione automatica di tutti i file del database.

Negli argomenti riportati di seguito sono illustrate considerazioni aggiuntive che possono avere effetto su questo processo.

Operazioni preliminari al ripristino dei file di database

Il ripristino di un database determina la creazione automatica dei file necessari al database in fase di ripristino. Per impostazione predefinita, i file creati da SQL Server durante il processo di ripristino utilizzano lo stesso nome e percorso dei file di backup del database originale sul computer di origine. Per evitare errori e conseguenze indesiderate, prima dell'operazione di ripristino individuare i file creati automaticamente dall'operazione, in quanto:

  • È possibile che file con lo stesso nome esistano già nel computer e vengano pertanto generati errori.
  • Lo spazio sulla posizione di destinazione potrebbe non essere sufficiente.
  • È possibile che la struttura di directory o il mapping delle unità non esista nel computer.
    Si supponga, ad esempio, che il backup includa un file necessario per ripristinare l'unità E, ma che nel computer di destinazione tale unità non esista.
  • Se è consentita la sostituzione dei file del database, i database e i file con nomi identici a quelli presenti nel backup vengono sovrascritti, salvo nel caso in cui appartengano a un altro database.
ms190436.Caution(it-it,SQL.90).gifAttenzione:
Se si riutilizza un nome e una posizione di database esistenti e i relativi file vengono sovrascritti, i file con nomi identici a quelli presenti nel backup vengono sovrascritti.

Quando si ripristina il database, se necessario, è possibile specificare il mapping delle unità, i nomi dei file oppure il percorso per il database da ripristinare.

Spostamento dei file del database

Se per i motivi elencati in precedenza non è possibile ripristinare i file di backup del database sul computer di destinazione, sarà necessario spostare i file in una nuova posizione mano a mano che vengono ripristinati, come illustrato di seguito:

  • Si supponga di voler ripristinare un database da backup creati nella posizione predefinita di SQL Server7.0 o SQL Server 2000.

    [!NOTA] Per informazioni sul percorso predefinito in SQL Server 2005, vedere Posizioni dei file per le istanze predefinite e denominate di SQL Server 2005.

  • Per problemi di spazio, potrebbe essere necessario ripristinare alcuni file del database nel backup in un'altra unità disco. Questa eventualità può verificarsi frequentemente, in quanto la maggior parte dei computer di un'organizzazione non ha lo stesso numero o le stesse dimensioni di unità disco o configurazioni software identiche.

  • Può essere necessario creare una copia di un database esistente sullo stesso computer, a scopo di prova. In questo caso i file del database originale esistono già, quindi al momento della creazione della copia del database tramite l'operazione di ripristino sarà necessario specificare nomi di file diversi.

Per ulteriori informazioni, vedere "Per ripristinare file e filegroup in una nuova posizione" di seguito in questo argomento.

Modifica del nome del database

Il nome del database può essere modificato al momento del ripristino nel computer di destinazione. Non è necessario ripristinare il database e quindi modificare il nome manualmente. Ad esempio, può risultare necessario cambiare il nome del database da Sales a SalesCopy per indicare che si tratta di una copia.

Il nome del database specificato esplicitamente al momento del ripristino viene utilizzato automaticamente come nuovo nome del database. Poiché il nome del database non esiste, viene creato un database con il nuovo nome tramite i file presenti nel backup.

Ripristino di dati degli indici full-text

Il backup e il ripristino gestiscono i cataloghi full-text in modo identico ai file del database. Se il database copiato include tabelle definite per l'indicizzazione full-text, nel computer di destinazione la ricostruzione e il ripopolamento dei cataloghi full-text possono essere eseguiti soltanto se è installata la funzione Ricerca full-text. Se Microsoft Full-Text Engine per il servizio SQL Server (MSFTESQL) non è installato, il catalogo full-text sarà non in linea dopo il ripristino.

Può essere utile sapere in anticipo se il percorso (unità e directory) di ogni catalogo full-text di un backup sia esistente sul computer di destinazione. Per un elenco dei nomi logici e fisici (percorso e nome file) di ogni file in un backup, inclusi i file di catalogo, utilizzare un'istruzione RESTORE FILELISTONLY FROM <backup_device>. Per ulteriori informazioni, vedere RESTORE FILELISTONLY (Transact-SQL).

Se lo stesso percorso non esiste sul computer di destinazione, sono disponibili due alternative:

  • Creare il mapping di unità/directory equivalente sul computer di destinazione.
  • Spostare i file di catalogo in una nuova posizione durante l'operazione di ripristino, utilizzando la clausola WITH MOVE nell'istruzione RESTORE DATABASE. Per ulteriori informazioni, vedere RESTORE (Transact-SQL).

Proprietà dei database

Quando un database viene ripristinato in un altro computer, l'account di accesso di SQL Server o l'utente di Microsoft Windows che inizia l'operazione di ripristino diventa automaticamente il proprietario del nuovo database. Al momento del ripristino, l'amministratore di sistema o il nuovo proprietario del database possono modificare il proprietario del database. Per evitare ripristini non autorizzati di un database, impostare password per i supporti o i set di backup. Per ulteriori informazioni, vedere Considerazioni sulla protezione per il backup e il ripristino.

Gestione dei metadati durante il ripristino di un'altra istanza del server

Quando si ripristina un database in un'altra istanza del server per offrire a utenti e applicazioni un sistema più coerente, può essere necessario ricreare alcuni o tutti i metadati del database, ad esempio account di accesso e processi, nell'altra istanza del server. Per ulteriori informazioni, vedere Gestione dei metadati quando si rende disponibile un database in un'altra istanza del server.

Per visualizzare i file di dati e i file di log in un set di backup

Per ripristinare file e filegroup in una nuova posizione

Per ripristinare file e filegroup sovrascrivendo file esistenti

Per ripristinare file e filegroup in una nuova posizione

Per ripristinare un database con un nuovo nome

Per riavviare un'operazione di ripristino interrotta

Per modificare il proprietario di un database

Per copiare un database utilizzando SMO (SQL Server Management Objects)

Vedere anche

Concetti

Copia di database da SQL Server 6.5 o versioni precedenti
Copia di database da SQL Server 6.5 o versioni precedenti
Copia di database in altri server
Utilizzo dei backup del log delle transazioni

Altre risorse

Posizioni dei file per le istanze predefinite e denominate di SQL Server 2005
RESTORE FILELISTONLY (Transact-SQL)
RESTORE (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta della sezione "Gestione dei metadati durante il ripristino di un'altra istanza del server".