
Hromadna migracia stoviek db MSSQL
Mam MSSQL, kde je asi 150-200 db v sucasnosti.
Ako ich elegantne previest na iny server? Verzie mam cca posledne, respektive jeden server je asi rok stary a druhy je novy, takze myslim, ze sa tam nejaky drobny rozdiel vo verzii bude.
Staci mi preniest db, userov uz mam.
Moj navrh by bol, ze si spravim skript, ktory mi hromadne detachne vsetky db, nakopirujem ich fyzicky na druhy server a tam ich pripojim?
Tolko teoria, v praxi neviem, ci je toto dobry sposob a ci to budem schopny uskutocnit.
Alebo pouzit nieco v style mass backup a mass restore?
Hladal som nejake nastroje, co by to elegantne zvladlia cuduj sa svete k nicomu som sa zatial nedopatral.
Backup/restore, stejně jako detach/attach fungovat bude. Jen to druhé bude mnohem rychlejší.
Jinak tady máš postup, jak to udělat příkazem, abys to nemusel klikat:
https://learn.microsoft.com/en-us/sql/relational-databases/databases/move-a-database-using-detach-and-attach-transact-sql?view=sql-server-ver16
Když připojuješ starší na novější (včetně backup/restore), tak to nevadí.
No, ale toho sa ja obavam..."detach all" by este asi isiel spravit hromadne, ale pri tom pripajacom skripte, ktory vlastne vytvori db mam ten problem, ze tam treba zadava kopec udajov (napriklad meno a cestu), co pri takom pocte db zaberie kopec casu.
Fakt nie je nic elegantnejsie?
3 parametry (jméno DB + 2 soubory MDF a LDF) jsou "kopec udaju"? Min parametru uz tam ani dat nemuzes
Co ti brani si to vybrat, udelat z toho skript a pak spustit?
Tohle ti vypise vsechny DB vcetne souboru
A ty z toho potrebujes udelat skript:
Takze si spust tohle, zkopiruj sloupec a mas rovnou skript na hromadne pripojeni vsech DB:
Predpokladem je, ze kazda databaze ma jen MDF a LDF soubor, neni rozhozena do vice souboru. Ale to si zkontrolujes prvnim vypisem
Podobne si muzes udelat skript na detach vseho, ten bude jednodussi, protoze ti staci vypis ze sys.master_files