| Version 3 (modified by peter, 5 years ago) (diff) |
|---|
TOC(heading=OpenAC3Testserver Onderhoud, Documentatie/Ontwikkelaar/Systeembeheer/OpenAC3Testserver/Onderhoud)? TOC(heading=Systeembeheer, sectionindex, compact, depth=3, allactive, Documentatie/Ontwikkelaar/Systeembeheer/)? TOC(heading=Ontwikkelaar, sectionindex, compact, depth=2, allactive, Documentatie/Ontwikkelaar/)? TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)?
Database onderhoud
De database is een Azure database. Er is een werkende database met testgegevens. Nu en dan moet de database terug gebracht worden naar een vorige staat. Hier voor moet een back-up van de database beschikbaar zijn.
Database back-up
Zo maak je een database back-up: Maak verbinding met de Azure database via host openacdb.database.windows.net. Selecteer de database die veilig gesteld moet worden. Maak ook verbinding met de server waar de kopie heen moet.
Selecteer van de Azure server de database, klik rechts, kies Tasks, Export Data. In de wizard die opent kan de Azure database gekopieerd worden naar een andere gegevensbron. Gebruik hier voor een andere MSSQL database. Doorloop de keuze voor de source door SQL Server authenticatie te kiezen met de Fenac account. Als doel database kan een nieuwe database gemaakt worden.
Het volgende scherm van de wizard geeft de keuze tussen een of meer tabellen kopiëren of een query opgeven. Tabellen opgeven gekozen laten geeft in het volgende scherm een overzicht. Klik het allerbovenste vinkvakje aan naast “Source:” en alle tabellen worden gekozen. Wanneer je naar een bestaande database kopieert, zorg dan dat alle database tabellen geselecteerd zijn (bovenste vinkvakje naast Source) en klik op Edit Mappings. Vink in het nieuwe venster met "Destination schema name 'dbo'" de optie "Drop and recreate new destination tables" aan en klik OK. Mocht je wel een tabel geselecteerd hebben dan geldt die optie slechts voor die tabel. Klik op Next en heb geduld, de wizard reageert mogelijk even niet. Kies dan voor meteen uitvoeren, een SSIS package kan gemaakt worden, zie hier onder. De laatste pagina laat een overzicht zien van wat er gaat gebeuren. Klik Finish. De data wordt overgezet. Als dat klaar is klik je Close.
Database herstel
Aangeraden wordt om op de testserver via Remote Desktop het bacpac bestand in een nieuwe database te laden en dan de database te vervangen (verwijderen van oude en hernoemen van nieuwe database). Je kan ook een bacpac maken van een eigen kopie en dat bestand gebruiken op Azure.
SSIS package
Het maken van een back-up van de database kan geautomatiseerd worden. Een van de manieren is door wel een SSIS package te maken in de wizard hier boven beschreven. Sla het op schijf op, het krijgt de bestandextensie dtsx. Je kan "Do not save sensitive data" kiezen onder het protection level. Let op, dit bestand bevat dan alle nodige informatie om de database te kopiëren (in XML formaat), niet de gegevens zelf. Bewaak je eigen kopie van de data.
Automatiseren
Met het dtsx bestand voor back-up van de database kan met behulp van het programma dtexec.exe een database gekopieerd worden. De opdracht om een SSIS package te gebruiken is dan bijvoorbeeld dtexec /f "databackup.dtsx".
Problemen
Wat niet werkt is het overschrijven van gegevens naar Azure. Helaas moet de database dan eerst leeg gemaakt worden. Een alternatief is het weggooien van de database en een bacpac gebruiken om de database opnieuw mee aan te maken. Op de testserver is testdata.bacpac opgeslagen in Documents. Met Microsoft SQL Server Management Studio kan een bacpac ingeladen worden om een nieuwe database mee te maken (een bestaande overschrijven kan niet). Importeer naar een nieuwe database, gooi de test database weg en hernoem de nieuwe database naar de oude.