Migrácia zlyháva skoro vždy na veciach **mimo databázy**: loginy, joby, linked servery, certifikáty, Database Mail, nastavenia servera. Databázu samotnú prenesieš zálohou; zvyšok si musíš spísať. > [!WARNING] > Detach / attach ako hlavnú metódu neodporúčame – databáza je počas kopírovania nedostupná, nemáš záložný bod a pri chybe na ceste prídeš o originál. Backup / restore + log backupy dajú krátky výpadok a cestu späť. ## 1. Inventár na starom serveri (týždeň pred) | Čo | Recept / nástroj | |---|---| | Edícia, build, CU, max memory, MAXDOP, collation | [Identita a konfigurácia inštancie](script.php?id=11&s=identita-a-konfiguracia-instancie) | | Recovery model, compat level, RCSI, page verify, vlastník | [Inventár databáz](script.php?id=12&s=inventar-databaz-recovery-model-compat-level-rcsi) | | Loginy **so SID a hashom hesla**, serverové role | [Kópia loginov (dbatools)](script.php?id=9&s=kopia-loginov-medzi-servermi-dbatools), [Loginy a serverové role](script.php?id=35&s=loginy-a-serverove-role) | | SQL Agent joby, harmonogramy, operátori, vlastníci | [SQL Agent joby – harmonogram](script.php?id=55&s=sql-agent-joby-harmonogram-vlastnik-notifikacie) | | Linked servery a mapovanie loginov | [Linked servery – inventár](script.php?id=56&s=linked-servery-inventar) | | Certifikáty, TDE, zálohy kľúčov | [Certifikáty a TDE](script.php?id=54&s=certifikaty-a-tde-expiracia-a-zalohy-klucov) | | Credentials, proxy, Database Mail profily, trace flagy (`DBCC TRACESTATUS(-1)`) | ručne / dbatools | | Kto sa pripája (aplikácie, connection stringy, DNS alias) | [sp_WhoIsActive](script.php?id=10&s=sp-whoisactive-kto-co-prave-robi-na-serveri), aplikačný tím | ## 2. Príprava nového servera - Rovnaká alebo novšia verzia, **rovnaká serverová collation** (ak sa líši, temp tabuľky a porovnania v kóde sa môžu správať inak). - Konfigurácia (max memory, MAXDOP, cost threshold, tempdb) podľa nového HW – nie slepo skopírovaná. - Loginy so **zachovaným SID** (`Copy-DbaLogin` / `sp_help_revlogin`) – potom nevzniknú orphaned users. - Certifikát TDE s privátnym kľúčom obnovený do master **pred** restore databázy. - Linked servery, credentials, operátori, joby (zatiaľ **vypnuté**). ## 3. Metóda presunu | Metóda | Výpadok | Kedy | |---|---|---| | FULL backup / restore + DIFF / LOG na cutover | minúty | štandard pre väčšinu databáz | | Log shipping | minúty | veľké DB, dlhšie obdobie súbežného behu | | Always On AG (pridať novú repliku, failover) | sekundy | už máte AG alebo potrebujete minimálny výpadok | | `Start-DbaMigration` (dbatools) | podľa metódy | celá inštancia naraz – loginy, joby, linked servery, Database Mail, sp_configure… | `Start-DbaMigration` je súčasť [dbatools](https://dbatools.io/Start-DbaMigration/) (autorka Chrissy LeMaire a komunita, licencia MIT); prenáša databázy (`-BackupRestore -SharedPath` alebo `-UseLastBackup`) aj serverové objekty. Kód berieme vždy z originálu. ## 4. Cutover krok za krokom 1. Pár dní pred: FULL restore na nový server `WITH NORECOVERY`, potom priebežne DIFF / LOG `WITH NORECOVERY`. 2. Oznám okno výpadku, zastav aplikácie a joby na starom serveri. 3. Posledný **tail-log backup** na starom serveri `WITH NORECOVERY` (stará DB ostane v RESTORING – nikto do nej omylom nezapíše). 4. Obnov posledný log na novom serveri a potom `RESTORE DATABASE … WITH RECOVERY`. 5. Prepni connection stringy / DNS alias. 6. Zapni joby, over prvé behy. ## 5. Po migrácii - [Orphaned users](script.php?id=37&s=orphaned-users-pouzivatelia-bez-loginu) – ak sa loginy neprenášali so SID. - Vlastník databázy (`ALTER AUTHORIZATION`), `TRUSTWORTHY` len ak je naozaj nutný – [Bezpečnostný baseline](script.php?id=53&s=bezpecnostny-baseline-instancie). - **Compatibility level** – zvyšuj vedome; najprv nechaj pôvodný, zapni [Query Store](script.php?id=46&s=query-store-konfiguracia-a-stav), zbieraj baseline a až potom zvýš (regresie odhalí [Query Store – regresie](script.php?id=26&s=query-store-regresie-24-h-vs-predoslych-24-h)). - `UPDATE STATISTICS` (pri upgrade verzie odporúčané) a [DBCC CHECKDB](script.php?id=34&s=dbcc-checkdb-sablona-s-dry-run). - `PAGE_VERIFY CHECKSUM`, recovery model, zálohy a údržba bežia na **novom** serveri. - Test aplikácie, monitoring, alerty (9002, 823–825, závažnosť 19–25), dokumentácia. - Starý server nechaj chvíľu vypnutý, ale k dispozícii – cesta späť. ## Zdroje - [Start-DbaMigration (dbatools, MIT)](https://dbatools.io/Start-DbaMigration/) - [Tail-log backups](https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/tail-log-backups-sql-server) - [Transparent data encryption (TDE)](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption)
Migrácia databázy na nový server – checklist
Kontrolný zoznam presunu databázy na nový SQL Server: inventár pred migráciou (loginy so SID, joby, linked servery, certifikáty / TDE, konfigurácia), výber metódy, cutover krok za krokom a kontroly po migrácii.