sql >> Databáze >  >> RDS >> Sqlserver

Dopad na aplikaci při migraci ze serveru SQL 2005 na 2008

Toto je samozřejmě velmi široká otázka, ale pokusím se poskytnout několik návrhů, jak bych k ní přistoupil:

  1. Prvním cílem je napsat nějaké skripty (uložené procedury), které otestují vaši databázi 2005. Spusťte všechny své stávající sprocs, počítejte záznamy v tabulkách, seznamte indexy atd. Děláte to proto, abyste je mohli spouštět v roce 2005 a poté v roce 2008/2012 po dokončení migrace. Pomůže vám dokázat schéma a data to úspěšně překonala.

  2. Vytvořte zálohu databáze 2005 a obnovte ji v roce 2008/2012. Pokud chcete, můžete to provést souběžně s krokem 1. Jednoduše ji začněte používat. Import je v pořádku? Projde očním testem? Nějaké chyby, které potřebujete vyřešit?

  3. Po kroku 2 pokračujte a vytvořte kopii svého aktuálního kódu .NET 2.0 a nasměrujte ji na novou instanci z kroku 2. Funguje aplikace? Znovu, projde očním testem?

  4. Opakujte s kopií aplikace a novou databází, dokud si nebudete jisti. Pokud máte testovací sadu pro svou kódovou základnu, je zřejmé, že vám pomůže dokázat, že je vše v pořádku, místo abyste používali svou intuici.

Pokud jde o přechod z .NET 2.0 na .NET 4.0/4.5...

  1. Kódová základna by měla být zpětně kompatibilní. Jediný problém, který jsem viděl, je, jestli jiné systémy závisejí na vaší kódové základně. Pokud máte základní knihovnu a chcete ji upgradovat na 4.0 – a jiný systém, který je stále na verzi 2.0, tuto knihovnu potřebuje, pak máte potíže.

  2. S upgradem verze .NET bych určitě počkal až po dokončíte migraci databáze. Pokud se při migraci něco pokazí, chcete vědět, že to není .NET. Pomůže vám to omezit chyby a problémy.

Po mnoha migracích, jako je tato, několik obecných rad:

  1. Klidně vytvářejte nové instance/systémy a testujte, testujte, testujte. Nepokoušejte se pracovat přímo s existujícím kódem v ovládání zdroje nebo pracovat s existujícími nasazeními/servery. Stačí jej zkopírovat a otestovat.

  2. Napište nástroje a skripty, které vám pomohou automatizovat systémové testy. Chcete vědět:"Ano, pokud vím, schéma přišlo úplně stejné."

  3. Nedělejte si iterace příliš dlouhé. Iterujte po malých cestách a pak dokažte, že to fungovalo, a pak pokračujte.

Doufám, že to pomůže.




  1. mysql LEVÉ spojení pro maximální hodnotu pravé tabulky

  2. Jak vybrat maximální řádek pro každou skupinu v SQL

  3. Jak provést příkaz IF v SQL?

  4. MYSQL - připojit nebo vložit hodnotu do sloupce v závislosti na tom, zda je prázdný nebo ne