Megosztás a következőn keresztül:


Adatbázis frissítése leválasztás és csatolás használatával (Transact-SQL)

A következőkre vonatkozik:SQL Server

Ez a témakör azt ismerteti, hogyan használható leválasztási és csatolási műveletek egy adatbázis frissítésére az SQL Serveren. Az SQL Serverhez való csatolás után az adatbázis azonnal elérhető, és automatikusan frissül. Ez megakadályozza, hogy az adatbázist az adatbázismotor régebbi verziójával használja. A metaadatok frissítése azonban nem befolyásolja az adatbázis kompatibilitási szintjét. További információt adatbázis-kompatibilitási szint frissítés utáni jelen témakör későbbi részében talál.

Ebben a témakörben

Mielőtt hozzákezdene

Korlátozások és korlátozások

  • A rendszeradatbázisok nem csatolhatók.

  • Az adatbázist csatolja vagy leválasztja, és ezzel be- és kikapcsolja az adatbázisközi tulajdonjog-láncolást azáltal, hogy a adatbázisközi tulajdonjog-láncolás opcióját 0-ra állítja. További információ a láncolás engedélyezéséről: lásd a adatbázis-tulajdonjog láncolás kiszolgáló konfigurációs beállítását.

  • Leválasztott helyett másolt replikált adatbázis csatolásakor:

    • Ha ugyanannak a kiszolgálópéldánynak egy frissített verziójához csatolja az adatbázist, a csatolási művelet befejeződése után sp_vupgrade_replication kell végrehajtania a replikáció frissítéséhez. További információ: sp_vupgrade_replication (Transact-SQL).

    • Ha az adatbázist egy másik kiszolgálópéldányhoz csatolja (a verziótól függetlenül), a csatolási művelet befejeződése után végre kell hajtania sp_removedbreplication a replikáció eltávolításához. További információ: sp_removedbreplication (Transact-SQL).

Ajánlások

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 DBCC CHECKDB 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 frissítése leválasztással és csatolással

  1. Válassza le az adatbázist. További információért nézze meg: Adatbázis leválasztása.

  2. Ha szeretné, helyezze át a leválasztott adatbázisfájlt vagy fájlokat, valamint a naplófájlt vagy fájlokat.

    A naplófájlokat az adatfájlokkal együtt akkor is át kell helyeznie, ha új naplófájlokat szeretne létrehozni. Bizonyos esetekben az adatbázis újraaktiválásához szükség van a meglévő naplófájljaira. Ezért mindig tartsa meg az összes leválasztott naplófájlt, amíg az adatbázis nem lett sikeresen csatolva nélkülük.

    Jegyzet

    Ha a naplófájl megadása nélkül próbálja csatolni az adatbázist, a csatolási művelet megkeresi a naplófájlt az eredeti helyén. Ha a napló eredeti példánya még létezik ezen a helyen, a másolat csatolva lesz. Az eredeti naplófájl használatának elkerülése érdekében adja meg az új naplófájl elérési útját, vagy távolítsa el a naplófájl eredeti példányát (miután átmásolta az új helyre).

  3. Csatolja a másolt fájlokat az SQL Server példányához. További információ: Adatbázis csatolása.

Példa

Az alábbi példa egy adatbázis másolatát frissíti az SQL Server egy korábbi verziójáról. A Transact-SQL utasítások végrehajtása egy lekérdezésszerkesztő ablakban történik, amely ahhoz a kiszolgálópéldányhoz csatlakozik, amelyhez csatolva van.

  1. Válassza le az adatbázist a következő Transact-SQL utasítások végrehajtásával:

    USE master;  
    GO  
    EXEC sp_detach_db @dbname = N'MyDatabase';  
    GO  
    
  2. A választott módszerrel másolja az adatokat és a naplófájlokat az új helyre.

    Fontos

    Éles adatbázis esetén lehetőleg helyezze az adatbázist és a tranzakciónaplót külön lemezekre. Ezek eltérő I/O- és fájlnövekedési követelményeket támasztanak, és ajánlott eljárásnak tartják őket elkülöníteni.

    Ha a hálózaton keresztül szeretne fájlokat másolni egy távoli számítógépen lévő lemezre, használja a távoli hely univerzális elnevezési konvenciójának (UNC) nevét. Az UNC-név a \\Servername\Sharename\Path\Filenamealakot ölt. A fájlok helyi merevlemezre való írásához hasonlóan a távoli lemezen lévő fájl olvasásához vagy írásához szükséges engedélyeket meg kell adni az SQL Server példánya által használt felhasználói fióknak.

  3. Csatolja az áthelyezett adatbázist és a naplóját a következő Transact-SQL utasítás végrehajtásával:

    USE master;  
    GO  
    CREATE DATABASE MyDatabase   
        ON (FILENAME = 'C:\MySQLServer\MyDatabase.mdf'),  
        (FILENAME = 'C:\MySQLServer\Database.ldf')  
        FOR ATTACH;  
    GO  
    

    Az SQL Server Management Studióban az újonnan csatolt adatbázis nem látható azonnal az Object Explorerben. Az adatbázis megtekintéséhez az Object Explorerben kattintson a Nézet,, majd Frissítésgombra. Amikor a Adatbázisok csomópont kibontva van az Object Explorerben, az újonnan csatolt adatbázis megjelenik az adatbázisok listájában.

Nyomon követés: SQL Server-adatbázis frissítése után

Ha az adatbázis teljes szöveges indexekkel rendelkezik, a frissítési folyamat importálja, alaphelyzetbe állítja vagy újraépíti őket a upgrade_option kiszolgálótulajdonság beállításától függően. Ha a frissítési beállítás importálásra (upgrade_option = 2) vagy újraépítésre (upgrade_option = 0) van beállítva, a teljes szöveges indexek nem lesznek elérhetők a frissítés során. Az indexelt adatok mennyiségétől függően az importálás több órát is igénybe vehet, az újraépítés pedig akár tízszer hosszabb időt is igénybe vehet. Azt is vegye figyelembe, hogy ha a frissítési beállítás importálásra van állítva, a társított teljes szöveges indexek újraépülnek, ha egy teljes szöveges katalógus nem érhető el. A upgrade_option kiszolgálótulajdonság beállításának módosításához használja a sp_fulltext_service.

Adatbázis kompatibilitási szintje frissítés után

A frissítés után az adatbázis kompatibilitási szintje a frissítés előtti kompatibilitási szinten marad, kivéve, ha az új verzió nem támogatja az előző kompatibilitási szintet. Ebben az esetben a frissített adatbázis kompatibilitási szintje a legalacsonyabb támogatott kompatibilitási szintre van állítva.

Ha például egy 90-es kompatibilitási szintű adatbázist csatol az SQL Server 2019 egy példányához (15.x), a frissítés után a kompatibilitási szint 100-ra van állítva, ami az SQL Server 2019 legalacsonyabb támogatott kompatibilitási szintje (15.x). További információ: ALTER DATABASE kompatibilitási szintje (Transact-SQL).

Metaadatok kezelése a frissített kiszolgálópéldányon

Ha egy adatbázist egy másik kiszolgálópéldányhoz csatol, hogy egységes felhasználói élményt biztosíthasson a felhasználóknak és alkalmazásoknak, előfordulhat, hogy újra létre kell hoznia az adatbázis metaadatainak egy részét vagy egészét, például bejelentkezéseket, feladatokat és engedélyeket a másik kiszolgálópéldányon. További információért lásd: Metaadatok kezelése, amikor egy adatbázist elérhetővé teszünk egy másik kiszolgálópéldányon (SQL Server).

A szolgáltatás főkulcsa és az adatbázis főkulcstitkosítása 3DES-ről AES-re változik

Az SQL Server 2012 (11.x) és újabb verziói az AES titkosítási algoritmussal védik a szolgáltatás főkulcsát (SMK) és az adatbázis főkulcsát (DMK). Az AES egy újabb titkosítási algoritmus, mint a korábbi verziókban használt 3DES. Amikor egy adatbázist először csatolnak vagy visszaállítanak egy új SQL Server-példányra, a rendszer még nem tárolja a kiszolgálón az adatbázis főkulcsának egy példányát (amelyet a szolgáltatás főkulcsa titkosít). Az adatbázis főkulcsának (DMK) visszafejtéséhez a OPEN MASTER KEY utasítást kell használnia. A DMK visszafejtése után a jövőben engedélyezheti az automatikus visszafejtést az ALTER MASTER KEY REGENERATE utasítással a kiszolgáló üzembe helyezéséhez a szolgáltatás főkulcsával (SMK) titkosított DMK másolatával. Ha egy adatbázist frissítettek egy korábbi verzióról, a DMK-t újra létre kell hozni az újabb AES-algoritmus használatához. További információ a DMK újragenerálásáról: ALTER MASTER KEY (Transact-SQL). A DMK-kulcs AES-re való frissítéséhez szükséges idő a DMK által védett objektumok számától függ. A DMK-kulcs újragenerálása az AES-re való frissítéshez csak egyszer szükséges, és nincs hatással a jövőbeli regenerációkra a kulcsforgatási stratégia részeként.