Condividi tramite


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. È anche possibile aggiornare i database da una versione precedente SQL Server a SQL Server 2014. 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'articolo

Prima di iniziare

Limitazioni e restrizioni

  • La Copia guidata database non è disponibile nell'edizione Express.

  • 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 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 file con estensione mdf, ndf e ldf del database e ricollegare quest'ultimo nella nuova posizione. 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. Per il metodo SQL Server Management Object, le sessioni attive sono consentite perché 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 del database aggiornato, aggiornare le statistiche eseguendo sp_updatestats (aggiornamento delle statistiche) sul 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 altre informazioni, vedere Gestire i 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.

Copiare, spostare o aggiornare i database

  1. In SQL Server Management Studio, in Esplora oggetti espandere Database, fare clic con il pulsante destro del mouse su un database, scegliere Attivitàe quindi fare clic su 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
    Consentire a un utente di connettersi tramite un account utente di Microsoft Windows.

    Usa autenticazione di SQL Server
    Consentire a un utente di connettersi specificando un nome utente e una password di autenticazione SQL Server.

    Nome utente
    Immettere il nome utente da utilizzare per la connessione. Questa opzione è disponibile solo se si è scelto di connettersi usando SQL Server Autenticazione .

    Password
    Immettere la password per l'account di accesso. Questa opzione è disponibile solo se è stata selezionata l'autenticazione di SQL Server per la connessione.

    Avanti
    Consente di connettersi al server e di 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
    Consentire a un utente di connettersi tramite un account utente di Microsoft Windows.

    Usa autenticazione di SQL Server
    Consentire a un utente di connettersi specificando un nome utente e una password di autenticazione SQL Server.

    Nome utente
    Immettere il nome utente da utilizzare per la connessione. Questa opzione è disponibile solo se è stata selezionata SQL Server Autenticazione.

    Password
    Immettere la password per l'account di accesso. Questa opzione è disponibile solo se è stata selezionata SQL Server Autenticazione.

    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. Non è necessaria alcuna logica SQL Server per creare oggetti all'interno del database o per creare strutture di archiviazione dei dati. 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.

    Spostamento
    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.

    Status
    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.

    SQL Server Agent - processi
    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
    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. La Copia guidata database crea un pacchetto SSIS per trasferire il database dalla pagina Configura pacchetto , personalizzare il pacchetto, se necessario.

    Posizione pacchetto
    Visualizza il punto in cui verrà scritto il pacchetto SSIS.

    Nome pacchetto
    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 del pacchetto SQL Server Integration Services (SSIS).

    Run immediately
    L'operazione di spostamento o copia viene avviata dopo aver fatto clic su Avanti.

    Pianificare
    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.

    Modifica
    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 del pacchetto SSIS, in Esplora oggetti espandere SQL Server Agent, espandere Proxy, fare clic con il pulsante destro del mouse su Esecuzione pacchetti SSIS e quindi scegliere Nuovo proxy.

    I membri del ruolo predefinito del server sysadmin possono selezionare Account del servizio SQL Server Agentse 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.

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

    Message
    Viene fornito qualsiasi messaggio restituito a ogni passaggio.

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 2014, il database diventa immediatamente disponibile e viene aggiornato automaticamente. Se il database include 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 Importae 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 è 100 o superiore prima dell'aggiornamento, rimane invariato dopo l'aggiornamento. Se il livello di compatibilità era 90 nel database aggiornato, il livello di compatibilità è impostato su 100, ovvero il livello di compatibilità più basso supportato in SQL Server 2014. Per altre informazioni, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL).

Vedere anche

Aggiornare un database tramite scollegamento e collegamento (Transact-SQL)
Creazione di un proxy di SQL Server Agent