Megosztás:


Adatbázis leválasztása és csatolása (SQL Server)

A következőkre vonatkozik:SQL Server

Az adatbázis adat- és tranzakciónapló-fájljai leválaszthatók, majd újracsatlakoztathatók az SQL Server ugyanazon vagy más példányára. Az adatbázis leválasztása és csatolása akkor hasznos, ha az adatbázist egy másik SQL Server-példányra szeretné módosítani ugyanazon a számítógépen, vagy át szeretné helyezni az adatbázist.

Permissions

A fájlhozzáférési engedélyek több adatbázisművelet során is be vannak állítva, beleértve az adatbázisok leválasztását vagy csatolását.

Fontos

Javasoljuk, hogy ne csatolja vagy állítsa vissza az adatbázisokat ismeretlen vagy nem megbízható forrásokból. Az ilyen adatbázisok rosszindulatú kódot tartalmazhatnak, amelyek nem szándékos Transact-SQL kódot hajthatnak végre, vagy hibákat okozhatnak a séma vagy a fizikai adatbázis szerkezetének módosításával. Mielőtt ismeretlen vagy nem megbízható forrásból származó adatbázist használna, futtassa a DBCC CHECKDB (Transact-SQL) parancsot az adatbázison egy nem gyártási kiszolgálón, és vizsgálja meg a kódot, például a tárolt eljárásokat vagy más felhasználó által definiált kódot az adatbázisban.

Adatbázis leválasztása

Az adatbázis leválasztása eltávolítja azt az SQL Server-példányból, de érintetlenül hagyja az adatbázist az adatfájlokban és a tranzakciós naplófájlokban. Ezek a fájlok ezután az adatbázis bármely SQL Server-példányhoz csatolhatók, beleértve azt a kiszolgálót is, amelyről az adatbázis leválasztva lett.

Nem lehet leválasztani az adatbázist, ha az alábbiak bármelyike igaz:

  • A rendszer replikálja és közzéteszi az adatbázist. Replikálás esetén az adatbázist közzé nem kell tenni. A leválasztása előtt le kell tiltania a közzétételt a sp_replicationdboption futtatásával.

    Megjegyzés:

    Ha nem tudod használni sp_replicationdboption, akkor eltávolíthatod a replikációt sp_removedbreplication futtatásával.

  • Az adatbázisban létezik egy adatbázis pillanatkép.

    Mielőtt leválasztanád az adatbázist, el kell dobnod az összes pillanatképet. További információért lásd: Adatbázis-pillanatkép elvetése (Transact-SQL).

    Megjegyzés:

    Egy adatbázis-pillanatképet nem lehet leválasztani vagy csatolni.

  • Az adatbázis egy Always On rendelkezésre állási csoport része.

    Az adatbázist nem lehet leválasztani, amíg el nem távolítja a rendelkezésre állási csoportból. További információ: Elsődleges adatbázis eltávolítása egy Always On hozzáférési csoportból.

  • Az adatbázis tükrözése egy adatbázis-tükrözési munkamenetben történik.

    Az adatbázist csak akkor lehet leválasztani, ha a munkamenet le van állítva. További információért lásd: Adatbázis tükrözés eltávolítása (SQL Server).

  • Az adatbázis gyanús. A gyanús adatbázis nem leválasztható; a leválasztása előtt vészhelyzeti üzemmódba kell helyeznie. Az adatbázis vészhelyzeti üzemmódba helyezéséről további információt az ALTER DATABASE (Transact-SQL) című témakörben talál.

  • Az adatbázis egy rendszeradatbázis.

Biztonsági mentés, visszaállítás és leválasztás

Az írásvédett adatbázis leválasztásával elveszik a különbségi mentések alapjai. További információkért lásd: különbözeti mentések (SQL Server).

Válasz a leválasztási hibákra

Az adatbázis leválasztásakor keletkező hibák megakadályozhatják az adatbázis tiszta bezárását és a tranzakciónapló újraépítését. Ha hibaüzenetet kap, hajtsa végre a következő korrekciós műveleteket:

  1. Csatolja újra az adatbázishoz társított összes fájlt, ne csak az elsődleges fájlt.

  2. Oldja meg a hibaüzenetet okozó problémát.

  3. Válassza le ismét az adatbázist.

Adatbázis csatolása

Másolt vagy leválasztott SQL Server-adatbázist csatolhat. Amikor egy teljes szöveges katalógusfájlokat tartalmazó SQL Server 2005-ös (9.x) adatbázist csatol egy SQL Server-kiszolgálópéldányhoz, a katalógusfájlok a korábbi helyükről lesznek csatolva a többi adatbázisfájllal együtt, ugyanúgy, mint az SQL Server 2005 -ben (9.x). További információért lásd: Frissítés Full-Text Keresés.

Adatbázis csatolásakor minden adatfájlnak (.mdf és .ndf fájlnak) elérhetőnek kell lennie. Ha bármely adatfájl elérési útja eltér az adatbázis első létrehozásakor vagy utolsó csatolásakor, meg kell adnia a fájl aktuális elérési útját.

Megjegyzés:

Ha a csatolt elsődleges adatfájl írásvédett, az adatbázismotor feltételezi, hogy az adatbázis írásvédett.

Ha egy titkosított adatbázis először egy SQL Server-példányhoz van csatolva, az adatbázis tulajdonosának meg kell nyitnia az adatbázis főkulcsát (DMK) a következő utasítás végrehajtásával: OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'. Javasoljuk, hogy engedélyezze a DMK automatikus visszafejtését a következő utasítás végrehajtásával: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. További információ: CREATE MASTER KEY (Transact-SQL) és ALTER MASTER KEY (Transact-SQL).

A naplófájlok csatolásának követelménye részben attól függ, hogy az adatbázis írásvédett vagy írás-olvasás, az alábbiak szerint:

  • Olvasási-írási adatbázis esetén általában egy naplófájlt csatolhat egy új helyre. Bizonyos esetekben azonban az adatbázis újraaktiválásához szükség van a meglévő naplófájljaira. Ezért fontos, hogy az összes leválasztott naplófájlt mindig megőrizze, amíg az adatbázis nem lesz sikeresen csatolva nélkülük.

    Ha egy írási-olvasási adatbázis egyetlen naplófájllal rendelkezik, és nem ad meg új helyet a naplófájlnak, a csatolási művelet a fájl régi helyén fog keresni. Ha a régi naplófájl megtalálható, a rendszer attól függetlenül használja, hogy az adatbázist tiszta módon állították-e le. Ha azonban a régi naplófájl nem található, és ha az adatbázist tiszta módon állították le, és nincs aktív naplólánca, a csatolási művelet megpróbál új naplófájlt létrehozni az adatbázishoz.

  • Ha a csatolt elsődleges adatfájl írásvédett, az adatbázismotor feltételezi, hogy az adatbázis írásvédett. Írásvédett adatbázisok esetében a naplófájlnak vagy fájloknak az adatbázis elsődleges fájljában megadott helyen kell rendelkezésre állniuk. Nem hozható létre új naplófájl, mert az SQL Server nem tudja frissíteni az elsődleges fájlban tárolt naplóhelyet.

Metaadatok változásai adatbázis csatolásakor

Amikor egy csak olvasható adatbázist leválasztanak és újracsatlakoztatnak, az aktuális különbségi bázis mentési információi elvesznek. A differenciál bázis az adatbázis összes adatának vagy az adatbázis fájljainak, illetve fájlcsoportjainak egy részhalmazának legutóbbi teljes biztonsági mentése. Az alapszintű biztonsági mentési adatok nélkül az master adatbázis nem lesz aszinkronizálva az írásvédett adatbázissal, így az ezt követően készített különbözeti biztonsági mentések váratlan eredményeket eredményezhetnek. Ezért ha differenciális mentéseket használ egy írásvédett adatbázissal, új differenciális alapot kell létrehoznia egy teljes biztonsági mentéssel az adatbázis újra csatolása után. A különbségi biztonsági mentésekről további információt a Különbségi biztonsági másolatok (SQL Server) című témakörben talál.

Csatoláskor az adatbázis indítása történik. Általában az adatbázis csatolása ugyanabba az állapotba helyezi azt, mint amiben a leválasztáskor vagy másoláskor volt. A csatolási és leválasztási műveletek azonban letiltják az adatbázisok közötti tulajdonjog-láncolást az adatbázishoz. A láncolás engedélyezésével kapcsolatos információt az adatbázis-tulajdonjog láncolása kiszolgáló konfigurációs opcióban talál.

Fontos

Alapértelmezés szerint és a biztonság szempontjából a is_broker_enabled, a is_honor_broker_priority_on és a is_trustworthy_on beállításai ki vannak kapcsolva az adatbázis csatolásakor. A beállítások beállításáról további információt az ALTER DATABASE (Transact-SQL) című témakörben talál. A metaadatokkal kapcsolatos további információkért lásd: Metaadatok kezelése, amikor egy adatbázist elérhetővé tesz egy másik kiszolgálón.

Biztonsági mentés, visszaállítás és csatolás

A teljes vagy részlegesen offline adatbázishoz hasonlóan a helyreállító fájlokat tartalmazó adatbázisok sem csatolhatók. Ha leállítja a visszaállítási sorozatot, csatolhatja az adatbázist. Ezután újraindíthatja a visszaállítási sorozatot.

Adatbázis csatolása egy másik kiszolgálópéldányhoz

Fontos

Az SQL Server újabb verziójával létrehozott adatbázis nem csatolható a korábbi verziókhoz. Ez megakadályozza, hogy az adatbázis fizikailag az adatbázismotor egy régebbi verziójával legyen használatban. Ez azonban a metaadatok állapotára vonatkozik, és nem befolyásolja az adatbázis kompatibilitási szintjét. További információ: ALTER DATABASE (Transact-SQL) kompatibilitási szintje.

Ha konzisztens felhasználói élményt szeretne nyújtani a felhasználóknak és alkalmazásoknak, amikor egy adatbázist egy másik kiszolgálópéldányhoz csatol, előfordulhat, hogy újra létre kell hoznia az adatbázis metaadatainak egy részét vagy egészét a másik kiszolgálópéldányon. A metaadatok közé tartoznak például a bejelentkezések és a feladatok. További információ: Metaadatok kezelése, amikor egy adatbázist elérhetővé tesz egy másik kiszolgálón.

Feladatok Cikk
Adatbázis leválasztása - sp_detach_db (Transact-SQL)
- Adatbázis leválasztása
Adatbázis csatolása - CREATE DATABASE
- Adatbázis csatolása
- sp_attach_db (Transact-SQL)
- sp_attach_single_file_db (Transact-SQL)
Adatbázis frissítése leválasztási és csatolási műveletekkel - Adatbázis frissítése leválasztás és csatolás használatával (Transact-SQL)
Adatbázis áthelyezése leválasztási és csatolási műveletekkel - Adatbázis áthelyezése leválasztással és csatolással (Transact-SQL)
Adatbázis-pillanatkép törlése - Adatbázis-pillanatkép elvetése (Transact-SQL)