SQL Server 2008 – pripojenie a odpojenie databázy

SQL server má možnosť pripojenia a odpojenia databázy (attach/detach). Vďaka tomuto môžeme presúvať alebo kopírovať databázy medzi inštanciami alebo servermi. Taktiež môžeme odobrať databázu z inštancie servera bez toho, aby sme museli vymazať asociované dáta a logy. Pri odpojení databázy (detach) odstráni referencie na túto databázu zo systémovej databázy master, ale pri tom nevymaže samotnú databázu ani logovací súbor. Po tom, ako odpojíme databázu, tak môžeme asociované súbory k databáze presúvať alebo kopírovať do nového umiestnenia a následne znova pripojiť (attach). Pripojenie databázy pridá odkazy na databázu a príslušiace súbory do databázy master na inštancii SQL Servera.

Pred odpojením databázy si treba overiť, že sú splnené nasledovné podmienky:

  • neexistujú žiadne snímky (snapshot) databázy, ktorá bude odpojená
  • databáza nie je zrkadlená (mirrored)
  • databáza nie je replikovaná (replicated)
  • databáza nie je označená príznakom „suspect“ (pokiaľ potrebujeme odpojiť takúto databázu, musíme ju najprv dostať do stavu „EMERGENCY“)

Odpojenie databázy môžeme vykonať dvoma spôsobmi. Pomocou SQL Server Management Studia alebo pomocou uloženej (stored) procedúry sp_detach_db. Pri odpojení cez SQL Server Management Studio budeme postupovať nasledovne:

  1. Spustíme SQL Server Management Studio a v Object Explorer-i sa pripojíme na server, kde je pripojená databáza, ktorú chceme odpojiť. Rozbalíme zložku Databases a nájdeme databázu, ktorú chceme odpojiť.
  2. Klikneme na databázu pravým tlačítkom myši a z menu vyberieme Tasks -> Detach
  3. V okne Detach Database zaškrtneme požadované voľby:
    • Drop Connections – zahodí všetky pripojenia na databázu pred tým, ako vykoná operáciu „drop“
    • Update Statistics – je ekvivalentom nastavenia „skipcheck“ z sp_detach_db na hodnotu TRUE
    • Keep Full Text Catalogs – je ekvivalentom parametra „KeepFulltextIndexFile“ z sp_detach_db. Štandardne sú fulltextové indexy spravované ako časť databázy.

Pripojenie databázy je vcelku priamočiare. Doporučeným spôsobom je použitie SQL príkazu CREATE DATABASE FOR ATTACH. Pre spätnú kompaktibilitu je aj dostupná uložená procedúra sp_attach_db. V ďalšej verzii SQL Servera už ale dostupná nebude, takže jej použitie najmä v skriptoch sa nedoporučuje. Pomocou SQL Server Management Studia pripojíme databázu nasledovne:

  1. Spustíme SQL Server Management Studio a v Object Explorer-i sa pripojíme na server, kam chceme pripojiť databázu.
  2. Klikneme pravým tlačítkom myšky na zložke „Databases“ a z menu vyberieme Attach.
  3. V okne „Attach Databases“ klikneme na tlačítko Add a vyberieme primárny dátový súbor databázy, ktorú chceme pripojiť.
  4. Skontrolujeme, že prípadné sekundárne databázové a logové súbory sú na správnych miestach.
  5. Klikneme na OK a pripojíme databázu.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *