Je cherche à automatiser le rafraichissement d'une base 2014 en la passant dans une instance 2017 Always On
En théorie
- je backupe la base source
Code : Sélectionner tout - Visualiser dans une fenêtre à part backup database ... TO N'...'- je sors la base cible de son availability group
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER AVAILABILITY GROUP [...] REMOVE DATABASE [...]- je supprime la base cible des 2 noeuds du AlwaysOn
Code : Sélectionner tout - Visualiser dans une fenêtre à part DROP DATABASE... /*Noeud 1*/
Code : Sélectionner tout - Visualiser dans une fenêtre à part DROP DATABASE.../*Noeud 2*/- je restaure totalement la base sur le noeud 1 (recovery) : la migration est faite en phase finale de la restauration
Code : Sélectionner tout - Visualiser dans une fenêtre à part RESTORE DATABASE [...] FROM DISK = N'\\...bak' WITH FILE = 1, MOVE N'...' TO N'E:\MSSQL\Log\..._log.ldf', RECOVERY, NOUNLOAD, STATS = 5- je restaure du même backup la base sur le noeud 2 (recovery or norecovery ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part RESTORE DATABASE [...] FROM DISK = N'...' WITH FILE = 2, MOVE N'..._Log' TO N'E:\MSSQL\Log\..._log.ldf', NORECOVERY, NOUNLOAD, STATS = 5- je positionne la base primaire dans l'availability group
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER AVAILABILITY GROUP [***] MODIFY REPLICA ON N'***' WITH (SEEDING_MODE = MANUAL) ALTER AVAILABILITY GROUP [...] ADD DATABASE [...]- je positionne la base repliquée /secondaire) dans l'availability group
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER DATABASE [JCS_AGS] SET HADR AVAILABILITY GROUP = [AG-ESCADA-P04]
Là apparaît mon problème : bien que les 2 bases soient strictement identiques au temps t, impossible d'intégrer la base réplicat
- en mode norecovery :The remote copy of database "JCS_AGS" is not recovered far enough to enable database mirroring or to join it to the availability group. You need to apply missing log records to the remote database by restoring the current log backups from the principal/primary database.
- en mode recovery : Database "JCS_AGS" is not in a recovering state which is required for a mirror database or secondary database. The remote database must be restored using WITH NORECOVERY.
Il me demande clairement un journal de transaction inutile puisque les bases sont absolument similaires... Pourquoi devoir donc passer par un restore tran ? Comment puis-je m'en sortir ?
Partager