Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Procédure

Waarom zou ik mijn SQL Server-database upgraden naar een eerdere versie?

De versie van SQL Server die momenteel op onze servers wordt gebruikt is versie 2012. Als u uw website lokaal hebt opgestart met een recentere versie, kan het zijn dat u uw database moet migreren naar de 2012-versie om deze te kunnen importeren in uw hostingpakket vanuit uw Plesk-controlepaneel.

In deze documentatie wordt uitgelegd hoe u dat doet.

Procedure voor het migreren van uw SQL Server-database naar een eerdere versie

De foutmelding die u kunt krijgen bij het importeren van een SQL Server-database komt doordat de SQL Server-databasebestanden (*.mdf, *.ndf en *.ldf) en back-ups niet achterwaarts compatibel zijn. Achterwaartse compatibiliteit is de reden waarom we een database die is gemaakt vanaf een hogere versie van SQL Server niet kunnen herstellen of koppelen aan een lagere versie van SQL Server. Er zijn echter een paar opties die ons kunnen helpen bij het downgraden van de database van een hogere versie van SQL Server naar een lagere versie van SQL Server. Deze opties zijn onder andere:

  • Gebruik de Scriptgeneratiewizard in SQL Server Management Studio
  • SQL Server Integratiediensten gebruiken
  • Aangepaste scripts en BCP's maken

In deze tip gebruiken we de Scriptgeneratiewizard in SQL Server Management Studio.

1. Script het databaseschema en de gegevens in de hogere versie van SQL Server met behulp van de Script Generation Wizard in SSMS.
2. Maak verbinding met de lagere versie van SQL Server en voer de SQL-scripts uit die in de vorige stap zijn gegenereerd om het databaseschema en de gegevens te maken.

In dit voorbeeld migreren we de database "BDDLWS".

Stap 1: Script de te migreren database

Script het databaseschema "LWS Trial" op de instantie boven SQL Server 2012 (LWS-HOTLINERSQLEXPRESS) met behulp van de wizard Scripts genereren in SSMS.

Maak in Object Explorer verbinding met uw SQL Server-instantie (LWS-HOTLINER), klik met de rechtermuisknop op uw database (BDDLWS), vouw Taken uit en kies"Scripts genereren...".

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Hiermee wordt de wizard Scripts genereren en publiceren gestart. Klik op Volgende om het introductiescherm over te slaan en naar de pagina Objecten kiezen te gaan.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Kies op de pagina Objecten kiezen de optie "Script de hele database en alle databaseobjecten" en klik vervolgens op Volgende om naar de pagina "Scriptopties definiëren" te gaan.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?


Geef op de pagina Scriptingopties definiëren de locatie op waar u het scriptbestand wilt opslaan en klik vervolgens op de knop Geavanceerd.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

In het dialoogvenster Geavanceerde scriptingopties ,

  • het script voor de serverversie instellen op SQL Server 2008 R2 (of de versie van uw keuze)
  • stel onder Table / View Options Script Triggers, Script Indexes en Script Primary Keys in op True

en stel Gegevenstypen in op Script voor Schema en Gegevens - deze laatste optie is essentieel omdat gegevens per tabel worden gegenereerd.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Als je dit gedaan hebt, klik je op OK om het dialoogvenster Geavanceerde scriptopties te sluiten en terug te keren naar de pagina Scriptopties instellen. Klik op de pagina Scriptopties instellen op Volgende om door te gaan naar de pagina Overzicht.

Nadat u uw selecties op de pagina Samenvatting hebt bekeken, klikt u op Volgende om scripts te genereren.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Nadat de scripts met succes zijn gegenereerd, klikt u op Voltooien om de wizard Scripts genereren en publiceren te sluiten.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Stap 2:
Maak verbinding met de SQL Server 2008 R2-instantie (IITCUK SQLSERVER2008) en voer vervolgens de in stap 1 gegenereerde SQL-scripts uit om het schema en de gegevens van de OUTLANDER-database aan te maken.

Maak in Object Explorer verbinding met IITCUK SQLServer2008 en open vervolgens in SQL Server Management Studio het SQL Server-script dat u in stap 1 hebt opgeslagen.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Bewerk het script om de juiste locatie voor de OUTLANDER databasegegevens en logbestanden op te geven. Zodra u dit hebt gedaan, voert u het script uit om de OUTLANDER-database aan te maken op de SQLServer2008-instantie van het IITCUK.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Na succesvolle uitvoering vernieuwt u de databasemap in de Object Explorer. Zoals u in de volgende afbeelding kunt zien, is de database OUTLANDER met succes gedowngraded.

Opmerkingen


Er zijn een paar punten waar u rekening mee moet houden als u deze aanpak gebruikt.

  • Deze oplossing creëert een groot SQL-bestand met de scripts voor het maken van de databaseobjecten en INSERT-statements voor de tabelgegevens.
  • Voor grote databases kan het SQL-bestand erg groot worden als u zowel het schema als de gegevens schrijft, en het kan moeilijk zijn om in een editor te laden. Bovendien kunt u een foutmelding over het geheugen van de editor krijgen als het bestand te groot is.
  • Voor grote databases, rond 1GB of meer, als deze aanpak niet werkt, overweeg dan om SSIS te gebruiken om de database te migreren of om aangepaste scripts te maken om een script te maken voor de objecten en BCP voor de gegevens in elk van de tabellen. U kunt deze wizard voor het genereren van scripts gebruiken om eenvoudigweg het schema zonder de gegevens te genereren en SSIS of BCP te gebruiken om de gegevens te exporteren en importeren.
  • Deze aanpak werkt van SQL Server 2017 tot SQL Server 2005. Sommige scriptopties kunnen iets anders zijn in recentere versies, maar het proces blijft hetzelfde.
  • Voordat u het script uitvoert, moet u controleren of alles er correct uitziet, zoals het databasepad, de databaseopties, enz.
  • Ook als u een nieuwe functie gebruikt die niet bestaat in de lagere versie, kan SQL Server de objecten niet maken en moet u de gegenereerde scripts controleren en de code dienovereenkomstig aanpassen.
  • Voor een zeer eenvoudige database zou deze aanpak vrij eenvoudig moeten werken, maar voor een complexere database moet u misschien wat tijd besteden aan het maken van enkele wijzigingen in het script.

Hieronder staat een lijst met alle scriptopties. Als je op een item klikt, zie je in het onderste gedeelte van het scherm een korte definitie van de optie.

Hoe migreer ik mijn SQL-serverdatabase naar een eerdere versie?

Volgende stappen

  • Om dit probleem te voorkomen, moet u er altijd voor zorgen dat u een volledige databaseback-up uitvoert voordat u SQL Server en de database upgradet naar een hogere versie van SQL Server. Zorg er ook voor dat u de applicatie test voordat u deze distribueert naar gebruikers.
  • Beschouw deze downgrade-optie als uw laatste optie om een upgrade te annuleren, aangezien de benodigde tijd en opslagruimte zeer aanzienlijk kunnen zijn.
  • Zorg er bij een zeer grote database voor dat je genoeg geheugen hebt om aan de gegevensvereisten te voldoen.
  • Zorg ervoor dat je het aantal rijen en objecten controleert en je applicatie test voordat je hem in productie neemt.

Conclusie:


Je bent nu klaar om je Sql Server database te migreren naar een eerdere versie. Aarzel niet om contact op te nemen met onze technische afdeling via een incidentticket als je vragen hebt.

Beoordeel dit artikel :

3,3/5 | 3 mening

Dit artikel was nuttig voor jou ?

Article utileJa

Article non utileGeen

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Vergelijkbare artikelen

1mn lezen

Hoe maak ik een database in Plesk?

0mn lezen

Hoe maak ik een ODBC-koppeling in Plesk?

0mn lezen

Hoe exporteer ik een database naar Plesk?

0mn lezen

Hoe installeer ik myLittleAdmin op Plesk?


Stel een vraag aan het LWS-team en de gemeenschap