Kopírování nebo přesouvání databází je jedním z nejčastějších úkolů datových profesionálů, kteří se pravidelně zabývají nasazováním skriptů nebo nových řešení v různých prostředích. S SQL Serverem máme několik způsobů, jak toho můžeme dosáhnout nativně bez použití nástrojů třetích stran.
Nativní řešení v rámci SQL Server
Zde je několik způsobů, jak můžeme tento úkol provést nativně v SQL Server:
- V rámci SQL Serveru běžně provádíme úplné zálohování databáze na zdrojové databázi, zkopírujeme ji na cílový server a poté obnovíme. To by se mohlo ukázat jako náročný úkol pro nováčky nebo pro profesionály, kteří nejsou v roli DBA. Pokud nemáte správné řešení skriptování, můžete narazit na problémy a mít potíže s jejich dosažením při práci s velkými databázemi.
- Další možností je metoda odpojit\připojit. Tato metoda je populárně používaná, ale opět musíte být opatrní při práci s velkými databázemi nebo databázemi, které obsahují řadu dat nebo souborů protokolu. Při použití tohoto přístupu by také zdrojová databáze přešla do režimu offline. Pokud nejste zkušeným správcem databáze, stále můžete mít problémy při práci s velkými databázemi.
Existují další možnosti, které lze použít, jako je použití průvodce kopírováním databáze nebo průvodce import\export dat pro účely import\export dat. Musíte se také ujistit, že přihlášení a oprávnění ze zdrojového serveru jsou správně migrována na cílový server, jinak mohou mít uživatelé aplikace problémy se správným připojením k databázi.
Použití dbForge Studio pro SQL Server ke kopírování nebo přesunutí databází z jedné instance do druhé nebo z jednoho serveru na druhý
Pokud jde o software třetích stran, Devart's dbForge Studio pro SQL Server má v produktu zabudovanou skvělou funkci pro provádění kopírování nebo přesunu databází v několika jednoduchých krocích. Proces zkontrolujeme s ukázkou v tomto článku.
Zkušební verze trvá měsíc a poskytuje vám dostatek času na otestování dalších funkcí obsažených v produktu. Pro toto demo je použita zkušební verze Enterprise 5.5.
Jakmile spustíte dbForge Studio, zobrazí se tato obrazovka pro aktualizaci údajů o připojení k databázi. Díky tomu se budete moci připojit k vaší instanci SQL Server.
Chcete-li provést další připojení k jiným instancím SQL, klikněte na ikonu, která otevře okno pro nové připojení k databázi.
Níže vidíte, že jsem se již připojil k existující instanci SQL.
Po připojení k instancím SQL Serveru můžete zobrazit databáze, které plánujete kopírovat nebo přesouvat mezi instancemi. V této ukázce zkopírujeme databázi test z instance SQL:Boulcott do Boulcott\INST2.
Chcete-li zkopírovat test databáze do INST2, přejděte do Synchronizace databáze na hlavní kartě a klikněte na Kopírovat databázi .
Otevře se okno Kopírovat databázi. Zde můžete zadat podrobnosti o zdrojovém a cílovém serveru. V této ukázce kopírujeme databázi napříč instancemi, které jsou na stejném počítači. Ke kopírování databází na různé servery můžete použít nástroj dbForge. Zadejte podrobnosti o serveru podle obrázku, ujistěte se, že je připojení úspěšné, a klikněte na Další .
Po dokončení se zobrazí seznam dostupných databází na zdrojovém serveru. Vyberte databázi, kterou chcete kopírovat. V našem příkladu je to test databáze. Vyberte možnost Kopírovat zaškrtněte políčko a klikněte na Další . Zde jsem vybral pouze jednu databázi ke zkopírování. Nástroj však není omezen na jednu databázi najednou, protože můžeme vybrat více databází ke kopírování nebo přesunutí současně.
Vyberte možnosti pro umístění cílové databáze
Jak vidíte, umístění dat a souborů protokolu pro cílovou databázi lze změnit na ty, které jste plánovali použít. Hodnoty se generují automaticky, ale lze je snadno upravit. Název cílové databáze lze také změnit.
Klikněte na Další . Zobrazí se okno Nastavení přenosu. Musíte zajistit, aby měl účet SQL Server Agent dostatečná oprávnění k provádění operace kopírování. Pečlivě si přečtěte tuto část, protože může vést k problémům, pokud účet SQL Server Agent nemá požadovaná oprávnění. V mém případě, protože jsou instance na stejném serveru, není vyžadován adresář sdílené složky. Pokud však musíte kopírovat databázi napříč instancemi SQL na různých serverech, je vyžadován adresář sdílené složky s dostatečnými oprávněními pro účet SQL Agent. Po dokončení kontroly klikněte na Další .
Na záložce Kopírovat přihlašovací údaje se můžete rozhodnout pro správnou možnost na základě vašeho požadavku. Ve výchozím nastavení Kopírovat všechna přihlášení používaná vybranými databázemi je povoleno. Proveďte vhodnou volbu ve vašem případě, zkontrolujte a klikněte na Další .
Proveďte proces kopírování pomocí dbForge Studio
Níže uvedený snímek obrazovky ukazuje, kde můžete zahájit proces provádění úlohy kopírování. Máme možnost vybrat si typy zpracování chyb možné během procesu provádění. Ve výchozím nastavení vyzvat uživatele k akci je vybráno. V této ukázce jsem také povolil možnost zapsat zprávu do souboru protokolu což by bylo užitečné při řešení jakýchkoliv chyb. Protokol chyb je poměrně podrobný a podrobně vám poskytne důvod selhání procesu. Po dokončení klikněte na Provést možnost, která spustí proces provádění.
Můžete zobrazit průběh úlohy provádění.
Dokončení procesu kopírování
Po dokončení procesu se zobrazí toto oznámení, které potvrzuje, že proces kopírování byl dokončen.
Kliknutím na Zobrazit soubor protokolu můžete vidět podrobnosti o provádění procesu a stavu dokončených úloh. Další operace kopírování můžete provést kliknutím na tlačítko Kopírovat více možnost.
Zkontrolujte cílovou instanci SQL
Dalším krokem by bylo připojení k vaší cílové instanci SQL a ověření, že je databáze zkopírována. Na cílové instanci SQL je test databáze, která byla úspěšně zkopírována pomocí dbForge Studio pro SQL Server.
Přesun databází ze zdrojové do cílové instance SQL
Dříve jsme byli schopni úspěšně zkopírovat databázi ze zdrojového serveru na cílový server. Tento nástroj a předchozí demo bychom také mohli použít, pokud místo toho potřebujete přesunout databáze.
V okně Vybrat databáze vyberte možnost Přesunout možnost.
Tím by se v podstatě migrovaly databáze ze zdrojového serveru na cílový. Stačí projít výše popsanými kroky. Úmyslně jsem zastavil SQL Server Agent na cílovém serveru a čelil této chybové obrazovce.
Když kliknete na Ne , dostanete se k možnosti zobrazení souborů protokolu.
Tlačítko Zobrazit soubor protokolu… vás přenese do podrobného souboru protokolu, kde lze identifikovat skutečný důvod selhání.
Zde můžete přesně vidět důvod neúspěšné operace. Uvidíte také, že během provádění se na cílovém serveru vytvoří úloha SQL Agent a lze ji zobrazit.
Tato úloha existuje pouze po dobu trvání procesu provádění a po dokončení procesu bude odstraněna. Připojte se k cílové i zdrojové instanci SQL a ověřte, že se databáze skutečně přesunuly. Níže uvedený snímek obrazovky potvrzuje, že databáze 1 a 2 byly úspěšně přesunuty ze zdrojového serveru na cílový.
Zkopírujte databáze ze zdrojové instance SQL do cílové a přepište
Dosud jsme zkopírovali a přesunuli databáze ze zdrojového serveru na cílový. Poté proveďte další krok ke zkopírování a přepsání databází WideWorldImporters.
Tento proces je podobný předchozím krokům pro kopírování nebo přesouvání databází s pouze jedním dalším krokem k výběru přepsání možnost.
Postupujte podle zbývajících kroků podobných tomu, co bylo provedeno dříve, a proces bude úspěšný, jakmile bude dokončen. Abych to shrnul, pomocí Kopírovat databázi v nástroji dbForge Studio můžete provádět následující funkce:
- Zkopírujte databáze ze zdrojového serveru na cílový
- Přesuňte databáze ze zdrojového serveru na cílový
- Zkopírujte a přepište databáze ze zdrojového serveru na cílový
- Přesunout a přepsat databáze ze zdrojového serveru na cílový
Závěr
- V této ukázce jste viděli, jak snadno lze kopírovat databázi z jedné instance SQL do druhé s velmi malým zásahem uživatele pomocí dbForge Studio
- Další výhodou tohoto nástroje je, že více databází lze kopírovat nebo přesouvat mezi různými instancemi najednou.
- K provádění těchto úkolů je potřeba jen velmi málo technických znalostí, protože nástroj je uživatelsky přívětivý a založený na grafickém uživatelském rozhraní
- Tento nástroj může být docela užitečný, zejména pokud rychle zavádíte implementace v různých serverových prostředích a pokud je to časově omezené
Užitečný nástroj:
dbForge Studio pro SQL Server – výkonné IDE pro správu, administraci, vývoj, reportování a analýzu SQL Serveru.