Migrazione dei dati da SQL Server 2005 al 2016


9

Sono nuovo nell'amministrazione di SQL Server, tuttavia sono a mio agio con il linguaggio SQL e con la creazione di pacchetti SSIS.

Voglio migrare i dati da SQL Server 2005 al 2016.

La mia domanda è: devo preoccuparmi dei database di sistema e di altri oggetti come indici, procedure memorizzate, vista, sicurezza e autorizzazioni. login o posso semplicemente migrare i dati.

Quale sarebbe la procedura raccomandata in questo caso.


Stai tentando di aggiornare un'istanza di produzione ? cioè hai bisogno degli stessi accessi, indici, processi memorizzati, ecc.? Così com'è, la tua domanda è davvero piuttosto ampia. Fai il tour e leggi il centro assistenza su come porre buone domande. Grazie!
Max Vernon,

Risposte:


7

Max ha dato una risposta decente che voterò una volta finito di scrivere questa vista alternativa.

Non sono un fan del ripristino dei database di sistema quando eseguo una migrazione di aggiornamento e preferisco eseguire migrazioni sul posto degli aggiornamenti, come ho discusso in questa lunga risposta a un'altra domanda.

Fondamentalmente mi piace iniziare "fresco" quando faccio una migrazione. Trovo che giocare con le migrazioni e gli aggiornamenti del database di sistema attraverso il ripristino a volte causi frustrazioni con i ripristini e possa ripercorrere potenziali peccati.

Hai anche chiesto informazioni su indici, stored procedure, viste. Quelle voci a livello di database dovrebbero vivere tutte all'interno di un database utente. Quindi, quando ripristini il database X sul nuovo server, saranno presenti anche tutti gli oggetti del database (tabelle, utenti, viste, processi, funzioni, ecc.).

Ciò che esiste nei database di sistema sono lavori, accessi, avvisi, server collegati, chiavi di crittografia, ecc. Elementi a livello di istanza.

Mi piace rivederli e migrare su ciò di cui ho bisogno usando vari script - ultimamente quelli sono gli script DBATools.Io PowerShell. Mi piace usare il loro script per copiare gli accessi sql in particolare, perché gestisce gli utenti autenticati SQL mantenendo le loro password e identificatori di sicurezza gli stessi in modo che gli utenti del database da quegli accessi funzionino. Hanno anche un intero comando di migrazione di SQL Server che esegue i loro comandi secondari per copiare gli elementi che in genere copierei.

Non credo che Max abbia torto con quella risposta, quindi il voto. Ho appena avuto più successo e più fortuna e mi sento più a mio agio a migrare verso nuovi invece di provare a ripristinare su database di sistema tra le versioni. Direi che onestamente non ricordo l'ultima volta che ho eseguito una migrazione dell'aggiornamento della versione e non l'ho fatto in questo modo invece di ripristinare i database di sistema.


Grazie per la tua risposta. Non voglio eseguire l'aggiornamento dal 2005 al 2016. Voglio migrare un database da un'istanza non più utilizzata su SQL Server 2005 a un'istanza esistente nel 2016. Questa migrazione non è stata ancora approvata, ma voglio essere pronto quando lo fa. Fondamentalmente, ho ottenuto questo progetto perché sono l'unico che ha esperienza SQL per quanto riguarda l'interrogazione e la creazione di pacchetti SSIS. Ero anche preoccupato per problemi di compatibilità. Ancora grazie.
Robert,

Certo, ma quando ti sposti dal 2005 al 2016, stai facendo un aggiornamento. Stai eseguendo un aggiornamento e una migrazione. Perché stai prendendo un database da una versione di SQL a un'altra - questo implica sicuramente l'aggiornamento. È necessario eseguire l'advisor di aggiornamento sul proprio database.
Mike Walsh,

Cosa succede se SQL Server 2005 è ospitato da Windows Server 2003 R2 x86 e SQL Server 2016 si trova su un sistema operativo più recente.
Robert,

@MikeWalsh Sono d'accordo con quasi tutto ciò che hai descritto nella tua risposta. Anche io seguo quasi tutto ciò quando eseguo l'aggiornamento / migrazione SQL
nam

4

Dovresti prendere in considerazione la migrazione dei database di sistema (master, msdb e forse modello), se hai bisogno di accedere ai metadati memorizzati in quei database.

Master memorizza articoli come accessi, certificati di sicurezza, ecc.

msdb contiene dettagli sui backup e memorizza le configurazioni dei processi di SQL Server Agent, tra gli altri dettagli.

Il modello potrebbe essere stato personalizzato da te o dal tuo team per consentire ai database vuoti appena creati di contenere un set di oggetti predefiniti che usi in ogni database.

La migrazione dei database di sistema può essere eseguita abbastanza facilmente; istruzioni dettagliate sono disponibili da MSDN su Backup e ripristino dei database di sistema (SQL Server) .

A seconda delle esigenze, è possibile eseguire BACKUP DATABASEun'operazione sui database utente sull'istanza 2005 e quindi RESTORE DATABASEsull'istanza 2016 per portare l'intero database, inclusi tutti i dati, gli indici e altri oggetti.

Ciò, almeno inizialmente, richiederà la stessa quantità di spazio consumato dal database sull'istanza del 2005. Tuttavia, una volta ripristinato il database, è possibile sfruttare la compressione dei dati per ridurre sostanzialmente l'impronta richiesta.

Vedere Informazioni sull'utilizzo dei backup di SQL Server per i dettagli sull'esecuzione dei backup e Informazioni sugli scenari di ripristino per i dettagli sui ripristini.


2

È al 2012 o 2016? Ciò fa la differenza, IIRC 2012 è un percorso migratorio testato mentre il 2016 no. Pertanto, i problemi noti sono documentati e / o verranno rilevati da Upgrade Advisor per il 2012. Un percorso non testato potrebbe ancora funzionare senza problemi, è semplicemente sconosciuto. Detto questo, consiglio vivamente di andare al 2016. Sospetto che lo sforzo sarà quasi lo stesso.

Vedi Stai effettuando l'aggiornamento da SQL Server 2005? nella documentazione per le opzioni di aggiornamento del 2005 e collegamenti a un processo di aggiornamento molto dettagliato. Il processo di aggiornamento è stato scritto per il 2014 ma è ancora applicabile per il 2016.


1
È il 2016. Mi dispiace per quello
Robert
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.