Share via


Utilizzo di Copia guidata database

Tramite Copia guidata database è possibile spostare o copiare con semplicità i database e i relativi oggetti da un server a un altro, senza alcun tempo di inattività del server. È inoltre possibile aggiornare i database da una versione precedente di SQL Server a SQL Server 2012. Mediante questa procedura guidata è possibile effettuare le operazioni seguenti:

  • Selezionare un server di origine e uno di destinazione.

  • Selezionare i database da spostare, copiare o aggiornare.

  • Specificare il percorso di file per il database.

  • Creare account di accesso nel server di destinazione.

  • Copiare ulteriori oggetti di supporto, processi, stored procedure definite dall'utente e messaggi di errore.

  • Pianificare lo spostamento o la copia dei database.

Oltre a copiare i database, è possibile effettuare la stessa operazione con i metadati associati, ad esempio gli account di accesso e gli oggetti del database master necessari per un database copiato.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Prerequisiti

    Consigli

    Sicurezza

  • Utilizzo di Copia guidata database per:

    Copiare, spostare o aggiornare i database

  • Completamento dopo l'aggiornamento:

    Dopo l'aggiornamento di un database di SQL Server

Prima di iniziare

Limitazioni e restrizioni

  • La Copia guidata Database non è disponibile nella Express Edition.

  • Non è possibile utilizzare Copia guidata database per copiare o spostare i database riportati di seguito.

    • Database di sistema

    • Database contrassegnati per la replica.

    • Database contrassegnati come inaccessibili, offline o sospetti, database in modalità di emergenza o in cui sono in corso operazioni di caricamento o recupero.

  • Dopo aver aggiornato un database, non è possibile effettuarne il downgrade a una versione precedente.

  • Se si seleziona l'opzione Sposta, il database di origine verrà automaticamente eliminato dopo lo spostamento del database. Se si seleziona l'opzione Copia, il database di origine non verrà eliminato.

  • Se si utilizza il metodo SMO (SQL Server Management Object) per spostare il catalogo full-text, è necessario ripopolare l'indice dopo lo spostamento.

  • Il metodo di collegamento e scollegamento consente di scollegare il database, spostare o copiare i relativi file con estensione mdf, ndf, ldf e ricollegare il database nel nuovo percorso. Nel caso di questo metodo, non è possibile collegare sessioni attive al database da spostare o copiare, al fine di evitare la perdita o l'inconsistenza dei dati. Se sono presenti sessioni attive, l'operazione di copia o spostamento non verrà eseguita. Nel caso del metodo SMO (SQL Server Management Object), l'utilizzo delle sessioni attive è consentito, poiché il database non viene mai portato offline.

Prerequisiti

Assicurarsi che SQL Server Agent sia stato avviato nel server di destinazione.

Consigli

  • Per garantire prestazioni ottimali di un database aggiornato, aggiornare le statistiche eseguendo sp_updatestats nel database aggiornato.

  • Quando si copia un database in un'altra istanza del server, per garantire un utilizzo coerente a utenti e applicazioni, potrebbe essere necessario ricreare nell'altra istanza del server alcuni o tutti i metadati per il database, ad esempio account di accesso e processi. Per ulteriori informazioni, vedere Gestione dei metadati quando si rende disponibile un database in un'altra istanza del server (SQL Server).

Sicurezza

Autorizzazioni

È necessario essere membri del ruolo predefinito del server sysadmin sia nel server di origine sia in quello di destinazione.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Copiare, spostare o aggiornare i database

  1. In Esplora oggetti di SQL Server Management Studio espandere il nodo Database, fare clic con il pulsante destro del mouse su un database, scegliere Attività, quindi Copia database.

  2. Nella pagina Selezione server di origine specificare il server in cui si trova il database da spostare o copiare e immettere le informazioni relative all'account di accesso. Dopo aver selezionato il metodo di autenticazione e immesso le informazioni per l'accesso, fare clic su Avanti per stabilire la connessione al server di origine. La connessione rimane aperta durante tutta la sessione.

    • Server di origine
      Selezionare il nome del server in cui risiedono i database che si desidera spostare o copiare oppure fare clic sul pulsante Sfoglia (...) per individuare il server desiderato. La versione del server deve essere almeno SQL Server 2005.

    • Usa autenticazione di Windows
      Consente a un utente di connettersi tramite un account utente di Microsoft Windows.

    • Usa autenticazione di SQL Server
      Consente all'utente di specificare una password e un nome utente dell'autenticazione di SQL Server per la connessione.

    • Nome utente
      Immettere il nome utente da utilizzare per la connessione. Questa opzione è disponibile solo se si è scelto di utilizzare l'autenticazione di SQL Server per la connessione.

    • Password
      Consente di immettere la password per l'account di accesso. Questa opzione è disponibile solo se si è scelto di utilizzare l'autenticazione di SQL Server per la connessione.

    • Avanti
      Consente di connettersi al server e convalidare l'utente. Questo processo consente di controllare se l'utente è un membro del ruolo predefinito del server sysadmin nel computer selezionato.

  3. Nella pagina Selezione server di destinazione specificare il server in cui verrà spostato o copiato il database. Se si impostano il server di origine e quello di destinazione sulla stessa istanza del server, verrà effettuata una copia di un database. In questo caso, è necessario rinominare il database in un punto successivo della procedura guidata. È possibile utilizzare il nome del database di origine per il database copiato o spostato solo se non si verificano conflitti di nome nel server di destinazione. Se sono presenti conflitti di nome, è necessario risolverli manualmente nel server di destinazione per potervi utilizzare il nome del database di origine.

    • Server di destinazione
      Selezionare il nome del server in cui verranno copiati o spostati i database oppure fare clic sul pulsante Sfoglia (...) per individuare un server di destinazione.

      [!NOTA]

      È possibile utilizzare una destinazione costituita da un server cluster. Nella Copia guidata database sarà possibile selezionare solo unità condivise in un server di destinazione cluster.

    • Usa autenticazione di Windows
      Consente a un utente di connettersi tramite un account utente di Microsoft Windows.

    • Usa autenticazione di SQL Server
      Consente all'utente di specificare una password e un nome utente dell'autenticazione di SQL Server per la connessione.

    • Nome utente
      Immettere il nome utente da utilizzare per la connessione. Questa opzione è disponibile solo se si è scelto di utilizzare l'autenticazione di SQL Server.

    • Password
      Immettere la password per l'account di accesso. Questa opzione è disponibile solo se si è scelto di utilizzare l'autenticazione di SQL Server.

    • Avanti
      Consente di connettersi al server e di convalidare l'utente. Questo processo consente di controllare se l'utente dispone delle autorizzazioni elencate in precedenza per i computer selezionati.

  4. Nella pagina Selezione metodo di trasferimento selezionare il metodo di trasferimento.

    • Usa metodo di collegamento e scollegamento
      Consente di scollegare il database dal server di origine, copiare i file di database (con estensione mdf, ndf e ldf) nel server di destinazione e collegare il database nel server di destinazione. Questo è in genere il metodo più rapido poiché il lavoro principale è rappresentato dalla lettura del disco di origine e dalla scrittura del disco di destinazione. Per creare oggetti strutture di archiviazione dei dati o oggetti all'interno del database non è necessaria alcuna logica di SQL Server. Se il database contiene molto spazio allocato ma inutilizzato, questo metodo può risultare più lento. Ad esempio, nel caso di un database nuovo e quasi vuoto creato allocando 100 MB, vengono copiati tutti i 100 MB anche se nel database sono effettivamente utilizzati solo 5 MB.

      [!NOTA]

      L'utilizzo di questo metodo rende il database non disponibile per gli utenti durante il trasferimento.

    • In caso di errore, ricollega il database di origine
      Quando un database viene copiato, i rispettivi file originali vengono sempre ricollegati al server di origine. Utilizzare questa casella per ricollegare i file originali al database di origine se non è possibile completare lo spostamento di un database.

    • Usa metodo SMO (SQL Management Objects)
      Questo metodo consente di leggere le definizioni di ogni oggetto di database nel database di origine e di creare ciascun oggetto nel database di destinazione. Consente quindi di trasferire i dati dalle tabelle di origine a quelle di destinazione, ricreando gli indici e i metadati.

      [!NOTA]

      Gli utenti del database possono continuare ad accedere al database durante il trasferimento.

  5. Nella pagina Selezione database selezionare i database che si desidera spostare o copiare dal server di origine a quello di destinazione. Vedere Limitazioni e Restrizioni nella sezione "Prima di Iniziare" di questo argomento.

    • Sposta
      Consente di spostare il database nel server di destinazione.

    • Copia
      Consente di copiare il database nel server di destinazione.

    • Origine
      Consente di visualizzare i database disponibili nel server di origine.

    • Stato
      Se il database può essere spostato, viene visualizzato OK. In caso contrario, viene visualizzato il motivo per cui il database non può essere spostato.

    • Aggiorna
      Consente di aggiornare l'elenco dei database.

    • Avanti
      Consente di avviare il processo di convalida, quindi di visualizzare la schermata successiva.

  6. Nella pagina Configurazione database di destinazione modificare il nome del database, se necessario, e specificare il percorso e i nomi dei file di database. Questa pagina viene visualizzata solo una volta per ogni database spostato o copiato.

  7. Nella pagina Selezione oggetti database selezionare gli oggetti da spostare o copiare. Questa pagina è disponibile solo se l'origine e la destinazione si trovano in server diversi. Per includere un oggetto, fare clic sul relativo nome nella casella Oggetti correlati disponibili, quindi fare clic sul pulsante >> per spostare l'oggetto nella casella Oggetti correlati selezionati. Per escludere un oggetto, fare clic sul relativo nome nella casella Oggetti correlati selezionati, quindi fare clic sul pulsante << per spostare l'oggetto nella casella Oggetti correlati disponibili. Per impostazione predefinita, vengono trasferiti tutti gli oggetti di ogni tipo selezionato, ad eccezione degli account di accesso. Per scegliere singoli oggetti di un tipo, fare clic sul pulsante con i puntini di sospensione accanto al tipo di oggetti nella casella Oggetti correlati selezionati. Verrà aperta una finestra di dialogo in cui è possibile selezionare i singoli oggetti.

    • Account di accesso (tutti gli account di accesso in fase di esecuzione)
      Consente di includere gli account di accesso nell'operazione di spostamento o di copia. L'opzione è selezionata per impostazione predefinita.

    • Stored procedure dal database master
      Consente di includere le stored procedure utente del database master nell'operazione di copia o spostamento.

      [!NOTA]

      Le stored procedure estese e le DLL a loro associate non sono idonee alla copia automatizzata.

    • Processi di SQL Server Agent
      Consente di includere i processi del database msdb nell'operazione di copia o spostamento.

    • Messaggi di errore definiti dall'utente
      Consente di includere i messaggi di errore definiti dall'utente nell'operazione di copia o spostamento.

    • Endpoint
      Consente di includere gli endpoint definiti nel database di origine.

    • Catalogo full-text
      Consente di includere i cataloghi full-text del database di origine.

    • Pacchetto SSIS
      Consente di includere i pacchetti SSIS definiti nel database di origine.

    • Descrizione
      Descrizione dell'oggetto.

  8. Nella pagina Percorso dei file di database di origine specificare una condivisione del file system contenente i file di database del server di origine. Questa operazione è necessaria se le istanze dei server di origine e di destinazione si trovano in computer diversi.

    • Database
      Consente di visualizzare il nome di ogni database da spostare.

    • Percorso cartella
      Consente di specificare il percorso dei file di database di origine nel file system.

      Ad esempio: C:\Programmi\Microsoft SQL Server\MSSQL110.MSSQLSERVER\MSSQL\DATA

    • Condivisione file nel server di origine
      Consente di specificare il percorso dei file del database di origine come percorso di una condivisione file.

      Ad esempio, "\\server_name\C$\Programmi\Microsoft SQL Server\MSSQL110.MSSQLSERVER\MSSQL\Data

  9. Tramite Copia guidata database è possibile creare un pacchetto SSIS per trasferire il database dalla pagina Configurazione pacchetto e, se necessario, personalizzare il pacchetto.

    • Posizione pacchetto
      Consente di visualizzare il punto in cui verrà scritto il pacchetto SSIS.

    • Nome pacchetto
      Consente di immettere un nome per il pacchetto SSIS.

    • Opzioni di registrazione
      Consente di indicare se le informazioni di registrazione devono essere archiviate nel registro eventi di Windows o in un file di testo.

    • Percorso file log degli errori
      Consente di fornire un percorso per il file di log. Questa opzione è disponibile solo se è selezionata l'opzione per la registrazione di file di testo.

  10. Nella pagina Pianificazione pacchetto specificare il momento in cui si desidera venga avviata l'operazione di copia o spostamento. Se non si è un amministratore di sistema, è necessario specificare un account proxy di SQL Server Agent con accesso al sottosistema di esecuzione dei pacchetti Integration Services (SSIS).

    • Esegui immediatamente
      L'operazione di spostamento o copia viene avviata dopo aver fatto clic su Avanti.

    • Pianificazione
      L'operazione di spostamento o copia viene avviata in un secondo momento. Le impostazioni di pianificazione correnti vengono visualizzate nella casella della descrizione. Per modificare la pianificazione fare clic su Cambia pianificazione.

    • Cambia pianificazione
      Consente di aprire la finestra di dialogo Nuova pianificazione processo.

    • Account proxy Integration Services
      Consente di selezionare un account proxy esistente. Per pianificare il trasferimento è necessario che sia disponibile almeno un account proxy per l'utente e che questo sia configurato con l'autorizzazione al sottosistema esecuzione pacchetti di SQL Server Integration Services.

      Per creare un account proxy per l'esecuzione di pacchetti SSIS, in Esplora oggetti espandere SQL Server Agent, espandere Proxy, fare clic con il pulsante destro del mouse su Esecuzione pacchetto SSIS e quindi fare clic su Nuovo proxy.

      I membri del ruolo predefinito del server sysadmin possono selezionare Account del servizio SQL Server Agent se dispongono delle autorizzazioni necessarie.

  11. Nella pagina Completamento procedura guidata rivedere il riepilogo delle opzioni selezionate. È possibile fare clic su Indietro per modificare le opzioni Fare clic su Fine per creare il database. Durante il trasferimento, nella pagina Operazione in corso vengono monitorate le informazioni sullo stato di esecuzione di Copia guidata database.

    • Azione
      Vengono elencate tutte le azioni eseguite.

    • Stato
      Viene indicato se l'azione è stata completata correttamente o meno.

    • Messaggio
      Viene fornito qualsiasi messaggio restituito a ogni passaggio.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Completamento: Dopo l'aggiornamento di un database di SQL Server

Dopo aver utilizzato Copia guidata database per aggiornare un database da una versione precedente di SQL Server a SQL Server 2012, il database viene reso immediatamente disponibile e aggiornato automaticamente. Se nel database sono inclusi indici full-text, questi vengono importati, reimpostati o ricompilati dal processo di aggiornamento, a seconda dell'impostazione della proprietà del server Opzione di aggiornamento full-text. Se l'opzione di aggiornamento è impostata su Importa o Ricompila, gli indici full-text non saranno disponibili durante l'aggiornamento. A seconda della quantità di dati indicizzati, l'importazione può richiedere diverse ore, mentre la ricompilazione può risultare dieci volte più lunga. Si noti inoltre che, quando l'opzione di aggiornamento è impostata su Importa e un catalogo full-text non è disponibile, gli indici full-text associati vengono ricompilati. Per informazioni sulla visualizzazione o sulla modifica dell'impostazione della proprietà Opzione di aggiornamento full-text, vedere Gestione e monitoraggio della ricerca full-text per un'istanza del server.

Se il livello di compatibilità di un database utente era 90 o 100 prima dell'aggiornamento, dopo questa operazione rimane invariato. Se il livello di compatibilità era 80 o un valore inferiore prima dell'aggiornamento, nel database aggiornato questo valore viene impostato su 90, cioè sul livello di compatibilità inferiore supportato in SQL Server 2012. Per ulteriori informazioni, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Vedere anche

Concetti

Aggiornamento di un database utilizzando le operazioni di scollegamento e collegamento (Transact-SQL)

Creazione di un proxy di SQL Server Agent